//traffic lights 1 (output 1)
int red1 = 13, yellow1 = 12, green1 = 11;
//traffic lights 2 (output 2)
int red2 = 10, yellow2 = 9, green2 = 8;
//push buttons (input)
int button1 = 2, button2 = 3;
void setup() {
//push buttons (inputs)
pinMode(button1, INPUT);
pinMode(button2, INPUT);
//traffic lights 1 (output 1)
pinMode(red1, OUTPUT);
pinMode(yellow1, OUTPUT);
pinMode(green1, OUTPUT);
//traffic lights 2 (output 2)
pinMode(red2, OUTPUT);
pinMode(yellow2, OUTPUT);
pinMode(green2, OUTPUT);
}
void loop() {
int buttonVal1 = digitalRead(button1);
int buttonVal2 = digitalRead(button2);
while(buttonVal1 == LOW) {
digitalWrite(red1, HIGH);
digitalWrite(green2, HIGH);
delay(5000);
digitalWrite(green2, LOW);
digitalWrite(yellow2, HIGH);
delay(2000);
digitalWrite(green1, HIGH);
digitalWrite(red2, HIGH);
digitalWrite(red1, LOW);
digitalWrite(yellow2, LOW);
delay(5000);
digitalWrite(green1, LOW);
digitalWrite(yellow1, HIGH);
delay(2000);
digitalWrite(red1, HIGH);
digitalWrite(green2, HIGH);
digitalWrite(red2, LOW);
digitalWrite(yellow1, LOW);
}
int redVal1 = digitalRead(red1);
int redVal2 = digitalRead(red2);
if(redVal1 == LOW){
digitalWrite(yellow1, HIGH);
digitalWrite(green1, LOW);
delay(500);
digitalWrite(yellow1, LOW);
digitalWrite(red1, HIGH);
}
}