const int redLightPin = 9; // Red light pin
const int yellowLightPin = 10; // Yellow light pin
const int greenLightPin = 11; // Green light pin
const int turnSignalPin = 13; // Turn signal pin
void setup() {
// Set pin modes
pinMode(redLightPin, OUTPUT);
pinMode(yellowLightPin, OUTPUT);
pinMode(greenLightPin, OUTPUT);
pinMode(turnSignalPin, OUTPUT);
}
void loop() {
// Red light
digitalWrite(redLightPin, HIGH);
digitalWrite(yellowLightPin, LOW);
digitalWrite(greenLightPin, LOW);
digitalWrite(turnSignalPin, LOW); // Turn signal off
delay(3000); // Red light duration
// Yellow light
digitalWrite(redLightPin, LOW);
digitalWrite(yellowLightPin, HIGH);
digitalWrite(greenLightPin, LOW);
digitalWrite(turnSignalPin, LOW); // Turn signal off
delay(500); // Yellow light duration
// Green light
digitalWrite(redLightPin, LOW);
digitalWrite(yellowLightPin, LOW);
digitalWrite(greenLightPin, HIGH);
digitalWrite(turnSignalPin, HIGH); // Turn signal on
delay(3000); // Green light duration
// Blinking green light and turning signal
for (int i = 0; i < 5; i++) {
digitalWrite(greenLightPin, HIGH);
digitalWrite(turnSignalPin, HIGH); // Turning signal on
delay(500); // On for 500 ms
digitalWrite(greenLightPin, LOW);
digitalWrite(turnSignalPin, LOW); // Turning signal off
delay(500); // Off for 500 ms
}
// After blinking, turn off the green light and turn signal
digitalWrite(greenLightPin, LOW);
digitalWrite(turnSignalPin, LOW); // Turning signal off
// Yellow light again
digitalWrite(redLightPin, LOW);
digitalWrite(yellowLightPin, HIGH);
delay(3000); // Yellow light duration
}