const int redLedPin = 12;
const int yellowLedPin = 11;
const int greenLedPin = 10;
const int buttonPin = 2;
boolean reverseMode = false;
void setup() {
pinMode(redLedPin, OUTPUT);
pinMode(yellowLedPin, OUTPUT);
pinMode(greenLedPin, OUTPUT);
pinMode(buttonPin, INPUT_PULLUP);
}
void loop() {
if (digitalRead(buttonPin) == LOW) {
reverseMode = !reverseMode;
delay(250);
}
if (!reverseMode) {
digitalWrite(greenLedPin, HIGH);
delay(1000);
digitalWrite(greenLedPin, LOW);
for (int i = 0; i < 5; i++) {
digitalWrite(yellowLedPin, HIGH);
delay(500);
digitalWrite(yellowLedPin, LOW);
delay(500);
}
digitalWrite(redLedPin, HIGH);
delay(1000);
digitalWrite(redLedPin, LOW);
} else {
digitalWrite(redLedPin, HIGH);
delay(1000);
digitalWrite(redLedPin, LOW);
for (int i = 0; i < 5; i++) {
digitalWrite(greenLedPin, HIGH);
delay(500);
digitalWrite(greenLedPin, LOW);
delay(500);
}
digitalWrite(yellowLedPin, HIGH);
delay(1000);
digitalWrite(yellowLedPin, LOW);
}
digitalWrite(redLedPin, LOW);
digitalWrite(yellowLedPin, LOW);
digitalWrite(greenLedPin, LOW);
}