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
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
Baru tau bisa gini.. thx infonya gan
beli alatnya dimana? kira kira spek laptop minimum apa?
banyak gan di toko robotik
ketemu juga setelah muter2
, thanks gan
bogus juga artikelnya, kalau membaca keadaan iklim lingkungan dengan motif sms bisa gk gan?
sama sama gan,, mari belajar trus tentang mikrokontroller AVR di anakkendali.com
Makasih Tutornya Broo, Nambah Pengetahuan Banget Nih
bisa gan untuk sms nya, tapi iklim lingkungan nya pake sensor apa aja nih? suhu, gas, ??
sama sama gan 😀 trus kunjungi anakkendali.com
sama sama mas brooo, kunjungi trus anakkendali.com
Super bro artikelnya, boleh dicoba nih….
silahkan gan,, 🙂
udah level suhu gan.. wkwkwk sangat berbobot sekali ..kunjungi carakeep-trying. blogspot. com
WOW! Udah Mastah nih ts nya..
#hapus ini juga gpp.
Komen back 🙂 –
rulyade.web.id
Wah mantep nih bisa dijadikan eksperimen baru buat saya soalnya saya baru bisa bikin radio saja
semangat mas terus berkarya, anak kendali
Baru tahu saya, tks informasi nya Gan..
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
bisa pakai code seperti ini
if (suhu > 30){
while (suhu > 30){}
sendMessega();
}
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
pake program seperti itu malah ga ke kirim sms nya kak
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);
Coba pakai algoritma begini
Int state=0;
If <30 && state=0 {
State = 1
}
Else if >30 && state = 1{
State=0
sendmessage()
}
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?