// Deklarasi pin
const int ledPin = 2; // Pin untuk LED
const int buzzerPin = 0; // Pin untuk Buzzer
const int relayPin = 4; // Pin untuk Relay
const int button1Pin = 27; // Pin untuk Push Button 1
const int button2Pin = 14; // Pin untuk Push Button 2
const int button3Pin = 12; // Pin untuk Push Button 3
// Variabel untuk menyimpan status perangkat
int ledState = LOW;
int buzzerState = LOW;
int relayState = LOW;
void setup() {
// Setel pin sebagai output
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
pinMode(relayPin, OUTPUT);
// Setel pin tombol sebagai input dengan pull-up internal
pinMode(button1Pin, INPUT_PULLUP);
pinMode(button2Pin, INPUT_PULLUP);
pinMode(button3Pin, INPUT_PULLUP);
}
void loop() {
// Cek apakah tombol 1 ditekan (logika terbalik karena pull-up)
if (digitalRead(button1Pin) == LOW) {
delay(50); // Debounce sederhana
if (digitalRead(button1Pin) == LOW) {
ledState = !ledState; // Toggle LED
digitalWrite(ledPin, ledState);
while (digitalRead(button1Pin) == LOW); // Tunggu tombol dilepas
}
}
// Cek apakah tombol 2 ditekan
if (digitalRead(button2Pin) == LOW) {
delay(50); // Debounce sederhana
if (digitalRead(button2Pin) == LOW) {
buzzerState = !buzzerState; // Toggle Buzzer
digitalWrite(buzzerPin, buzzerState);
while (digitalRead(button2Pin) == LOW); // Tunggu tombol dilepas
}
}
// Cek apakah tombol 3 ditekan
if (digitalRead(button3Pin) == LOW) {
delay(50); // Debounce sederhana
if (digitalRead(button3Pin) == LOW) {
relayState = !relayState; // Toggle Relay
digitalWrite(relayPin, relayState);
while (digitalRead(button3Pin) == LOW); // Tunggu tombol dilepas
}
}
}