int redN = 2;
int yellowN = 3;
int greenN = 4;
int redS = 5;
int yellowS = 6;
int greenS = 7;
int redE = 8;
int yellowE = 9;
int greenE = 10;
int redW = 11;
int yellowW = 12;
int greenW = 13;
int greenTime = 5000;
int yellowTime = 2000;
int redTime = 2000;
void setup() {
pinMode(redN, OUTPUT);
pinMode(yellowN, OUTPUT);
pinMode(greenN, OUTPUT);
pinMode(redS, OUTPUT);
pinMode(yellowS, OUTPUT);
pinMode(greenS, OUTPUT);
pinMode(redE, OUTPUT);
pinMode(yellowE, OUTPUT);
pinMode(greenE, OUTPUT);
pinMode(redW, OUTPUT);
pinMode(yellowW, OUTPUT);
pinMode(greenW, OUTPUT);
}
void loop() {
trafficLightSequence(greenN, yellowN, redS, yellowS, greenS, redE, yellowE, greenE, redW, yellowW, greenW);
trafficLightSequence(greenE, yellowE, redN, yellowN, greenN, redS, yellowS, greenS, redW, yellowW, greenW);
}
void trafficLightSequence(int greenLight, int yellowLight, int redLight1, int yellowLight1, int redLight2, int redLight3, int yellowLight3, int greenLight3, int redLight4, int yellowLight4, int greenLight4) {
digitalWrite(greenLight, HIGH);
delay(greenTime);
digitalWrite(greenLight, LOW);
digitalWrite(greenLight4, HIGH);
digitalWrite(yellowLight, HIGH);
delay(yellowTime);
digitalWrite(yellowLight, LOW);
digitalWrite(redLight1, HIGH);
digitalWrite(redLight2, HIGH);
digitalWrite(redLight3, HIGH);
digitalWrite(redLight4, HIGH);
delay(redTime);
digitalWrite(yellowLight1, HIGH);
delay(yellowTime);
digitalWrite(yellowLight1, LOW);
}