Embedded Systems
Products & Resources

Home Products Shipping Resources About Contact

The Traffic
Lights Project

Other General Products

Other Product Groups

All material on
this Web site is
protected under
United States
and International
copyright law.

Liability for your
use of information
on this Web site is
strictly limited.

Trademarks used
on this Web site
are the property of
their respective

Traffic Lights Project - Learning Steps

To use the Traffic Lights Project as a learning aid, you should follow a planned series of steps or stages to go from the pile of parts to a fully functioning simulation of a road intersection.  Here is an example of such a set of steps.  Beginners should start at the first step.  Intermediates can combine some of the early steps according to their skill and confidence.  Of couse, you can adapt these steps to your own learning needs.

(You can use the menu on the left hand side to go back to the Traffic Lights Project introduction.)

Step 1 - Design and Assemble LEDs and Driver Circuits

Learn: using LEDs; using transistors as switches; ohm's law; resistor color code; soldering; verifying circuit operation ... more about this step.

Step 2 - Control State of LEDs from Microcontroller

Learn: compiling, loading and running programs; setting direction of general purpose ports; setting output state of ports; stepping in the debugger.

Step 3 - Operate LEDs in Realistic Traffic Lights Sequence

Learn: translate real-world requirements into software; implementing software time delays; the "forever" loop.

Step 4 - Design and Assemble Traffic Sensor Push-Buttons

Learn: using switches; not damaging expensive parts under software fault conditions; more soldering

Step 5 - Respond to Arival of Traffic

Learn: setting direction of individual bits of general purpose ports; reading input state of ports; doing more than one thing at once; polling; planning an implementation before coding.

Step 6 - Provide Telemetry Stream to an External Console

Learn: setting up the UART of your microcontroller; sending text via the UART; using a terminal emulator on your PC; serial ports; formatting information for display.

Step 7 - Add a Night-Time Operating Mode

Learn: setting up and using hardware timers; tracking time of day; planning and implementing systems with multiple major operating modes; revisit software time delays.

Step 8 - Allow Operation to be Controlled from the Console

Learn: receiving text from the UART; parsing commands; designing operator command systems; dealing with multiple things happening at once revisited.

Step 9 - Adapt to Traffic Volume

Learn: simple "learning"; switch bounce; software debounce of switches; polling revisited.

Step 10 - Design and Assemble Pedestrian and Emergency Vehicle Sensors

Learn: using general purpose ports for both output and input.

Step 11 - Respond to Pedestrians and Emergency Vehicles

Learn: turning output ports around to read inputs; major operating modes revisited.

Step 12 - Implement a Console Menu System

Learn: providing for un-trained or infrequent operators; designing user interfaces; sending large amounts of text via a serial ports; dealing with even more things happening at once.

Step 13 - Double-Check for Dangerous Conditions

Learn: design to avoid dangerous malfunctions (for example, green lights in both directions); redundant design; system recovery in the event of malfunction.

Step 14 - Review Overall System Design

Learn: engineering design as a continual learning process; throwing it all out and starting again; designing for enhancement and maintainability.

Step 15 - Re-Design Using a Real-Time Operating System

Learn: types of real-time operating system; choosing the right RTOS for the job; creating and activating tasks; using RTOS services.

(Use the menu on the left hand side to go back to the Traffic Lights Project introduction.)