#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
// Definisikan pin untuk potensiometer dan LED
const int potPin = A0; // Potensiometer terhubung ke pin A0
const int ledMerahPin = 2; // LED merah terhubung ke pin 2
const int ledKuningPin = 3; // LED kuning terhubung ke pin 3
const int ledHijauPin = 4; // LED hijau terhubung ke pin 4
void setup() {
// Atur pin LED sebagai output
pinMode(ledMerahPin, OUTPUT);
pinMode(ledKuningPin, OUTPUT);
pinMode(ledHijauPin, OUTPUT);
// Inisialisasi komunikasi serial (opsional, untuk debugging)
Serial.begin(9600);
lcd.init();
lcd.backlight();
}
void loop() {
// Baca nilai potensiometer
int potValue = analogRead(potPin);
// Tampilkan nilai potensiometer di serial monitor (opsional)
Serial.println(potValue);
// Tentukan nyala LED berdasarkan nilai potensiometer
if (potValue >= 0 && potValue <= 341) {
digitalWrite(ledMerahPin, HIGH);
digitalWrite(ledKuningPin, LOW);
digitalWrite(ledHijauPin, LOW);
lcd.setCursor(1,0);
lcd.print("Status: ");
lcd.setCursor(1,1);
lcd.print("Merah");
} else if (potValue >= 342 && potValue <= 682) {
digitalWrite(ledMerahPin, LOW);
digitalWrite(ledKuningPin, HIGH);
digitalWrite(ledHijauPin, LOW);
lcd.setCursor(1,0);
lcd.print("Status: ");
lcd.setCursor(1,1);
lcd.print("Kuning");
} else if (potValue >= 683 && potValue <= 1023) {
digitalWrite(ledMerahPin, LOW);
digitalWrite(ledKuningPin, LOW);
digitalWrite(ledHijauPin, HIGH);
lcd.setCursor(1,0);
lcd.print("Status: ");
lcd.setCursor(1,1);
lcd.print("Hijau");
}
// Tunggu sebentar sebelum membaca kembali
delay(100);
}