const int buttonPin = 2; // Pin push button
const int led1Pin = 9; // Pin LED 1
const int led2Pin = 10; // Pin LED 2
const int led3Pin = 11; // Pin LED 3
int buttonState = 0; // Variabel untuk menyimpan status push button sekarang
int lastButtonState = 0; // Variabel untuk menyimpan status push button sebelumnya
void setup() {
pinMode(buttonPin, INPUT); // Set pin push button sebagai input
pinMode(led1Pin, OUTPUT); // Set pin LED 1 sebagai output
pinMode(led2Pin, OUTPUT); // Set pin LED 2 sebagai output
pinMode(led3Pin, OUTPUT); // Set pin LED 3 sebagai output
Serial.begin(9600); // Inisialisasi komunikasi serial
}
void loop() {
buttonState = digitalRead(buttonPin); // Baca nilai push button
// Cek apakah push button ditekan
if (buttonState != lastButtonState) {
// Jika ditekan, toggle status LED dan kirim notifikasi ke Serial Monitor
if (buttonState == HIGH) {
toggleLED(led1Pin, "LED 1");
toggleLED(led2Pin, "LED 2");
toggleLED(led3Pin, "LED 3");
}
delay(50); // Debouncing
}
lastButtonState = buttonState;
}
// Fungsi untuk toggle status LED
void toggleLED(int ledPin, const char* ledName) {
digitalWrite(ledPin, !digitalRead(ledPin));
delay(100); // Tunggu sejenak agar tidak cepat berubah status
Serial.print(ledName);
Serial.println(digitalRead(ledPin) == HIGH ? " Hidup" : " Mati");
}