int L1Red = 8; int L1Yellow = 9; int L1Green = 10; int L2Red = 11; int L2Yellow = 12; int L2Green = 13; unsigned long cTime = 0; unsigned long wait = 0; void setup() { pinMode(2, INPUT); for (int i = 8; i < 14; i++) // faster way to code the outputs { pinMode(i, OUTPUT); } attachInterrupt(0,changeLight,RISING); digitalWrite(L1Green, HIGH); digitalWrite(L2Red, HIGH); } void loop() { 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(2000000); } 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); } }