Back to Projects
BeginnerArduino Uno R3
25 minutes build
Traffic light
Three LEDs, three resistors and a function that runs the light sequence.
Interactive Simulation
Traffic lightarduino-uno
Required Components Checklist
Assembly Steps
1
Wire the LEDs
Connect pins 12, 11 and 10 each through a 220 Ω resistor to the anode (long leg) of the red, yellow and green LED. Join all cathodes to GND.
2
Write the show() helper
One function sets all three LEDs and waits — the loop then reads like the real sequence.
3
Run and time it
Watch the Serial tab: each phase is printed. Real traffic lights run green for much longer — change the timings.
Arduino Sketch
const int RED_LED = 12;
const int YELLOW_LED = 11;
const int GREEN_LED = 10;
void setup() {
pinMode(RED_LED, OUTPUT);
pinMode(YELLOW_LED, OUTPUT);
pinMode(GREEN_LED, OUTPUT);
Serial.begin(9600);
}
void show(int r, int y, int g, int ms, String name) {
digitalWrite(RED_LED, r);
digitalWrite(YELLOW_LED, y);
digitalWrite(GREEN_LED, g);
Serial.println(name);
delay(ms);
}
void loop() {
show(HIGH, LOW, LOW, 3000, "STOP");
show(HIGH, HIGH, LOW, 1000, "GET READY");
show(LOW, LOW, HIGH, 3000, "GO");
show(LOW, HIGH, LOW, 1000, "SLOW DOWN");
}
Challenges & Extensions
Ready to take this project further? Try these challenges:
- •Add a pedestrian button that shortens the green phase.
- •Rewrite it with millis() so the button is read instantly.
- •Add a blinking yellow 'night mode' after 10 cycles.