//declaring the variables
int redLed1 = 23;
int redLed2 = 22;
int redLed3 = 21;
int redLed4 = 19;
int greenLed1 = 18;
int greenLed2 = 5;
int greenLed3 = 17;
int greenLed4 = 16;
int sw1 = 34;
int sw2 = 35;
int sw3 = 32;
int sw4 = 33;
void setup() {
pinMode(redLed1, OUTPUT);
pinMode(redLed2, OUTPUT);
pinMode(redLed3, OUTPUT);
pinMode(redLed4, OUTPUT);
pinMode(greenLed1, OUTPUT);
pinMode(greenLed2, OUTPUT);
pinMode(greenLed3, OUTPUT);
pinMode(greenLed4, OUTPUT);
pinMode(sw1, INPUT_PULLUP);
pinMode(sw2, INPUT_PULLUP);
pinMode(sw3, INPUT_PULLUP);
pinMode(sw4, INPUT_PULLUP);
}
void loop() {
if(digitalRead(sw1)==1){
//diverging
digitalWrite(redLed4, HIGH);
digitalWrite(greenLed1, HIGH);
delay(500);
digitalWrite(redLed3, HIGH);
digitalWrite(greenLed2, HIGH);
digitalWrite(redLed4, LOW);
digitalWrite(greenLed1, LOW);
delay(500);
digitalWrite(redLed2, HIGH);
digitalWrite(greenLed3, HIGH);
digitalWrite(redLed3, LOW);
digitalWrite(greenLed2, LOW);
delay(500);
digitalWrite(redLed1, HIGH);
digitalWrite(greenLed4, HIGH);
digitalWrite(redLed2, LOW);
digitalWrite(greenLed3, LOW);
delay(500);
digitalWrite(redLed1, LOW);
digitalWrite(greenLed4, LOW);
}
if(digitalRead(sw2)==1){
//diverging
digitalWrite(redLed1, HIGH);
digitalWrite(greenLed4, HIGH);
delay(500);
digitalWrite(redLed3, HIGH);
digitalWrite(greenLed2, HIGH);
digitalWrite(redLed1, LOW);
digitalWrite(greenLed4, LOW);
delay(500);
digitalWrite(redLed4, HIGH);
digitalWrite(greenLed1, HIGH);
digitalWrite(redLed3, LOW);
digitalWrite(greenLed2, LOW);
delay(500);
digitalWrite(redLed3, HIGH);
digitalWrite(greenLed2, HIGH);
digitalWrite(redLed4, LOW);
digitalWrite(greenLed1, LOW);
delay(500);
digitalWrite(redLed2, HIGH);
digitalWrite(greenLed3, HIGH);
digitalWrite(redLed3, LOW);
digitalWrite(greenLed2, LOW);
delay(500);
digitalWrite(redLed1, HIGH);
digitalWrite(greenLed4, HIGH);
digitalWrite(redLed2, LOW);
digitalWrite(greenLed3, LOW);
}
if(digitalRead(sw3)==1){
digitalWrite(redLed1, HIGH);
delay(500);
digitalWrite(redLed1, LOW);
digitalWrite(redLed2, HIGH);
delay(500);
digitalWrite(redLed2, LOW);
digitalWrite(redLed3, HIGH);
delay(500);
digitalWrite(redLed3, LOW);
digitalWrite(redLed4, HIGH);
delay(500);
digitalWrite(redLed4, LOW);
digitalWrite(greenLed1, HIGH);
delay(500);
digitalWrite(greenLed2, HIGH);
digitalWrite(greenLed1, LOW);
delay(500);
digitalWrite(greenLed3, HIGH);
digitalWrite(greenLed2, LOW);
delay(500);
digitalWrite(greenLed4, HIGH);
digitalWrite(greenLed3, LOW);
delay(500);
digitalWrite(greenLed4, LOW);
digitalWrite(greenLed3, HIGH);
delay(500);
digitalWrite(greenLed3, LOW);
digitalWrite(greenLed2, HIGH);
delay(500);
digitalWrite(greenLed2, LOW);
digitalWrite(greenLed1, HIGH);
delay(500);
digitalWrite(redLed4, HIGH);
digitalWrite(greenLed1, LOW);
delay(500);
digitalWrite(redLed4, LOW);
digitalWrite(redLed3, HIGH);
delay(500);
digitalWrite(redLed3, LOW);
digitalWrite(redLed2, HIGH);
delay(500);
digitalWrite(redLed2, LOW);
digitalWrite(redLed1, HIGH);
delay(500);
digitalWrite(redLed1, LOW);
}
if(digitalRead(sw4)==1){
digitalWrite(redLed1, HIGH);
digitalWrite(redLed3, HIGH);
digitalWrite(greenLed1, HIGH);
digitalWrite(greenLed3, HIGH);
delay(500);
digitalWrite(redLed1, LOW);
digitalWrite(redLed3, LOW);
digitalWrite(greenLed1, LOW);
digitalWrite(greenLed3, LOW);
digitalWrite(redLed2, HIGH);
digitalWrite(redLed4, HIGH);
digitalWrite(greenLed2, HIGH);
digitalWrite(greenLed4, HIGH);
delay(500);
digitalWrite(redLed2, LOW);
digitalWrite(redLed4, LOW);
digitalWrite(greenLed2, LOW);
digitalWrite(greenLed4, LOW);
}
}