Elektronika Untuk Masa Depan
Ajifahreza

Kirim SMS Hanya Sekali Arduino

Bismillahirrahmanirrahim, Assalaamu ‘alaikum warahmatullaahi wabarakaatuh, semoga tulisan yang saya bagikan kali ini bermanfaat. Kali ini saya membahas sebuah modul GSM
yang sudah umum banyak dijual dipasaran yaitu sim800L.
Sebuah modul sms yang ukurannya sangat kecil dan cocok untuk percobaan menggunakan output SMS. Saya tidak membahas cara kerja atau system secara detail bagaimana modul sim800l ini, tapi saya membahas bagaimana cara mengirim sms hanya sekali ketika sebuah sensor masih bekerja.
Mungkin kita pernah menemukan sebuah case, jika sensor terus bekerja apakah modul ini terus mengirim sms kepada user? akibatnya adalah boros pulsa yang dikeluarkan. Untuk mencegah hal tersebut tidak terjadi saya bagikan program sederhana. Hanya menggunakan cara kerja n = n + 1 dan program if. Saya akan bagikan secara gratis programnya, bisa copy paste atau edit sesuka hati, mungkin ini salah satu program biasa sederhana tidak menggunakan program boolean yang berisi true or false. Program yang bisa dikatakan tidak efisien karena boros bahasa c. Gak kenapa lah yang penting run hehe.

Saya terapkan ini pada arduino nano yang saya pasang sebuah sensor vibration, atau bahasanya sensor getaran kirim sms menggunakan arduino nano, seperti gambar dibawah ini.



Mungkin Next time saya akan jelasakan seperti apa cara kerja modul diatas "Sensor Getaran Kirim SMS" singkatnya jika ada sebuah getaran (Gempa) modul ini akan kirim sms kepada user. Sebuah getaran yang kita tahu tidak berhenti seketika dia mempunyai waktu dimana membuat sensor tersebut bekerja secara terus menerus yang mengakibatkan arduino membaca inputan bahwa sensor kerja. 

Oleh karena itu jika sensor memberikan inputan secara terus menerus yang mengakibatkan arduino memberi perintah untuk mengirim sms secara terus menerus, untuk mencegah ini kita bisa pakai program dibawah ini. Mungkin untuk library dari sim800l nya sendiri bisa masing masing berbeda, bebas sesuai yang kita punya. Tapi prinsip nya hanya n = n+1 dan program if semuanya berjalan.

Program SMS Sekali Sim800L:

/*
********************************************************
note: the following pins has been used and should not be used for other purposes.
  pin 8   // tx pin
  pin 7   // rx pin
  pin 9   // power key pin
  pin 12  // power status pin
  pin 2   // Sensor Gempa
  pin 11  // Led
*********************************************************
*/
#include <gprs.h>
#include <SoftwareSerial.h>

GPRS gprs;

int a;
int Sensorgempa;
int Buzzer = 12;
int Led = 11;

SoftwareSerial HC(10,11);

void setup() {

 pinMode (Buzzer, OUTPUT);       //Buzzer
  pinMode (Led, OUTPUT);          //Led
  pinMode (Sensorgempa, INPUT);

Serial.begin(9600);
HC.begin(4800);
digitalWrite(Buzzer, HIGH);delay(500);
digitalWrite(Buzzer, LOW);delay(700);
digitalWrite(Buzzer, HIGH);delay(300);
digitalWrite(Buzzer, LOW);delay(100);
  Serial.println("1");

  //SIM800L
  while(!Serial);
  Serial.println("Arduino With SIM800L is Ready");
  gprs.preInit();
  delay(1000);
  Serial.println("2");
  while(0 != gprs.init()) {
      delay(1000);
      Serial.print("Init error\r\n"); //pesan di Serial Monitor jika proses init module GPRS Gagal
  }  
  Serial.println("Init succes..."); //pesan di Serial Monitor jika proses init module GPRS Sukses
  
  //Format Coding Kirim SMS
gprs.sendSMS("085233699532","Vibration Sensor Is Ready");} //define phone number and text

void loop() {

  //Sensor Input
Sensorgempa =  digitalRead(2);

  //Kirim SMS Sensor Bekerja
if (Sensorgempa == LOW){
  a = a + 1;
  delay(1000);
    Serial.print("Sensor : ");Serial.println(a);   
    if (a == 5){ 
      Serial.println("Sensor 1 Kerja");   
      delay(1000);
      gprs.sendSMS("085233xxxxxx","Vibration Sensor Work");
      delay(2000);
      digitalWrite (Led, HIGH);delay(1000);
      digitalWrite (Led, LOW);delay(1000);
      digitalWrite (Led, HIGH);delay(1000);
      digitalWrite (Led, LOW);delay(1000);
      }}
    else{a = 0;}}

Keterangan :
Warna Merah adalah program umum
Warna Biru adalah prinsip kerja program Sekali SMS

Penjelasan Program :
Sensorgempa =  digitalRead(2);
Sensor di pin 2 Arduino

if (Sensorgempa == LOW){
  a = a + 1;
  delay(1000);
    Serial.print("Sensor : ");Serial.println(a);  
Jika Sensor Gempa Kerja 
nilai (a) yang sudah dideklarasikan diatas akan menghitung dirinya sendiri, a bernilai awal 1,2,3,4,5 dan seterusnya sampai sensor berhenti bekerja

if (a == 5){ 
      Serial.println("Sensor 1 Kerja");   
      delay(1000);
      gprs.sendSMS("085233xxxxxx","Vibration Sensor Work");
      delay(2000);
Jika nilai (a) sudah mencapai angka 5 arduino mengirim perintah untuk sendSMS kepada user

gprs.sendSMS("085233xxxxxx","Vibration Sensor Work");
      delay(2000);
Perintah kirim sms kepada user

 }}
    else{a = 0;}}
Ini program yang gak kalah penting, jika sensor getaran tadi berhenti bekerja nilai (a) akan direset kembali ke nilai 0, tujuannya agar dia siap kembali menghitung 1,2,3,4,5 dan seterusnya jika sensor bekerja kembali

note :
if (a == 5){ 
Untuk program ini kita bisa tentukan dinilai berapa arduino mengirim perintah sms,  misalkan if (a == 5){ dia di nilai sudah angka 5 arduino akan kirim perintah sms, jika belum memenuhi nilai 5 arduino tidak akan memberi perintah sms, dan juga jika nilai sudah 6,7,8,9  dst arduino tidak akan memberi perintah sms, karena sudah di program hanya nilai 5 yang memberi perintah sms. Ini juga bisa dirubah ke nilai 1 2 atau 3 sesuai selera masing masing, dan semakin nilai 1 semakin cepat arduino memberi perintah sms.

Cukup sekian artikel sederhana Program Kirim SMS Hanya Sekali Arduino dasar program arduino, jika kita tidak punya sebuah ide untuk menyelesaikan sebuah kasus, kita bisa pakai cara sederhana agar bisa menyelesaikan kasus tersebut. Tak ada rotan akar pun jadi. Mungkin tulisan ini ada salah bisa komentar di kolom komentar saya akan perbaiki. Jika kurang mengerti dengan program diatas bisa komentar juga dibawah ini. Sama sama saling belajar tidak ada yang lebih hebat.
Terima kasih selamat berkarya untuk selanjutnya jangan berhenti menulis meskipun hanya tulisan sederhana

Ajifahreza

About Ajifahreza -

Hanya seorang blogger biasa, ingin menjadi hebat dibidang elektronika pemrograman komputer dan mikrokontroler

Subscribe to this Blog via Email :
Cara Seo Blogger