#define buttonRed 1
#define buttonGreen 2
#define buzzer 3
#define led_red 13
#define led_yellow 12
#define led_green 11
#define led_blue 10
void setup() {
pinMode(buzzer, OUTPUT);
pinMode(led_red, OUTPUT);
pinMode(led_yellow, OUTPUT);
pinMode(led_green, OUTPUT);
pinMode(led_blue, OUTPUT);
digitalWrite(led_red, LOW);
digitalWrite(led_yellow, LOW);
digitalWrite(led_green, LOW);
digitalWrite(led_blue, LOW);
}
void loop() {
noTone(buzzer);
resetLEDs();
int buttonStateRed = digitalRead(buttonRed);
int buttonStateGreen = digitalRead(buttonGreen);
if (buttonStateRed == HIGH) {
handleButtonRed();
} else if (buttonStateGreen == HIGH) {
handleButtonGreen();
} else {
handleDefault();
}
}
void handleButtonRed() {
tone(buzzer, 500);
delay(500);
noTone(buzzer);
blinkLED(led_red, 500);
blinkLED(led_yellow, 500);
blinkLED(led_green, 500);
blinkLED(led_blue, 500);
resetLEDs();
delay(500);
allLEDsOn();
delay(500);
}
void handleButtonGreen() {
tone(buzzer, 1000);
delay(500);
noTone(buzzer);
blinkLED(led_red, 500);
blinkLED(led_yellow, 500);
blinkLED(led_green, 500);
blinkLED(led_blue, 500);
resetLEDs();
delay(500);
allLEDsOn();
delay(500);
}
void handleDefault() {
tone(buzzer, 750);
resetLEDs();
delay(200);
}
void blinkLED(int pin, int duration) {
digitalWrite(pin, HIGH);
delay(duration);
digitalWrite(pin, LOW);
}
void resetLEDs() {
digitalWrite(led_red, LOW);
digitalWrite(led_yellow, LOW);
digitalWrite(led_green, LOW);
digitalWrite(led_blue, LOW);
}
void allLEDsOn() {
digitalWrite(led_red, HIGH);
digitalWrite(led_yellow, HIGH);
digitalWrite(led_green, HIGH);
digitalWrite(led_blue, HIGH);
}