// Deklarasi pin
const int buttonPin = 2; // Pin untuk tombol
const int relay1Pin = 8; // Relay 1 (mengontrol LED 1)
const int relay2Pin = 9; // Relay 2 (mengontrol LED 2)
const int buzzerPin = 10; // Pin untuk buzzer
int buttonState = 0; // Status tombol
int lastButtonState = 0; // Status tombol sebelumnya
int currentState = 0; // 0 = LED 1 menyala, 1 = LED 2 menyala
void setup() {
pinMode(buttonPin, INPUT_PULLUP); // Tombol dengan Pull-Up internal
pinMode(relay1Pin, OUTPUT); // Relay 1 sebagai output
pinMode(relay2Pin, OUTPUT); // Relay 2 sebagai output
pinMode(buzzerPin, OUTPUT); // Buzzer sebagai output
// Inisialisasi awal
digitalWrite(relay1Pin, LOW); // Matikan Relay 1 (LED 1 mati)
digitalWrite(relay2Pin, LOW); // Matikan Relay 2 (LED 2 mati)
}
void loop() {
// Membaca status tombol
buttonState = digitalRead(buttonPin);
// Jika tombol ditekan
if (buttonState == LOW && lastButtonState == HIGH) {
delay(50); // Debounce
currentState = (currentState + 1) % 2; // Berpindah antar status (0 atau 1)
if (currentState == 0) {
// LED 1 menyala, LED 2 mati
digitalWrite(relay1Pin, HIGH); // Aktifkan Relay 1 (LED 1 menyala)
digitalWrite(relay2Pin, LOW); // Matikan Relay 2 (LED 2 mati)
tone(buzzerPin, 1000, 500); // Buzzer frekuensi 1000 Hz selama 500ms
} else {
// LED 2 menyala, LED 1 mati
digitalWrite(relay1Pin, LOW); // Matikan Relay 1 (LED 1 mati)
digitalWrite(relay2Pin, HIGH); // Aktifkan Relay 2 (LED 2 menyala)
tone(buzzerPin, 500, 500); // Buzzer frekuensi 500 Hz selama 500ms
}
}
// Simpan status tombol
lastButtonState = buttonState;
}