#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// LCD I2C address 0x27 (ubah jika berbeda)
LiquidCrystal_I2C lcd(0x27, 16, 2);
// Pin deklarasi
const int mq2Pin = 34; // Input analog MQ2
const int ledMerah = 27;
const int ledHijau = 26;
const int buzzer = 25;
void setup() {
Serial.begin(115200);
pinMode(ledMerah, OUTPUT);
pinMode(ledHijau, OUTPUT);
pinMode(buzzer, OUTPUT);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("MQ2 Gas Sensor");
delay(2000);
lcd.clear();
}
void loop() {
int gasValue = analogRead(mq2Pin);
Serial.print("Gas Value: ");
Serial.println(gasValue);
lcd.setCursor(0, 0);
lcd.print("Gas: ");
lcd.print(gasValue);
lcd.print(" ");
// Ambang batas gas (ubah sesuai kebutuhan)
if (gasValue > 600) {
digitalWrite(ledMerah, HIGH);
digitalWrite(ledHijau, LOW);
digitalWrite(buzzer, HIGH);
lcd.setCursor(0, 1);
lcd.print("Bahaya! Gas tinggi");
} else {
digitalWrite(ledMerah, LOW);
digitalWrite(ledHijau, HIGH);
digitalWrite(buzzer, LOW);
lcd.setCursor(0, 1);
lcd.print("Aman ");
}
delay(500);
}