// Mendefinisikan pin untuk LED dan tombol
const int LED1_PIN = 3;
const int LED2_PIN = 4;
const int BUTTON1_PIN = 0;
const int BUTTON2_PIN = 1;
const int BUZZER_PIN = 2;
// Variabel untuk menyimpan status LED dan tombol
bool led1Status = false;
bool led2Status = false;
void setup() {
// Mengatur pin sebagai input atau output
pinMode(LED1_PIN, OUTPUT);
pinMode(LED2_PIN, OUTPUT);
pinMode(BUTTON1_PIN, INPUT_PULLUP);
pinMode(BUTTON2_PIN, INPUT_PULLUP);
pinMode(BUZZER_PIN, OUTPUT);
// Memastikan status awal LED mati
digitalWrite(LED1_PIN, LOW);
digitalWrite(LED2_PIN, LOW);
}
void loop() {
// Mengecek status tombol 1
if (digitalRead(BUTTON1_PIN) == LOW) {
delay(50); // Debouncing
if (digitalRead(BUTTON1_PIN) == LOW) {
toggleLED(LED1_PIN, led1Status);
playBuzzer();
}
}
// Mengecek status tombol 2
if (digitalRead(BUTTON2_PIN) == LOW) {
delay(50); // Debouncing
if (digitalRead(BUTTON2_PIN) == LOW) {
toggleLED(LED2_PIN, led2Status);
playBuzzer();
}
}
}
void toggleLED(int ledPin, bool &ledStatus) {
// Memantulkan status LED
ledStatus = !ledStatus;
// Mengatur keadaan LED sesuai dengan status
digitalWrite(ledPin, ledStatus ? HIGH : LOW);
}
void playBuzzer() {
// Memainkan suara buzzer
tone(BUZZER_PIN, 1000, 100);
delay(100);
noTone(BUZZER_PIN);
}