Berikut ini komponen dan software yang harus dipersiapkan :
- 1 buah Arduino (bisa UNO, MINI, NANO, MEGA, dll
- 1 buah MQ-5 LPG Gas Sensor
- 1 buah SIM800L Module
- 1 buah sim card GSM yang sudah terisi pulsa (micro SIM)
- 1 buah Module Step Down yang bagus, di sini saya memakai tipe XL4005
- 1 buah Adaptor 12V 2A
- 1 buah Buzzer
- Breadboard/Projectboard jika diperlukan
- Kabel jumper secukupnya
Dan berikut ini adalah skema rangkaiannya :
Keterangan Rangkaian :
Bisa Menggunakan Segala Jenis Arduino (UNO, NANO, MEGA, MINI, dll), karena penomoran pinnya sama. Tinggal cocokkan Saja nomor Pin-Pin nya.
Pin Digital Output (DO) MQ-5 Sensor ===> pin 4 Arduino
Salah satu kaki Buzzer ===> pin 5 Arduino
Kaki Buzzer yang lain ===> pin 5V
Kaki RX SIM800L ===> pin 3 Arduino
Kaki TX SIM800L ===> pin 2 Arduino
Kaki VCC SIM800L ===> Output (+) Step Down dengan tegangan 3,7V – 4 V, Jangan kelebihan … !!!
Kaki GND SIM800L ===> Output (-) Step Down dan GND Arduino
Kaki vcc pada sensor MQ-5 hubungkan ke sumber power positif 5v (bisa dari 5v Arduino)
Kaki gnd/ground pada masing-masing komponen hubungkan ke sumber negatif power (dihubungkan ke pin gnd Arduino)
CATATAN : Gunakan sumber power yang bagus pada SIM800L, contohnya bisa menggunakan adaptor 12V dengan arus 2A (tetap menggunakan step down untuk menurunkan tegangannya). Jika indikator SIM800L berkedip lambat, maka modul sudah bekerja dengan normal.
Jika indikator berkedip cepat terus-menerus, maka ada trouble seperti daya yang kurang atau sinyal yang kurang kuat. Bisa juga sisa pulsa tidak mencukupi atau kartu SIM sudah tidak aktif.
Program Arduinonya=
// pemanggilan library #include <SoftwareSerial.h> // inialisasi pin SIM 800L SoftwareSerial SIM800L(2, 3); // inialisasi pin sensor dan buzzer const int pinLpg = 4; const int pinAlarm = 5; // inialisasi variabel sensor dan kondisi int dataLpg; int kondisi = 0; // *************************** PROGRAM SETTING AWAL **************************** // void setup() { // inialisasi baud rate SIM 800L SIM800L.begin(115200); // inialisasi status I/O pin pinMode(pinLpg, INPUT); pinMode(pinAlarm, OUTPUT); } // ****************************** PROGRAM UTAMA ******************************* // void loop() { // membaca data sensor dataLpg = digitalRead(pinLpg); // jika keluaran sensor logic HIGH if (dataLpg == HIGH) { // alarm mati digitalWrite(pinAlarm, HIGH); // kondisi menjadi = 0 kondisi = 0; } // jika keluaran sensor LOW dan kondisi tidak sama dengan 1 else if (dataLpg == LOW && kondisi != 1) { // alarm menyala digitalWrite(pinAlarm, LOW); delay(1000); // alarm mati digitalWrite(pinAlarm, HIGH); delay(1000); //set format sms ke data ascii (berupa karakter) SIM800L.write("AT+CMGF=1\r\n"); //delay untuk pengiriman data delay(1000); //kirirm ke nomor tujuan //ganti nomor sesuai dengan nomor tujuan sms yang anda inginkan SIM800L.write("AT+CMGS=\"080000000000\"\r\n"); delay(1000); //teks yang dikirimkan pada sms SIM800L.write("Kebocoran Gas LPG Terdeteksi ... !!!"); delay(1000); //mengirim char ctrl+z/esc untuk keluar dari menu sms SIM800L.write((char)26); delay(1000); // kondisi menjadi satu kondisi = 1; } // jika keluaran sensor logic LOW dan kondisi = 1 else if (dataLpg == LOW && kondisi == 1) { // alarm menyala digitalWrite(pinAlarm, LOW); delay(500); // alarm mati digitalWrite(pinAlarm, HIGH); delay(500); } }
0 comments:
Post a Comment