// Define pin numbers for LEDs and button
int redLED = 11;
int yellowLED = 12;
int greenLED = 13;
int button = 2;
int buttonState = 0;
bool blinking = false;
void setup() {
// Initialize the LED pins as outputs
pinMode(redLED, OUTPUT);
pinMode(yellowLED, OUTPUT);
pinMode(greenLED, OUTPUT);
}
void loop() {
// Read the button state
buttonState = digitalRead(button);
if (buttonState == HIGH) {
blinking = true;
}
if (blinking) {
// Red light for 30 seconds
digitalWrite(redLED, HIGH);
digitalWrite(yellowLED, LOW);
digitalWrite(greenLED, LOW);
delay(30000);
// Yellow light for 1 second
digitalWrite(redLED, LOW);
digitalWrite(yellowLED, HIGH);
digitalWrite(greenLED, LOW);
delay(1000);
// Green light for 30 seconds
digitalWrite(redLED, LOW);
digitalWrite(yellowLED, LOW);
digitalWrite(greenLED, HIGH);
delay(30000);
// Red light for 30 seconds
digitalWrite(redLED, HIGH);
digitalWrite(yellowLED, LOW);
digitalWrite(greenLED, LOW);
delay(30000);
} else {
digitalWrite(redLED, LOW);
digitalWrite(yellowLED, LOW);
digitalWrite(greenLED, LOW);
}
}