#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define POT_PIN 33 // Ganti dengan pin yang terhubung ke potensiometer
#define RED_LED_PIN 12
#define GREEN_LED_PIN 13
#define BUZZER_PIN 14
#define RELAY_PIN 15
LiquidCrystal_I2C lcd(0x27,16,2); // Alamat I2C LCD
void setup() {
pinMode(RED_LED_PIN, OUTPUT);
pinMode(GREEN_LED_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
pinMode(RELAY_PIN, OUTPUT);
lcd.init(); // Inisialisasi LCD
lcd.backlight();
lcd.clear();
}
void loop() {
int potValue = analogRead(POT_PIN);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Gas Value: ");
lcd.print(potValue);
if (potValue > 512) { // Ganti dengan nilai ambang batas yang sesuai dengan kebutuhan Anda
lcd.setCursor(0, 1);
lcd.print("Gas detected!");
digitalWrite(RED_LED_PIN, HIGH); // Nyalakan LED Merah
digitalWrite(GREEN_LED_PIN, LOW); // Matikan LED Hijau
digitalWrite(BUZZER_PIN, HIGH); // Bunyikan Buzzer
digitalWrite(RELAY_PIN, HIGH); // Aktifkan Relay
} else {
lcd.setCursor(0, 1);
lcd.print("No gas detected");
digitalWrite(RED_LED_PIN, LOW); // Matikan LED Merah
digitalWrite(GREEN_LED_PIN, HIGH); // Nyalakan LED Hijau
digitalWrite(BUZZER_PIN, LOW); // Matikan Buzzer
digitalWrite(RELAY_PIN, LOW); // Matikan Relay
}
delay(1000); // Delay untuk menghindari pembacaan berulang yang terlalu cepat
}