const int buttonPin = 2;
const int redLedPin = 8;
const int yellowLedPin = 9;
const int greenLedPin = 10;
int buttonState = 0;
int previousButtonState = 0;
bool trafficLightOn = false;
void setup() {
pinMode(buttonPin, INPUT);
pinMode(redLedPin, OUTPUT);
pinMode(yellowLedPin, OUTPUT);
pinMode(greenLedPin, OUTPUT);
digitalWrite(redLedPin, LOW);
digitalWrite(yellowLedPin, LOW);
digitalWrite(greenLedPin, LOW);
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH && previousButtonState == LOW) {
trafficLightOn = !trafficLightOn;
delay(50);
}
previousButtonState = buttonState;
if (trafficLightOn) {
digitalWrite(redLedPin, HIGH);
delay(30000);
digitalWrite(redLedPin, LOW);
digitalWrite(yellowLedPin, HIGH);
delay(1000);
digitalWrite(yellowLedPin, LOW);
digitalWrite(greenLedPin, HIGH);
delay(30000);
digitalWrite(greenLedPin, LOW);
}
}