//! Traffic Lights (Semaphore)
//!
//! This example simulates a street light system using LEDs.
//! The LEDs connected to GPIO pins will turn on and off in the sequence: red -> orange -> green.
//! The sequence will repeat in a loop.
//!
//! Source code: https://github.com/georgik/esp32-traffic-lights-rs
int redLED = 18; // GPIO for red LED
int yellowLED = 19; // GPIO for yellow LED int greenLED = 21; // GPIO for green LED
void setup() {
pinMode(redLED, OUTPUT); pinMode(yellowLED, OUTPUT); pinMode(greenLED, OUTPUT);
}
void loop() {
// Red light
digitalWrite(redLED, HIGH);
digitalWrite(yellowLED, LOW); digitalWrite(greenLED, LOW);
delay(5000); // Wait for 5 seconds
// Yellow light
digitalWrite(redLED, LOW);
digitalWrite(yellowLED, HIGH); digitalWrite(greenLED, LOW);
delay(2000); // Wait for 2 seconds
// Green light
digitalWrite(redLED, LOW);
digitalWrite(yellowLED, LOW); digitalWrite(greenLED, HIGH);
delay(5000); // Wait for 5 seconds
}