int signal1[] = {23, 21};
int signal2[] = {19, 5};
int signal3[] = {17, 4};
int state1;
int state2;
int state3;
int state4;
void setup()
{
for (int i = 0; i < 2; i++)
{
pinMode(signal1[i], OUTPUT);
pinMode(signal2[i], OUTPUT);
pinMode(signal3[i], OUTPUT);
}
pinMode(12, INPUT);
pinMode(13, INPUT);
pinMode(14, INPUT);
pinMode(26, INPUT);
}
void loop()
{
int redDelay = 5000;
state1 = digitalRead(12);
state2 = digitalRead(14);
state3 = digitalRead(13);
state4= digitalRead(26);
if (state1 == HIGH)
{
digitalWrite(signal1[1], HIGH);
digitalWrite(signal2[0], HIGH);
digitalWrite(signal3[0], HIGH);
digitalWrite(signal1[0], LOW);
digitalWrite(signal3[1], LOW);
}else
{
digitalWrite(signal1[1], LOW);
digitalWrite(signal2[0], LOW);
digitalWrite(signal3[0], LOW);
digitalWrite(signal1[0], LOW);
digitalWrite(signal3[1], LOW);
}
if (state2 == HIGH)
{
digitalWrite(signal1[1], LOW);
digitalWrite(signal2[0], LOW);
digitalWrite(signal3[0], LOW);
digitalWrite(signal1[0], HIGH);
digitalWrite(signal3[0], HIGH);
digitalWrite(signal2[1], HIGH);
digitalWrite(signal2[1], HIGH);
}else
{
digitalWrite(signal1[1], LOW);
digitalWrite(signal2[0], LOW);
digitalWrite(signal3[0], LOW);
digitalWrite(signal1[0], LOW);
digitalWrite(signal3[0], LOW);
digitalWrite(signal2[1], LOW);
digitalWrite(signal2[1], LOW);
}
if (state3 == HIGH)
{
digitalWrite(signal3[1], HIGH);
digitalWrite(signal1[0], HIGH);
digitalWrite(signal2[0], HIGH);
digitalWrite(signal3[0], LOW);
digitalWrite(signal2[1], LOW);
digitalWrite(signal2[1], LOW);
}
else
{
digitalWrite(signal3[1], LOW);
digitalWrite(signal1[0], LOW);
digitalWrite(signal2[0], LOW);
digitalWrite(signal3[0], LOW);
digitalWrite(signal2[1], LOW);
digitalWrite(signal2[1], LOW);
}
if (state4 == HIGH)
{
digitalWrite(signal1[1], HIGH);
digitalWrite(signal3[0], HIGH);
digitalWrite(signal3[1], LOW);
digitalWrite(signal1[0], LOW);
digitalWrite(signal2[0], HIGH);
delay(redDelay);
digitalWrite(signal1[1], LOW);
digitalWrite(signal2[0], LOW);
digitalWrite(signal3[0], LOW);
digitalWrite(signal1[0], HIGH);
digitalWrite(signal3[0], HIGH);
digitalWrite(signal2[1], HIGH);
digitalWrite(signal2[1], HIGH);
delay(redDelay);
digitalWrite(signal3[1], HIGH);
digitalWrite(signal1[0], HIGH);
digitalWrite(signal2[0], HIGH);
digitalWrite(signal3[0], LOW);
digitalWrite(signal2[1], LOW);
digitalWrite(signal2[1], LOW);
delay(redDelay);
}
else
{
digitalWrite(signal3[1], LOW);
digitalWrite(signal3[0], LOW);
digitalWrite(signal2[1], LOW);
digitalWrite(signal2[0], LOW);
digitalWrite(signal1[1],LOW);
digitalWrite(signal1[0], LOW);
}
}