int Green1 = 3;
int Red1 = 2;
int Yellow1 = 4;
int Green2 = 5;
int Yellow2 =6;
int Red2 = 7;
int LT1 = 8;
int LT2 = 9;
int w1 = 10 ;
int buttonstate = 0;
int Delay_Green = 5000;
int Delay_Yellow = 2000;
int Delay_Turn = 2000;
int Delay_Red = 7500;
int Delay_transition = 1000;
void setup() {
pinMode(Green1, OUTPUT);
pinMode(Yellow1, OUTPUT);
pinMode(Red1, OUTPUT);
pinMode(Green2, OUTPUT);
pinMode(Yellow2, OUTPUT);
pinMode(Red2, OUTPUT);
pinMode(LT1, OUTPUT);
pinMode(LT2, OUTPUT);
pinMode(w1, INPUT);
}
void loop() {
if (digitalRead(w1 == 1)){
yellow_light1();
delay(Delay_Yellow);
transition();
delay(Delay_transition);
green_light2();
delay(Delay_Green);
yellow_light2();
delay(Delay_Yellow);
transition();
delay(Delay_transition);
}
green_light1();
delay(Delay_Green);
yellow_light1();
delay(Delay_Yellow);
transition();
delay(Delay_transition);
green_light2();
delay(Delay_Green);
yellow_light2();
delay(Delay_Yellow);
transition();
delay(Delay_transition);
L1();
delay(Delay_Green);
yellow_light1();
delay(Delay_Yellow);
transition();
delay(Delay_transition);
L2();
delay(Delay_Green);
yellow_light2();
delay(Delay_Yellow);
transition();
delay(Delay_transition);
green_light1();
delay(Delay_Green);
yellow_light1();
delay(Delay_Yellow);
transition();
delay(Delay_transition);
L4();
delay(Delay_Turn);
green_light2();
delay(Delay_Green);
yellow_light2();
delay(Delay_Yellow);
transition();
delay(Delay_transition);
L3();
delay(Delay_Turn);
green_light1();
delay(Delay_Green);
yellow_light1();
delay(Delay_Yellow);
transition();
delay(Delay_transition);
}
void green_light1(){
digitalWrite(Green1, HIGH);
digitalWrite(Yellow1, LOW);
digitalWrite(Red1, LOW);
digitalWrite(Red2, HIGH);
digitalWrite(Yellow2, LOW);
digitalWrite(Green2, LOW);
digitalWrite(LT1, LOW);
digitalWrite(LT2, LOW);
}
void yellow_light1(){
digitalWrite(Green1, LOW);
digitalWrite(Yellow1, HIGH);
digitalWrite(Red1, LOW);
digitalWrite(Red2, HIGH);
digitalWrite(Yellow2, LOW);
digitalWrite(Green2, LOW);
digitalWrite(LT1, LOW);
digitalWrite(LT2, LOW);
}
void yellow_light2(){
digitalWrite(Green1, LOW);
digitalWrite(Yellow1, LOW);
digitalWrite(Red1, HIGH);
digitalWrite(Red2, LOW);
digitalWrite(Yellow2, HIGH);
digitalWrite(Green2, LOW);
digitalWrite(LT1, LOW);
digitalWrite(LT2, LOW);
}
void green_light2(){
digitalWrite(Green1, LOW);
digitalWrite(Yellow1, LOW);
digitalWrite(Red1, HIGH);
digitalWrite(Red2, LOW);
digitalWrite(Yellow2, LOW);
digitalWrite(Green2, HIGH);
digitalWrite(LT1, LOW);
digitalWrite(LT2, LOW);
}
void transition(){
digitalWrite(Green1, LOW);
digitalWrite(Yellow1, LOW);
digitalWrite(Red1, HIGH);
digitalWrite(Red2, HIGH);
digitalWrite(Yellow2, LOW);
digitalWrite(Green2, LOW);
digitalWrite(LT1, LOW);
digitalWrite(LT2, LOW);
}
void L1(){
digitalWrite(Green1, LOW);
digitalWrite(Yellow1, LOW);
digitalWrite(Red1, HIGH);
digitalWrite(Red2, HIGH);
digitalWrite(Yellow2, LOW);
digitalWrite(Green2, LOW);
digitalWrite(LT1, HIGH);
digitalWrite(LT2, LOW);
}
void L2(){
digitalWrite(Green1, LOW);
digitalWrite(Yellow1, LOW);
digitalWrite(Red1, HIGH);
digitalWrite(Red2, HIGH);
digitalWrite(Yellow2, LOW);
digitalWrite(Green2, LOW);
digitalWrite(LT1, LOW);
digitalWrite(LT2, HIGH);
}
void L3(){
digitalWrite(Green1, HIGH);
digitalWrite(Yellow1, LOW);
digitalWrite(Red1, LOW);
digitalWrite(Red2, HIGH);
digitalWrite(Yellow2, LOW);
digitalWrite(Green2, LOW);
digitalWrite(LT1, HIGH);
digitalWrite(LT2, LOW);
}
void L4(){
digitalWrite(Green1, LOW);
digitalWrite(Yellow1, LOW);
digitalWrite(Red1, HIGH);
digitalWrite(Red2, LOW);
digitalWrite(Yellow2, LOW);
digitalWrite(Green2, HIGH);
digitalWrite(LT1, LOW);
digitalWrite(LT2, HIGH);
}