//traffic light at the cross road (two traffic lights series)
// 1st way
int led_R1 = 27;
int led_Y1 = 14;
int led_G1 = 12;
// 2nd way
int led_R2 = 17;
int led_Y2 = 16;
int led_G2 = 4;
void setup() {
Serial.begin(9600);
pinMode(led_R1, OUTPUT);
pinMode(led_Y1, OUTPUT);
pinMode(led_G1, OUTPUT);
pinMode(led_R2, OUTPUT);
pinMode(led_Y2, OUTPUT);
pinMode(led_G2, OUTPUT);
}
void loop() {
// Traffic light sequence
// STOP
digitalWrite(led_R1, HIGH);
digitalWrite(led_Y1, LOW);
digitalWrite(led_G1, LOW);
Serial.print("STOP ");
for (int i = 5; i >= 0; i--) {
Serial.println(i);
delay(1000);
}
digitalWrite(led_G2, HIGH);
digitalWrite(led_R2, LOW);
digitalWrite(led_Y2, LOW);
Serial.print("STOP ");
for (int i = 5; i >= 0; i--) {
Serial.println(i);
delay(1000);
}
// READY
digitalWrite(led_Y1, HIGH);
digitalWrite(led_R1, LOW);
digitalWrite(led_G1, LOW);
Serial.print("READY ");
for (int i = 3; i >= 0; i--) {
Serial.println(i);
delay(1000);
}
digitalWrite(led_Y2, HIGH);
digitalWrite(led_R2, LOW);
digitalWrite(led_G2, LOW);
Serial.print("READY ");
for (int i = 3; i >= 0; i--) {
Serial.println(i);
delay(1000);
}
// GO
digitalWrite(led_G1, HIGH);
digitalWrite(led_R1 , LOW);
digitalWrite(led_Y1, LOW);
Serial.print("GO ");
for (int j = 10; j >= 0; j--) {
Serial.println(j);
delay(1000);
}
digitalWrite(led_R2, HIGH);
digitalWrite(led_Y2, LOW);
digitalWrite(led_G2, LOW);
Serial.print("GO ");
for (int j = 10; j >= 0; j--) {
Serial.println(j);
delay(1000);
}
}