Step 1: Define the Project
This project is defined as:
Control 3 outputs
Read 4 inputs
Read 1 interupt
3 outputs are sequenced in multiple modes
-Standard Traffic Light pattern
-Steady on each output
-Blink each output
Increment and decrement sequence speed
Modify saved timing parameters using remote control
and most important; Execute in a realtime manor.
Step 2: Prototype the circuit
I used the Arduino Duemilanov. I attached 3 LED's , 4 switches and began to write the code. The Arduino IDE (which is FREE!!) uses a syntax that is very similar to good old fashioned ANSI C. I started with the modes of signal patterns. I used a case statement to modularize my code. I the added the code for the buttons. The buttons control mode UP/DN and speed UP/DN.
Step 3: Write the code
Step 4: TEST TEST TEST TEST
The Arduino allows for field program ability, but that is no excuse for not testing.
After adding the remote control I had alot of code changes in order to operate the code.
This version has usable code for the remote's receiver but it breaks the ability to reprogram the timing and default flash pattern and speed at power up.
Step 5: Electronic Schematic Design
Create each component and connect their pins together