By | 23/02/2018

Pada kesempatan kali ini saya akan mencoba untuk mengakses modul GSM dimana modul GSM ini akan mengirim SMS ketika ada jarak terdeteksi, jarak yang saya set pada percobaan saya adalah kurang dari 10 cm, dan sensor yang saya gunakan untuk mendeteksi jaraknya yaitu sensor SRF04

Cara Monitoring Jarak dengan SMS ( Sensor Ultrasonik dan GSM Modul )

dimana terdapat sebuah pin ECHO dan TRIGER untuk lebih jelasnya silahkan sobat bisa baca tentang sensor Ultrasonik Cara Mengakses Sensor Ultrasonik Arduino dan untuk mencoba belajar mengirim dan menerima sms dengan modul GSM silahkan baca juga artikel Cara Mengakses Modul GSM menerima dan mengirim SMS Telepon

selanjutnya silahkan lakukan wiring, karena saya menggunakan softwareserial jadi saya gunakan pin 3 sebagai RX arduino dan pin 2 sebagai TX arduino sehingga untuk menghubungkan ke GSM kita lakukan wiring seperti berikut

TX gsm —- pin 3 Arduino
RX gsm —- pin 2 Arduino
VCC gsm —- 5V Arduino
GND gsm —— GND Arduino

selanjutnya jika sudah selesai silahkan upload program berikut ini :

#include <SoftwareSerial.h>

#define triger 7   // pin 7 sebagai triger srf04
#define echo 8  // pin 8 sebagai echo srf04
long durasi,jarak;

SoftwareSerial sms(3,2);  // pin 3 = RX dan pin 2 = TX

String msg;
char call;

void setup()
{
  sms.begin(115200);   // Setting the baud rate of GSM Module  
  Serial.begin(115200);    // Setting the baud rate of Serial Monitor (Arduino)

pinMode(7, OUTPUT);
pinMode(8, INPUT);

  delay(100);
  pinMode(13, OUTPUT);

  sms.print("AT+CMGF=1r");
  delay(100);
  sms.print("AT+CNMI=2,2,0,0,0r");
  delay(100);
}

void loop()
{  

baca_jarak();
if (jarak <=10){
  SendMessage();
}
else {
}
  Serial.print(" jarak :");
Serial.print(jarak);
Serial.println(" Cm ");
 if (sms.available()>0){
msg = sms.readString();
Serial.print(msg);
delay(100);
 }
}
void SendMessage()
{
  sms.println("AT+CMGF=1");    //Sets the GSM Module in Text Mode
  delay(1000);  // Delay of 1000 milli seconds or 1 second
  sms.println("AT+CMGS="08954*****"r"); // Replace x with mobile number
  delay(1000);
  sms.println("Terdeteksi Jarak  ||  www.kendalielektro.com");// The SMS text you want to send
  delay(100);
  sms.println((char)26);// ASCII code of CTRL+Z
   Serial.println((char)26);
  delay(1000);
}

void ReceiveMessage()
{
  sms.println("AT+CNMI=2,2,0,0,0"); // AT Command to recieve a live SMS
  delay(1000);
  if (sms.available()>0)
  {
    msg=sms.read();
    Serial.print(msg);
  }
}

void MakeCall()
{
  sms.println("ATD+60XXXXXXXXX;"); // ATDxxxxxxxxxx; -- watch out here for semicolon at the end!!
  Serial.println("Calling  "); // print response over serial port
  delay(1000);
}


void HangupCall()
{
  sms.println("ATH");
  Serial.println("Hangup Call");
  delay(1000);
}

void ReceiveCall()
{
  sms.println("ATA");
  delay(1000);
  {
    call=sms.read();
    Serial.print(call);
  }
}

void RedialCall()
{
  sms.println("ATDL");
  Serial.println("Redialing");
  delay(1000);
}

void baca_jarak (){
  digitalWrite(triger, LOW);
  delayMicroseconds(2);
  digitalWrite(triger, HIGH);
  delayMicroseconds(10);
  digitalWrite(triger, LOW);
  delayMicroseconds(2);


durasi = pulseIn(echo, HIGH);
jarak = durasi/58.2;
}

Baiklah mungkin cukup sekian Artikel kali ini semoga bermanfaat, jika ada masukan, kritik, saran atau pertenyaan silahkan di kolom komentar !

Keyword

  • monitoring jarak dengan sms
  • sms arduino iot
  • arduino gsm sim900
  • arduino gsm sim800
  • arduino gsm A6
  • Cara mengakses SMS Arduino
  • Cara Mengirim SMS Arduino

25 Replies to “Cara Monitoring Sensor Jarak dengan SMS”

  1. gunawan

    udah level suhu gan.. wkwkwk sangat berbobot sekali ..kunjungi carakeep-trying. blogspot. com

    Reply
  2. Unknown

    kak, saya mau aplikasikan sim800l ini dengan sensor suhu. logika nya apabila suhu >30 maka akan kirim sms, tp kenapa sms yg dikirim ga berhenti2 ya? jd saya mau kalo >30 kirim smsnya hanya sekali, itu gimana ya? makasih sebelumya

    Reply
  3. Adi Pratama

    Permisi mau tanya perulangan untuk sensor jarak ultrasonik, contoh misal jika >5 cm maka akan kirim sms, dan >10cm kirim sms, tapi isi smsnya beda, mohon bantuan nya

    Reply
  4. Anak Kendali

    Kalo pake program diatas agan bisa rubah fungsi subrutin
    SendMessage() nya

    Void sendMessage(string kata){
    Code yang lainya sama bedakan di serial.println("hellol bla bla bla");
    Diganti jadi Serial.println(kata);

    Reply
  5. Anak Kendali

    Coba pakai algoritma begini

    Int state=0;
    If <30 && state=0 {
    State = 1
    }

    Else if >30 && state = 1{
    State=0
    sendmessage()
    }

    Reply
  6. Unknown

    wah, berhasil kak.. terimakasih banyak

    saya mau aplikasikan lg program ini dengan 2 sensor, ditambah dengan sensor pH. Algoritmanya kalo pH <6 = sms dan kalo >9 = sms. saya sudah buat program seperti diatas, tp kenapa program yg suhu tidak kirim sms? apa sim800l hanya bisa diaplikasikan untuk 1 sensor?

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *