#include // i2C Conection Library
#include //Memanggil i2C LCD Library
#define ON 0 // Relay ON
#define OFF 1 //Relay OFF
//Sesuaikan address pada inisialisasi dibawah ini dengan address LCD anda..
LiquidCrystal_I2C lcd(0x3F, 16, 2);
const int SensorPin = A0; // Sensor Gas
const int TestPin = A1; // Tombol Test
const int WarningPin = 11; // Lampu Emergency
const int BuzzerPin = 12; // Active Buzzer
const int LedPin = 13; // LED Indicator Sensor
float ppmGas; // Gas dalam 'ppm'->perkiraan
float GasPercent; // Gas dalam 'Percent'
const int GasMax = 50; // Persentase Maximal Gas
void setup() {
pinMode (A1,INPUT_PULLUP); // untuk tombol test
pinMode (11,OUTPUT); digitalWrite (11, OFF); // membuat lampu emergency off
pinMode (12,OUTPUT); // untuk buzzer
pinMode (13,OUTPUT); lcd.begin(); // memulai koneksi i2c dengan LCD
lcd.setCursor (0,0);
lcd.print(F("Silahkan Masukan"));
lcd.setCursor (0,1);
lcd.print(F(" Gas LPG "));
delay (2000);lcd.clear();
}
void loop() {
// untuk membuat program utama dan melakukan pengulangan:
GasPercent = map(analogRead(SensorPin),0,1023,0,100); // untuk mengatur kadar kebocoran gas
ppmGas = map(analogRead(SensorPin),0,1023,0,10000); // kadar gas dalam perkiraan
lcd.setCursor (0,0);
lcd.print ("P.Gas:"); lcd.print (GasPercent,1); // batas max kebocoran gas
lcd.print ("%"); lcd.print ("TABUNG GAS ADA YANG BOCOR"); // lcd akan menampilkan kalimat tersebut jika sudah melewati 50%
lcd.setCursor (0,1);
lcd.print ("C.Gas:"); lcd.print (ppmGas,0);
lcd.print ("ppm"); lcd.print ("TABUNG GAS TIDAK ADA YANG BOCOR"); // lcd akan menampilkan kalimat tersbut jika perkiraan ppm 0%
if( GasPercent>GasMax || digitalRead(TestPin) == LOW ){
digitalWrite(BuzzerPin,HIGH); // jika kadar gas > 50% buzzer aktif
digitalWrite(WarningPin, ON); // dan peringatan akan ON
gasStat = "Hi";
else {
digitalWrite(BuzzerPin,LOW); // jika kadar gas < 50% buzzer OFF
digitalWrite(WarningPin, OFF); // peringatan akan OFF
gasStat = "Lo";
blinkingLed (interval); // jarak led kedap-kedip
delay(100); //delay pada sensor
}
hmm agak rumit ya..
BalasHapus