#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Inisialisasi LCD I2C dengan alamat 0x27 dan ukuran 16x2
LiquidCrystal_I2C lcd(0x27, 16, 2);
// Pin LED dan Push Button
const int led1 = 8;
const int led2 = 9;
const int button1 = 6;
const int button2 = 7;
// Variabel status tampilan
int lastDisplay = 0; // 0 = default, 1 = button1, 2 = button2
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(button1, INPUT);
pinMode(button2, INPUT);
lcd.init();
lcd.backlight();
// Tampilkan default saat awal
lcd.setCursor(0, 0);
lcd.print("NIM : 223611044");
lcd.setCursor(0, 1);
lcd.print("NAMA : Johsua");
}
void loop() {
bool btn1 = digitalRead(button1);
bool btn2 = digitalRead(button2);
if (btn1 == HIGH && lastDisplay != 1) {
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("PUSH BUTTON 1");
lcd.setCursor(0, 1);
lcd.print("LED 1 NYALA");
lastDisplay = 1;
}
else if (btn2 == HIGH && lastDisplay != 2) {
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("PUSH BUTTON 2");
lcd.setCursor(0, 1);
lcd.print("LED 2 NYALA");
lastDisplay = 2;
}
else if (btn1 == LOW && btn2 == LOW && lastDisplay != 0) {
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("NIM : 223611044");
lcd.setCursor(0, 1);
lcd.print("NAMA : Johsua");
lastDisplay = 0;
}
delay(100); // sedikit delay untuk debounce
}