#define GREEN_LED 1
#define YELLOW_LED 2
#define RED_LED 3
#define BUTTON 5
void setup() {
pinMode(GREEN_LED, OUTPUT);
pinMode(YELLOW_LED, OUTPUT);
pinMode(RED_LED, OUTPUT);
pinMode(BUTTON, INPUT_PULLUP);
}
void loop() {
state1();
state2();
state3();
}
void state1(){
digitalWrite(RED_LED, LOW);
digitalWrite(YELLOW_LED, LOW);
digitalWrite(GREEN_LED, HIGH);
delay(1000);
}
void state2(){
digitalWrite(GREEN_LED, LOW);
digitalWrite(YELLOW_LED, HIGH);
if(digitalRead(BUTTON) == LOW){
while(digitalRead(BUTTON) == LOW){
digitalWrite(YELLOW_LED, !digitalRead(YELLOW_LED));
delay(500);
}
}
delay(500);
}
void state3(){
digitalWrite(YELLOW_LED, LOW);
digitalWrite(RED_LED, HIGH);
delay(1000);
}