// Project 05 - Pot LED LCD
//-------------------
// Nama:Damar Permadi Aditya
// Kelas:XII PPLG B
// Tanggal:30 july 2024
#include <LiquidCrystal_I2C.h> // Include the LCD library
// Deklarasi PIN
int ledMerah = 2;
int ledKuning = 3;
int ledHijau = 4;
int Potensio = A0;
// Alamat I2C untuk LCD biasanya 0x27 atau 0x3F; sesuaikan dengan modul LCD Anda
#define I2C_ADDR 0x27 // Ganti dengan alamat I2C modul LCD Anda jika berbeda
#define LCD_COLUMNS 16 // Jumlah kolom LCD, sesuaikan dengan ukuran LCD Anda
#define LCD_LINES 2 // Jumlah baris LCD, sesuaikan dengan ukuran LCD Anda
// Inisialisasi LCD dengan alamat I2C dan ukuran LCD
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
void setup() {
// Inisialisasi serial communication
Serial.begin(115200);
// Set PIN sebagai INPUT atau OUTPUT
pinMode(Potensio, INPUT);
pinMode(ledMerah, OUTPUT);
pinMode(ledKuning, OUTPUT);
pinMode(ledHijau, OUTPUT);
// Inisialisasi LCD
lcd.begin(LCD_COLUMNS, LCD_LINES); // Inisialisasi LCD
lcd.backlight(); // Nyalakan lampu latar LCD (jika tersedia)
}
void loop() {
// Baca nilai dari potensiometer
int value = analogRead(Potensio);
// Tampilkan nilai ke serial monitor
Serial.println(value);
// Tampilkan nilai ke LCD
lcd.clear(); // Bersihkan layar LCD
lcd.setCursor(0, 0); // Set posisi cursor pada baris pertama
lcd.print("Value: ");
lcd.print(value); // Tampilkan nilai potensiometer
// Atur LED berdasarkan nilai potensiometer
if (value >= 0 && value <= 341) {
digitalWrite(ledMerah, HIGH);
digitalWrite(ledKuning, LOW);
digitalWrite(ledHijau, LOW);
lcd.setCursor(0, 1); // Set posisi cursor pada baris kedua
lcd.print("Status: Merah");
}
else if (value >= 342 && value <= 682) {
digitalWrite(ledMerah, LOW);
digitalWrite(ledKuning, HIGH);
digitalWrite(ledHijau, LOW);
lcd.setCursor(0, 1); // Set posisi cursor pada baris kedua
lcd.print("Status: Kuning");
}
else if (value >= 683 && value <= 1023) {
digitalWrite(ledMerah, LOW);
digitalWrite(ledKuning, LOW);
digitalWrite(ledHijau, HIGH);
lcd.setCursor(0, 1); // Set posisi cursor pada baris kedua
lcd.print("Status: Hijau");
}
// Atur delay
delay(200);
}