| 
              
                | 
				REACTION TIMER |  
                | 
       
       Home
 
 Kits 
		are available for this project 
		from
 Talking Electronics for $12.00 plus $4.50 postage.
 
 |  This project uses an 8-pin microcontroller. 
		All the timing, delays and detection is done with 6 in-out pins and the 
		clever part is connecting two switches to a single input as well as some 
		other features that will be discussed in the text. 
 The project detects your reaction time.
 A white LED comes on for an unknown length of time and you need to hold 
		down switch #1.  This lets the project you are ready for a test.
 The white LED goes out and a blue LED illuminates.
 The time taken for you to release button #1 and press button #2 is 
		recorded.
 The display shows your time in milliseconds.
 The single digit display shows 3 digits (one at a time) and this 
		represents your reaction-time in milliseconds.
 
 
 
		
			
				| Press "START" "Start" LED will illuminate for an unknown length of time.
 When "STOP" LED illuminates, take your finger from "Start" 
				button to "STOP" button.
 Remove finger from 
				"STOP" button.
 The display will show timing in milliseconds (3 digits).
 Display will turn off.
 Press "START" 
				for next attempt.
 |  This is a very accurate and interesting project to 
		test your reaction-time.It's interesting because you can compare your time against others in a 
		challenge and find out if you have any co-ordination problems.
 There are all sorts of things that can slow you down, including age, 
		drugs, alcohol and nerve conditions.
 You may not be aware of your condition and this is the perfect way to 
		find out.
 You may have noticed your lack of speedy response when driving or 
		cycling or playing sport and this project will give you a precise 
		indication of your capability.
 But you may just want to test your capability and see if you can 
		maintain a reaction-time with your friends or younger or older folk.
 Test have shown that alcohol slows down your reaction-time considerably 
		and you can prove this quite easily with a test.
 This might make you aware of the dangers of driving when not fully 
		attentive.
 
 
 
 
 
 
 
 With this project you play against the "computer" and 
		try to win.
 Computers are ideal to show "intelligence."
 By coding all the possible combinations and outcomes of a particular 
		situation, the micro is able to diagnose a situation very quickly and 
		come up with an answer that appears to have intelligence.
 Alternatively you can approach a problem mathematically and come up with 
		a result.
 Many games have an underlying "strategy" and this game is an example.
 By knowing this strategy and producing simple routines to analyse each 
		stage of the game we can achieve a result that does not need any complex 
		mathematical interpretation.
 The result is called "linear programming" in which the micro advances 
		down the program according to the input it gets.
 This part of the program requires very few instructions. The bulk of the 
		instructions are needed to produce a display.
 Since we have only 5 lines to drive 9 segments of a 1.5 digit display, 
		we must use clever circuitry to illuminate any or all the 9 segments.
 This is done in a form of scanning/multiplexing, that has never been 
		presented before.
 Obviously we cannot "dump" or dive the LEDs constantly because this will 
		only illuminate a maximum of 5 segments.
 We need to "time-share" the segments with two on each output. This 
		provides up to 10 segments from 5 lines.
 The LEDs on each output are arranged so one segment turns on when the 
		output is HIGH and the other turns on when the output is LOW.
 To prevent the LEDs turning on when the output is not driving either, we 
		put two LEDs on each segment.
 This means the characteristic voltage drop across 4 LEDs is about 7v and 
		none will turn on.
 The remainder of the program is taken up providing effects, such as 
		pulsing the display, debouncing 
		the switch and timing the players response then producing the computers 
		response after 2 seconds.
 
		The complete  project
 
 
 The surface-mount components are mounted on the 
		underside
 
		  
		  
		
		
		The 
		PROGRAMAll the clever aspects 
		of this project are in the program.
 This is just one of our projects using the 8-pin PIC microcontroller 
		PIC12F629. See Talking Electronics.com website for 20 more projects.
 The PIC12F629 is just about the smallest micro in the PIC range and has 
		5 output lines and one input line.
 This is all we have to control and display 12 items.
 This means we have to be very clever and use skills called MULTIPLEXING 
		and MULTI-TASKING to take it in turns to active the different items and  
		since the program is executed very quickly, many the items seem to be 
		activated at the same time.
 
 Of course we can use an 18 pin chip with lots of inputs and outputs, but 
		the skill in designing a good project is to use the smallest micro and 
		introduce some clever programming.
 That's what we have done.
 
 The START and STOP buttons are on the same input.
 The program detects when "START" is pressed and an random time is 
		generated for the illumination of the "START" LED.
 After this timing period, the "START" LED is turned off and the STOP LED 
		is illuminated.
 The program checks to see the "START" button is still pressed after 50 
		milliseconds to make sure a false start has not occurred.
   
		
			
				| THE PIC MICROCONTROLLER This project is 
		one of a number of projects produced by TALKING ELECTRONICS to show how 
		to convert a fantastic idea into a project, using one of the smallest 
		microcontrollers on the market.
 There are lots of micro's and lots of courses on the web but none of 
		them show you how to design projects like our range of 20 ideas.
 Many of the courses revolve around robots, and that area is well presented 
				and fully 
		covered by micros that are not the PIC family.
 The PIC micro was the first to be invented. It was copied by two 
				other manufacturers and taken up, very successfully, by robot 
				groups.
 If you are interested in Robotics, go to:
				Arduino
 The area we are covering is different. We are covering things like breath 
		testing, lung capacity, simple games, aids and devices for the 
		incapacitated, alarms, sounds and timers. And look through the program 
		and study each of the sub-routines.
 Each line is explained and this help you understand what each 
		sub-routine is doing.
 But you can't just use one project.
 You need to go through lots of projects and build up an understanding of 
		what a sub-routine does.
 In the end you will take one of the projects and remove some of the 
		sub-routines and add sub-routines from different projects and gradually 
		build up your own project.
 This concept has never been discussed before but it is the only way to 
		get into programming.
 It reduces the learning curve enormously and by adding one sub-routine 
		at a time, you can test the project and see how it is going, without 
		getting frustrated.
 It's absolute madness to white a while program and turn it on.
 Because it will not work. And you will not know where to start.
 By testing a single sub-routine at a time and getting it to work, you 
		can gradually build up a project.
 Each new improvement needs to be called by a new name so you can go back 
		to a previous copy if the thing dos not work.
 I have often produced 100 "tries" as a project "comes along" and its 
		very re-assuring to be able to go back if something fails.
 We have also produced a very large guide called LIBRARY OF ROUTINES
		to help you produce your own sub-routines.
 And you can also get assistance from 
		Colin Mitchell
 
 |  
		
		The CIRCUIT
 The circuit has two tactile buttons, 14 LEDs 
		to create a 7-segment display and LEDs for the timing as well as an 8-pin microcontroller
 The display is made up of individual LEDs. This gives a voltage drop of approx 3.4v and a 
		22R current-limit resistor is needed.
 4 LEDs across the supply require  xxv for them to illuminate and 
		that's why they do not turn on as a group. The micro can individually 
		activate either pair by the output line going either HIGH or LOW.
 This line is toggles very quickly to provide a "pulse-line" for the two 
		switches to detect which switch is pressed.
 The diode on the input reduces the 
		supply to 5.4v when 4 AA cells are used.
 
 
		Reaction Timer 
		Circuit 
 The display has 2 yellow LEDs in 
		series for each segment
 
		CONSTRUCTION The project is built on a small 
		PC board with the surface mount components on the underside. The surface 
		mount LEDs are an old-style with three legs.
 You just need tweezers, fine solder and a temperature-controller iron to 
		produce a very neat result.
 Place solder on one land then sit the component in place and heat the 
		solder very quickly. The l\LEDs must be soldered very quickly otherwise 
		they will lose their brightness. 3 extra LEDs are included in the kit as 
		replacements for any LEDs that have been damaged.
 
 
 MORE
 For more details on modifying the program and burning the PIC chip, see
		Talking 
		Electronics website and click on 
		Elektor,EPE,Silicon Chip
		in the index.
 You can find details of:  
		PICkit-2 and Adapter connected for In-Circuit Programming 
		at this link.
 
 
 Here is the file you will need for "burning" your chip and/or 
		modifying the program. It comes as .asm, .txt and .hex for using as a 
		file to modify, or to read, or to burn a new chip:
 Nim.asm
 Nim.txt
 Nim.hex
 The kit comes with a pre-programmed PIC chip, see parts 
		list below.
 
		
			| 	
;****************************************************************
	;Reaction Timer
  for 12F629.asm
	;  5-7-2014 
	
						
	
	end		
		
 |  
		 
 
				
				
             
	  			  
							GOING FURTHER
								|  |  
								| 
									
										| 5  
										-  22R   SM resistors  
										(220) 1  -  47k   SM 
										resistor (4702) or (473)
 
 1  -  100n SM capacitor
 1  -  1u SM tantalum capacitor
 
 14  - Yellow SM LEDs
 1  -  SPDT mini slide switch
 2  -  mini tactile push buttons
 
 1  -  PIC12F629 chip (with 
										React routine)
 1  -  
										8 pin IC socket
 1  -  1N4148 diode
 2  -  SM signal diodes
 1  -  3mm white LED
 1  -  3mm blue LED
 2  -  3v battery holders
 20cm  - very fine solder
 1  -  Reaction Timer PC board
 
 
									
										| JUST THE MICRO: Pre-programmed PIC12F629 micro with routine 
										$5.00 plus $3.00 post
 |  |  |  This project is one of a 
				number of projects using a PIC microcontroller.
 The overall concept of Talking Electronics is to show what can 
				be done with a "micro" and you can add this project to PIC 
				Fx-1 where you can study the program and add extra routines to 
				produce individual effects.
 You can then "burn" or flash" your program into a new chip by 
				using the PIC Fx-1 project and see what results you get.
 
 This project has been designed for 
				a greeting card. Instead of opening a $6.00 card to see the words 
				"Happy Birthday," you get a game using  
				electronics.
 
						 6/3/2016 |