Madras Academy
Home / Blog / Madras Academy Tutorials / Intelligent Traffic Light System Using Arduino
Madras Academy Tutorials

Intelligent Traffic Light System Using Arduino

Build a model traffic-light controller and extend it with vehicle detection to demonstrate adaptive signal timing for a smart-city project.

September 16, 2026 admin 3 min read

A basic Arduino traffic-light model controls red, amber and green LEDs using fixed timing. An intelligent version adds vehicle-detection sensors so the controller can demonstrate how traffic demand might influence signal timing.

This tutorial is designed for students who want to understand the project rather than only copy a finished model. Build one part at a time, test each section, record what changes and prepare a short explanation of the science or engineering principle.

Start with a fixed-time junction

Build a two-road junction using LED signal heads. Write and test a safe sequence where conflicting directions are never green at the same time.

Add vehicle detection

IR sensors can be placed before the junction to detect model vehicles. The Arduino can count or simply detect presence and use that information to choose between short and long green intervals.

  • Arduino
  • red/amber/green LEDs
  • resistors
  • IR sensors
  • breadboard
  • model road
  • 5V supply

Adaptive logic

A simple algorithm can extend green time when one road has detected vehicles and the other is empty. Keep maximum times so one direction cannot remain green indefinitely.

Pedestrian crossing

Add a push button and a separate pedestrian indicator. The controller should wait for a safe point in the traffic sequence before activating the crossing.

Explain the limits

A school model uses simplified sensors and logic. Real traffic-control systems require far more reliable detection, fail-safe design and regulatory approval.

Step-by-step build

  1. Build one traffic signal using three LEDs and verify the sequence.
  2. Build the second signal and prevent conflicting green states.
  3. Add a complete fixed-time cycle.
  4. Connect one IR sensor for each road and verify vehicle detection.
  5. Add simple adaptive timing based on vehicle presence.
  6. Add a pedestrian button if desired.
  7. Test empty-road, one-road-busy and both-roads-busy cases.
  8. Document the logic with a flowchart.

Common mistakes to avoid

  • Allowing both directions to turn green together
  • Using sensor input without debounce/filtering where needed
  • Creating adaptive timing with no maximum limit
  • Claiming a small IR model represents a deployment-ready traffic system
  • Skipping testing of edge cases

Frequently asked questions

Why is this ‘intelligent’ if it does not use AI?

A system can be adaptive or smart without machine learning. Here, programmed rules respond to detected traffic conditions.

Can I add an ambulance-priority feature?

Yes for a model, using RFID or a dedicated trigger. Explain clearly that real emergency-vehicle priority systems require secure and reliable infrastructure.

Can I use ultrasonic sensors instead of IR?

Yes. Sensor choice depends on model layout and detection distance.

Conclusion

The strongest version of this project compares fixed timing with simple adaptive timing and explains why sensing can reduce unnecessary waiting in some traffic conditions.

Madras Academy project tip: add a block diagram, component labels, photos of testing, a simple results table and two or three viva answers. That makes the project easier to explain and shows genuine understanding.

COURSE SPOTLIGHT

C Programming Essentials

Learn programming fundamentals, problem solving and memory-aware coding with C.

Beginner 8 Weeks Online / Classroom
View Course
C Madras Academy Course
RECOMMENDED COURSES

Continue learning with Madras Academy.

Here are a few courses selected from our current catalog.

Browse All Courses
W WhatsApp