#include <Wire.h>
#include <LiquidCrystal_I2C.h>
const int Btnbuzzer = 9;
const int Btnled = 10;
const int SetBtnPin = 13;
const int LedM = 12;
const int Buzzer = 11;
bool ledControl = false; // Variable untuk mengendalikan status LED
bool buzzerControl = false; // Variable untuk mengendalikan status buzzer
LiquidCrystal_I2C lcd(0x27, 16, 2); // Alamat I2C LCD: 0x27, ukuran 16x2
void setup() {
pinMode(Btnled, INPUT);
pinMode(Btnbuzzer, INPUT);
pinMode(SetBtnPin, INPUT);
pinMode(LedM, OUTPUT);
pinMode(Buzzer, OUTPUT);
lcd.init(); // Inisialisasi LCD
lcd.backlight(); // Nyalakan backlight LCD
lcd.setCursor(0, 0);
lcd.print("Kontrol LED "); // Tampilkan pesan awal di LCD
}
void loop() {
int buttonStateLed = digitalRead(Btnled); // Membaca status tombol untuk LED
int buttonStateBuzzer = digitalRead(Btnbuzzer); // Membaca status tombol untuk Buzzer
int buttonStateSet = digitalRead(SetBtnPin); // Membaca status tombol untuk SetBtnPin
if (buttonStateLed == HIGH) { // Jika tombol LED ditekan (HIGH)
digitalWrite(LedM, HIGH);
lcd.setCursor(0, 1);
lcd.print("LED Menyala "); // Menampilkan pesan pada LCD
ledControl = true;
} else { // Jika tombol LED tidak ditekan (LOW)
digitalWrite(LedM, LOW);
lcd.setCursor(0, 1);
lcd.print("LED Mati "); // Menampilkan pesan pada LCD
ledControl = false;
}
if (buttonStateBuzzer == HIGH) { // Jika tombol Buzzer ditekan (HIGH)
digitalWrite(Buzzer, HIGH);
buzzerControl = true;
} else { // Jika tombol Buzzer tidak ditekan (LOW)
digitalWrite(Buzzer, LOW);
buzzerControl = false;
}
// Mengubah teks pada LCD saat tombol SetBtnPin ditekan
if (buttonStateSet == HIGH) {
lcd.clear();
if (ledControl) {
lcd.setCursor(0, 0);
lcd.print("Kontrol Buzzer "); // Ganti pesan pada LCD ke "Kontrol Buzzer"
lcd.setCursor(0, 1);
if (buzzerControl) {
lcd.print("Buzzer ON "); // Menampilkan status buzzer
} else {
lcd.print("Buzzer OFF ");
}
} else {
lcd.setCursor(0, 0);
lcd.print("Kontrol LED "); // Ganti pesan pada LCD ke "Kontrol LED"
lcd.setCursor(0, 1);
if (ledControl) {
lcd.print("LED Menyala "); // Menampilkan status LED
} else {
lcd.print("LED Mati ");
}
}
delay(500); // Delay untuk mencegah bouncing
}
}