// Deklarasi pin LED dan Buzzer
const int redLedPin = 2; // Pin untuk LED Merah
const int greenLedPin = 3; // Pin untuk LED Hijau
const int buzzerPin = 4; // Pin untuk Buzzer
const int buttonPin = 5; // Pin untuk Tombol
// Variabel untuk menghitung jumlah tekanan tombol
int buttonPressCount = 0;
bool lastButtonState = LOW; // Status tombol sebelumnya
bool currentButtonState = LOW;
void setup() {
// Inisialisasi pin sebagai output atau input
pinMode(redLedPin, OUTPUT);
pinMode(greenLedPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
pinMode(buttonPin, INPUT);
// Pastikan semua LED dan Buzzer dimatikan pada awal
digitalWrite(redLedPin, LOW);
digitalWrite(greenLedPin, LOW);
digitalWrite(buzzerPin, LOW);
}
void loop() {
// Membaca status tombol
currentButtonState = digitalRead(buttonPin);
// Cek jika tombol ditekan (transisi dari LOW ke HIGH)
if (currentButtonState == HIGH && lastButtonState == LOW) {
buttonPressCount++;
delay(200); // Debounce delay
}
// Menyimpan status tombol saat ini
lastButtonState = currentButtonState;
// Menyusun pola LED dan Buzzer berdasarkan jumlah tekanan tombol
switch (buttonPressCount) {
case 1:
// Tekanan 1x
digitalWrite(redLedPin, HIGH);
digitalWrite(greenLedPin, LOW);
digitalWrite(buzzerPin, HIGH);
break;
case 2:
// Tekanan 2x
digitalWrite(redLedPin, LOW);
digitalWrite(greenLedPin, HIGH);
digitalWrite(buzzerPin, HIGH);
break;
case 3:
// Tekanan 3x
digitalWrite(redLedPin, LOW);
digitalWrite(greenLedPin, LOW);
digitalWrite(buzzerPin, LOW);
buttonPressCount = 0; // Reset jumlah tekanan tombol
break;
}
}