Dalam Artikel sebelumnya saya sudah berbagi mengenai Alat Pendeteksi Kebocoran Gas LPG, Pendeteksi Asap, dan Gas Metana Sederhana (Sensor Gas Dengan Menggunakan Arduino Uno dan Sensor Gas MQ2). Kali ini saya akan kembangkan alat tersebut menjadi Alat Pendeteksi Kebocoran Gas dilengkapi dengan Display LCD 16x2. Tujuannya, selain ada bunyi buzzer sebagai peringatan, alat ini dilengkapi juga tampilan visual jika terjadi kebocoran GAS.
Untuk menghemat jumlah output yang digunakan, maka saya menggunakan I2C LCD 16x2 untuk interface dengan Arduino. Sebelum anda membuatnya silahkan downloan Library I2C LCD 16x2 terlebih dahulu. Lalu tambahkan Library tersebut ke Arduino IDE.
Kebutuhan Hardware :
1. Arduino Uno
2. Module I2C LCD 16x2
3. LCD 16x2
4. Buzzer
5. Power Supply
Berikut ini adalah bentuk I2C dan LCD 16x2 :
Untuk Pembelian Komponen bisa BELI DISINI.
Berikut ini adalah Schematicnya :
Untuk Pemasangan Pin Out Arduino Uno dengan I2C LCD, Buzzer, Sensor Gas MQ2, dan LED indikator adalah sebagai berikut :
Setelah semua terkoneksi dengan baik, silahkan Upload Sketch Dibawah ini :
/***************************
Sensor Gas Dengan Display LCD 16x2
Oleh : Workshop Electronics 3 in 1
Website : www.arduinoindonesia.id
Toko Online : www.workshopelectronics3in1.com
Blog : www.edukasielektronika.com
Profil : www.workshopelectronics3in1.co.id
Copyright @2017
****************************/
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27 ,2,1,0,4,5,6,7,3, POSITIVE);
const int sensor_gas = 12;
const int alarm = 11;
const int led_hijau = 10;
const int led_merah = 9;
void setup()
{
lcd.begin (16,2); //LCD untuk ukuran 16x2
pinMode(sensor_gas,INPUT);
pinMode(alarm,OUTPUT);
pinMode(led_hijau,OUTPUT);
pinMode(led_merah,OUTPUT);
}
void loop()
{
int nilai = digitalRead(sensor_gas);
if (nilai == LOW)
{
digitalWrite(alarm,HIGH);
lcd.setCursor(0, 0); //baris pertama
lcd.print("Kondisi Ruangan:");
lcd.setCursor(0, 1); //baris kedua
lcd.print("Gas Bocor ");
digitalWrite(led_hijau,LOW);
digitalWrite(led_merah,HIGH);
}
if (nilai == HIGH)
{
digitalWrite(alarm,LOW);
lcd.setCursor(0, 0); //baris pertama
lcd.print("Kondisi Ruangan:");
lcd.setCursor(0, 1); //baris kedua
lcd.print("Kadar Gas = Nol");
digitalWrite(led_hijau,HIGH);
digitalWrite(led_merah,LOW);
}
}