/*
Project Arduino Uno Sensor Pendeteksi Kebocoran Gas
*/
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int gasSensorPin = A0;
int gasThreshold = 1;
int buzzerPin = 7;
int ledMerah = 8;
int ledHijau = 10;
void setup() {
Serial.begin(9600);
pinMode(buzzerPin, OUTPUT);
pinMode(ledMerah, OUTPUT);
pinMode(ledHijau, OUTPUT);
digitalWrite(buzzerPin, LOW);
digitalWrite(ledMerah, LOW);
digitalWrite(ledHijau, LOW);
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("Tugas TIK - ADIB");
lcd.setCursor(3,1);
lcd.print("Gas Bocor");
delay(1000);
lcd.clear();
}
void loop() {
lcd.init();
lcd.backlight();
int gasValue = analogRead(gasSensorPin);
Serial.print("Gas Value: ");
Serial.println(gasValue);
lcd.setCursor(0,0);
lcd.print("Info :");
lcd.setCursor(0,1);
lcd.print("Nilai :");
lcd.setCursor(13,1);
lcd.print("ppm");
if (gasValue <= 200) {
Serial.println("Tidak Terdeteksi Kebocoran Gas");
lcd.setCursor(8,0);
lcd.print("Aman");
lcd.setCursor(8,1);
lcd.print(gasValue);
noTone (buzzerPin);
digitalWrite(ledHijau, HIGH);
digitalWrite(ledMerah, LOW);
} else {
Serial. println("Terdeteksi Kebocoran Gas!");
lcd.setCursor(8,0);
lcd.print("Bocor");
lcd.setCursor(8,1);
lcd.print(gasValue);
tone (buzzerPin, 1000);
digitalWrite(ledMerah, HIGH);
digitalWrite(ledHijau, LOW);
noTone (buzzerPin);
}
delay (100);
}