//nama : BINTANG KESUMA MAHARDIKA
//kelas : XII RPL B
//tanggal : 30 juli 2024
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 4
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
int red = 2;
int yellow = 3;
int green = 4;
int potensio = A0;
//-------------------------setup--------------------------
void setup() {
Serial.begin(115200);
pinMode(potensio, INPUT);
pinMode(red, OUTPUT);
pinMode(yellow, OUTPUT);
pinMode(green, OUTPUT);
lcd.init();
lcd.backlight();
}
//------------------------loop-----------------------------
void loop() {
int potValue = analogRead(potensio); // Membaca nilai potensiometer
// Mencari tahu di range mana nilai potensiometer
if (potValue >= 0 && potValue <= 341) {
digitalWrite(yellow, HIGH); // LED kuning menyala
digitalWrite(red, LOW); // LED merah mati
digitalWrite(green, LOW); // LED hijau mati
lcd.setCursor(0,0);
lcd.print(" Status = KUNING ");
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" Value = ");
lcd.print(potValue);
lcd.print(" ");
} else if (potValue >= 342 && potValue <= 682) {
digitalWrite(yellow, LOW); // LED kuning mati
digitalWrite(red, HIGH); // LED merah menyala
digitalWrite(green, LOW); // LED hijau mati
lcd.setCursor(0,0);
lcd.print(" Status = MERAH ");
lcd.setCursor(0,1);
lcd.print(" Value = ");
lcd.print(potValue);
lcd.print(" ");
} else if (potValue >= 683 && potValue <= 1023) {
digitalWrite(yellow, LOW); // LED kuning mati
digitalWrite(red, LOW); // LED merah mati
digitalWrite(green, HIGH); // LED hijau menyala
lcd.setCursor(0,0);
lcd.print(" Status = HIJAU ");
lcd.setCursor(0,1);
lcd.print(" Value = ");
lcd.print(potValue);
lcd.print(" ");
}
}