Membuat Alarm Asap dan Gas Kirim SMS Arduino

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 :

Alarm LPG non LCD_bb
Skema Dasar SIM800L 1

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);
 }
}
SHARE

About Unknown

    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment