void setup() {
// Set pin modes for North lights
pinMode(13, OUTPUT); // Red
pinMode(12, OUTPUT); // Yellow
pinMode(11, OUTPUT); // Green
// Set pin modes for South lights
pinMode(7, OUTPUT); // Red
pinMode(6, OUTPUT); // Yellow
pinMode(5, OUTPUT); // Green
// Set pin modes for East lights
pinMode(4, OUTPUT); // Red
pinMode(3, OUTPUT); // Yellow
pinMode(2, OUTPUT); // Green
// Set pin modes for West lights
pinMode(10, OUTPUT); // Red
pinMode(9, OUTPUT); // Yellow
pinMode(8, OUTPUT); // Green
}
void loop() {
// Traffic light sequence for North-South direction (Green on North, Red on South)
digitalWrite(11, HIGH); // North Green
digitalWrite(13, LOW); // North Red
digitalWrite(12, LOW); // North Yellow
digitalWrite(5, LOW); // South Green
digitalWrite(7, HIGH); // South Red
digitalWrite(6, LOW); // South Yellow
delay(5000); // Green light duration for 5 seconds
// North Yellow, prepare to stop
digitalWrite(11, LOW); // North Green off
digitalWrite(12, HIGH); // North Yellow on
delay(2000); // Yellow light duration for 2 seconds
// North Red, South Green
digitalWrite(12, LOW); // North Yellow off
digitalWrite(13, HIGH); // North Red on
digitalWrite(5, HIGH); // South Green on
digitalWrite(7, LOW); // South Red off
delay(5000); // Green light duration for 5 seconds
// South Yellow, prepare to stop
digitalWrite(5, LOW); // South Green off
digitalWrite(6, HIGH); // South Yellow on
delay(2000); // Yellow light duration for 2 seconds
// Traffic light sequence for East-West direction (Green on East, Red on West)
digitalWrite(2, HIGH); // East Green
digitalWrite(4, LOW); // East Red
digitalWrite(3, LOW); // East Yellow
digitalWrite(8, LOW); // West Green
digitalWrite(10, HIGH); // West Red
digitalWrite(9, LOW); // West Yellow
delay(5000); // Green light duration for 5 seconds
// East Yellow, prepare to stop
digitalWrite(2, LOW); // East Green off
digitalWrite(3, HIGH); // East Yellow on
delay(2000); // Yellow light duration for 2 seconds
// East Red, West Green
digitalWrite(3, LOW); // East Yellow off
digitalWrite(4, HIGH); // East Red on
digitalWrite(8, HIGH); // West Green on
digitalWrite(10, LOW); // West Red off
delay(5000); // Green light duration for 5 seconds
// West Yellow, prepare to stop
digitalWrite(8, LOW); // West Green off
digitalWrite(9, HIGH); // West Yellow on
delay(2000); // Yellow light duration for 2 seconds
}