// program 05 - pot LED LCD
// ------------------------
// nama : Isya Adelia
// kelas : RPL B
// Tanggal : 30 juli 2024
/*
Buatlah program yang hasilnya :
- LED merah hijau akan menyala jika nilai potensio antara 0-341
- LED kuning akan menyala jka nilai potensio antara 342-682
- LED hijau akan menyala jika nilai potensio antara 683-1023
*/
//Isya adelia
#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 ledMerah = 2;
int ledKuning = 3;
int ledHijau = 4;
int Potensio = A0;
//-------------------- setup ------------------
void setup() {
Serial.begin(115200);
pinMode(Potensio, INPUT);
pinMode(ledMerah, OUTPUT);
pinMode(ledKuning, OUTPUT);
pinMode(ledHijau, OUTPUT);
lcd.init();
lcd.backlight();
}
//------------------- loop --------------------
void loop() {
int potValue = analogRead(Potensio);
if (potValue >= 0 && potValue <= 314) {
digitalWrite(ledMerah, HIGH);
digitalWrite(ledKuning, LOW);
digitalWrite(ledHijau, LOW);
lcd.setCursor(0,0);
lcd.print(" STATUS = Merah");
lcd.setCursor(0,1);
lcd.print(" VALUE = ");
lcd.print(potValue);
lcd.print(" ");
}
else if (potValue >= 324 && potValue <= 682) {
digitalWrite(ledMerah, LOW);
digitalWrite(ledKuning, HIGH);
digitalWrite(ledHijau, LOW);
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 >= 683 && potValue <= 1023) {
digitalWrite(ledMerah, LOW);
digitalWrite(ledKuning, LOW);
digitalWrite(ledHijau, HIGH);
lcd.setCursor(0,0);
lcd.print(" STATUS = Hijau");
lcd.setCursor(0,1);
lcd.print(" VALUE = ");
lcd.print(potValue);
lcd.print(" ");
}
delay(100);
}