Terdapat beberapa cara untuk dapat mengontrol hidup dan mati sebuah alat seperti relay atau lampu dalam konteks IoT. Pada artikel sebelumnya kita sudah mengetahui bagaimana cara menggunakan modul ESP32 dan ESP01 untuk mengontrol relay melalui jaringan internet, maka pada artikel kali ini kita akan mencoba mengontrol relay menggunakan modul GSM Sim800l V2 melalui metode perintah sms.
Modul Sim800l V2 merupakan update dari Modul Sim800l (berwarna merah), modul terbaru ini sudah mendukung suplai tegangan 5V sehingga tidak memerlukan buck converter atau DC-DC konverter yaitu modul penurun tegangan DC karena Sim800l versi awal memiliki tegangan kerja 3,7V-4,2V. Dengan versi Sim800l V2 akan lebih memudahkan dalam perakitan komponen namun harganya lebih mahal dibanding versi yang pertama.
Peralatan
- Arduino Uno
- Sim800l V2
- Relay/ LED (jika dibutuhkan)
Wiring
Sim800l V2 | Arduino Uno |
---|---|
VCC | 5V |
Gnd | Gnd |
RX | 8 |
TX | 7 |
Relay IN | 12 |
Kode
Untuk dapat mengontrol menggunakan metode sms maka pada kode Sim800l V2 di bawah ini menggunakan perintah AT Commands. Terdapat banyak sekali perintah AT Commands yang bisa digunakan seperti menerima sms, mengirim sms, dan mengirim data menggunakan GPRS. Pada kasus kali ini akan mengontrol relay pada Pin 12. Kalian bisa mengembangkannya nanti jika ingin mengontrol relay untuk menghidupkan atau mematikan peralatan lain seperti lampu 220 volt.
#include
SoftwareSerial sim (8,7); //RX,TX
int relay=12; // Koneksikan Relay pada Pin 12 Arduino
String pesan;
void setup() {
Serial.begin(9600);
pinMode(led,OUTPUT);
sim.begin(9600);
delay(100);
sim.println("AT");
sim.println("AT+CMGF=1");
sim.println("AT+CNMI=1,2,0,0,0");
}
void loop(){
if (Serial.available()){
sim.write(Serial.read());
}
if(sim.available()>0){
pesan = sim.readStringUntil('\n');
Serial.println(pesan);
if(pesan=="On\r"){
digitalWrite(relay,HIGH);
eksekusi(1);
Serial.println("Relay Hidup");
}
if(pesan=="Off\r"){
digitalWrite(relay,LOW);
eksekusi(0);
Serial.println("Relay Mati");
}
}
}
void eksekusi(bool tipe){
sim.println("AT+CMGF=1");
delay(1000);
sim.println("AT+CMGS=\"+62821xxxxxxxx\"\r");
delay(1000);
if(tipe==1){
sim.println("Relay Hidup");
}else{
sim.println("Relay Mati");
}
delay(100);
sim.println((char)26);
}
Jika program sudah diupload, buka Serial Monitor, jika modul ready maka akan muncul jawaban seperti Gambar di bawah ini.
Indikasi modul Sim800L V2 sudah mendapatkan sinyal yang baik adalah Led indikator merah berkedip 3 detik sekali. Jika masih berkedip cepat artinya modul masih mencari sinyal. Maka pastikan bahwa lokasi Sim800l V2 berada di tempat yang terbuka dan bebas dari hambatan sinyal.
Selanjutnya untuk menghidupkan Relay perintahkan dengan mengirim sms On ke no Sim800L dan untuk mematikan Relay dengan cara mengirim sms Off masing-masing perintah akan dibalas juga oleh Sim800l V2 dengan pesan Relay Hidup atau Relay Mati.
permisi mas made, apakah mas made memiliki fritzing parts untuk sim800l v2?
BalasHapusCoba download di link ini mas.
Hapushttps://drive.google.com/file/d/1m4LYz_81Y8XBVh5-xkyz3NlJcGNzPFRs/view?usp=sharing
mau bertanya mas, kok modul sim800lv2 saya itu tidak nyala ya ldnya, itu penyebabnya apa ya?
BalasHapusmau bertanya mas, ko modul sim800lv2 ssya tidak menyala ya led nya, itu kenapa ya mas?
BalasHapusMaaf mas mau nanya kalau misalnya Sim800l 2v mati hidup mati hidup itu penyebabnya apa ya?? Terima kasih sebelumnya
BalasHapuskalo tutorial cara membuat nya pakai wokwi apa ad di yt mas...kalo ad bisa d kasih tau
BalasHapusmaaf mas made, apakah mas made memiliki fritzing parts untuk 1 Relay module
BalasHapus