int L1Red = 19;
int L1Yellow = 18;
int L1Green = 5;
int L2Red = 4;
int L2Yellow = 2;
int L2Green = 15;
byte ledPins[] = {19, 18, 5, 4, 2, 15};
unsigned long cTime = 0;
unsigned long wait = 0;
void setup() {
pinMode(21, INPUT);
for (int i = 0; i < 6; i++) // faster way to code the outputs
{
pinMode(ledPins[i], OUTPUT);
}
attachInterrupt(0,changeLight,RISING);
digitalWrite(L1Green, HIGH);
digitalWrite(L2Red, HIGH);
}
void loop()
{
digitalWrite(L1Green, LOW);
digitalWrite(L1Yellow, HIGH);
delay(5000);
digitalWrite(L1Yellow,LOW);
digitalWrite(L1Red,HIGH);
delay(5000);
digitalWrite(L2Red,LOW);
digitalWrite(L2Green, HIGH);
delay(5000);
digitalWrite(L2Green, LOW);
digitalWrite(L2Yellow, HIGH);
delay(5000);
digitalWrite(L2Yellow,LOW);
digitalWrite(L2Red,HIGH);
delay(5000);
digitalWrite(L1Red, LOW);
digitalWrite(L1Green, HIGH);
delay(5000);
}
void changeLight()
{
if (digitalRead(L2Green == LOW))
{
delay(20000);
digitalWrite(L1Green, LOW);
digitalWrite(L1Yellow, HIGH);
delay(1000000);
digitalWrite(L1Yellow,LOW);
digitalWrite(L1Red,HIGH);
delay(150000);
digitalWrite(L2Red,LOW);
digitalWrite(L2Green, HIGH);
delay(2000000);
digitalWrite(L2Green, LOW);
digitalWrite(L2Yellow, HIGH);
delay(1000000);
digitalWrite(L2Yellow,LOW);
digitalWrite(L2Red,HIGH);
delay(100000);
digitalWrite(L1Red, LOW);
digitalWrite(L1Green, HIGH);
delay(200000);
}
}