// NORTH
int N_R = 25;
int N_Y = 26;
int N_G = 27;
// EAST
int E_R = 5;
int E_Y = 4;
int E_G = 2;
// SOUTH
int S_R = 12;
int S_Y = 13;
int S_G = 14;
// WEST
int W_R = 15;
int W_Y = 16;
int W_G = 17;
void setup() {
pinMode(N_R, OUTPUT); pinMode(N_Y, OUTPUT); pinMode(N_G, OUTPUT);
pinMode(E_R, OUTPUT); pinMode(E_Y, OUTPUT); pinMode(E_G, OUTPUT);
pinMode(S_R, OUTPUT); pinMode(S_Y, OUTPUT); pinMode(S_G, OUTPUT);
pinMode(W_R, OUTPUT); pinMode(W_Y, OUTPUT); pinMode(W_G, OUTPUT);
}
void loop() {
// NORTH
allRed();
digitalWrite(N_G, HIGH);
digitalWrite(N_R, LOW);
delay(5000);
yellow(N_Y, N_G, N_R);
// EAST
allRed();
digitalWrite(E_G, HIGH);
digitalWrite(E_R, LOW);
delay(5000);
yellow(E_Y, E_G, E_R);
// SOUTH
allRed();
digitalWrite(S_G, HIGH);
digitalWrite(S_R, LOW);
delay(5000);
yellow(S_Y, S_G, S_R);
// WEST
allRed();
digitalWrite(W_G, HIGH);
digitalWrite(W_R, LOW);
delay(5000);
yellow(W_Y, W_G, W_R);
}
void yellow(int Y, int G, int R) {
digitalWrite(G, LOW);
digitalWrite(Y, HIGH);
delay(2000);
digitalWrite(Y, LOW);
digitalWrite(R, HIGH);
}
void allRed() {
digitalWrite(N_R, HIGH); digitalWrite(N_Y, LOW); digitalWrite(N_G, LOW);
digitalWrite(E_R, HIGH); digitalWrite(E_Y, LOW); digitalWrite(E_G, LOW);
digitalWrite(S_R, HIGH); digitalWrite(S_Y, LOW); digitalWrite(S_G, LOW);
digitalWrite(W_R, HIGH); digitalWrite(W_Y, LOW); digitalWrite(W_G, LOW);
}