#define RED1 0
#define YELLOW1 1
#define GREEN1 2
#define RED2 8
#define YELLOW2 9
#define GREEN2 10
#define RED3 18
#define YELLOW3 17
#define GREEN3 16
#define RED4 26
#define YELLOW4 27
#define GREEN4 28
void setup() {
pinMode(RED1, OUTPUT);
pinMode(YELLOW1, OUTPUT);
pinMode(GREEN1, OUTPUT);
pinMode(RED2, OUTPUT);
pinMode(YELLOW2, OUTPUT);
pinMode(GREEN2, OUTPUT);
pinMode(RED3, OUTPUT);
pinMode(YELLOW3, OUTPUT);
pinMode(GREEN3, OUTPUT);
pinMode(RED4, OUTPUT);
pinMode(YELLOW4, OUTPUT);
pinMode(GREEN4, OUTPUT);
}
void loop() {
//1st traffic
digitalWrite(GREEN1, HIGH);
digitalWrite(RED2, HIGH);
digitalWrite(RED3, HIGH);
digitalWrite(RED4, HIGH);
digitalWrite(RED1, LOW);
delay(3000);
digitalWrite(GREEN1, LOW);
digitalWrite(YELLOW1, HIGH);
delay(500);
digitalWrite(YELLOW1, LOW);
digitalWrite(RED1, HIGH);
digitalWrite(YELLOW2, HIGH);
digitalWrite(RED2, LOW);
delay(500);
digitalWrite(YELLOW2, LOW);
//2nd traffic
digitalWrite(GREEN2, HIGH);
digitalWrite(RED1,HIGH);
digitalWrite(RED3,HIGH);
digitalWrite(RED4,HIGH);
digitalWrite(RED2, LOW);
delay(3000);
digitalWrite(GREEN2, LOW);
digitalWrite(YELLOW2, HIGH);
delay(500);
digitalWrite(YELLOW2, LOW);
digitalWrite(RED2, HIGH);
digitalWrite(YELLOW3, HIGH);
digitalWrite(RED3, LOW);
delay(500);
digitalWrite(YELLOW3, LOW);
//3rd traffic
digitalWrite(GREEN3, HIGH);
digitalWrite(RED1,HIGH);
digitalWrite(RED2,HIGH);
digitalWrite(RED4,HIGH);
digitalWrite(RED3, LOW);
delay(3000);
digitalWrite(GREEN3, LOW);
digitalWrite(YELLOW3, HIGH);
delay(500);
digitalWrite(YELLOW3, LOW);
digitalWrite(RED3, HIGH);
digitalWrite(YELLOW4, HIGH);
digitalWrite(RED4, LOW);
delay(500);
digitalWrite(YELLOW4, LOW);
//4th traffic
digitalWrite(GREEN4, HIGH);
digitalWrite(RED1,HIGH);
digitalWrite(RED2,HIGH);
digitalWrite(RED3,HIGH);
digitalWrite(RED4, LOW);
delay(3000);
digitalWrite(GREEN4, LOW);
digitalWrite(YELLOW4, HIGH);
delay(500);
digitalWrite(YELLOW4, LOW);
digitalWrite(RED4, HIGH);
digitalWrite(YELLOW1, HIGH);
digitalWrite(RED1, LOW);
delay(500);
digitalWrite(YELLOW1, LOW);
}