Introduction: LED Reaction Timer
This project is an updated version of the original reaction timer project described in Len Buckwalter's "Electronic Games & Toys You Can Build" book. The incandescent bulbs and passive components are replaced by a microcontroller and LEDs.
Step 1: The Original Reaction Timer
This is the original reaction timer game. The purpose of the game is to see who has the fastest reaction time. A golf ball is placed at the top of the rail and allowed to roll downhill until it hits a stop. The first person to press his button AFTER the ball hits the stop is the winner. If a player presses his button before the ball reaches the end, he loses.
Step 2: New Reaction Timer
The new version uses LEDs and a microcontroller. The rules are same, and in addition the two large LEDs which light to indicate the winner, four LEDs were added on each side to display the reaction time of each player. The fewer LEDs lit, the faster the player.
Step 3: The Base
The base is made from poplar wood purchased from Home Depot. The LEDs and microcontroller were purchased from Digikey. The two momentary pushbuttons are normally-open and are available from Radio Shack.
The length and angle of incline are up to you. The original version used a switch to detect when the golf ball reached the end. My version uses a IR LED and detector for the same function. The golf ball blocks the IR emitted by the LED from reaching the detector when rests at the end of the rail.
Step 4: The Underside
This is a picture of the underside showing the wiring. I used 22 awg stranded wire to connect everything and small cable ties to bind the wires. To reduce the number of IOs needed, the speed LEDs are time-multiplexed.
Step 5: Microcontroller & Batteries
This is a closeup of the microcontroller and batteries. Three AA batteries are used to power the entire circuit. The microcontroller is a Cypress Semiconductor PSOC, and I used assembly language to program the part.
If there is significant interest in the project, I'll post the schematic and source code as well.