| 
 An educational project 
		using a PIC chip.
 This is a future article for Elektor Magazine
 
 To place an order, click:  
      
      
		
		
		
		Spin The Dice kit
 
 You cannot beat toys for technology.  They always 
		offer the latest in design. They were the first to offer speech, LCD 
		screens and  movement, all at an unbelievably low price. Technology has ridden on the back of toy manufacture. Toys have led the 
		way to reducing the costs of manufacture and now we see things like gigabyte chips in hand-held devices for less than a day's 
		wage!
 If you want to see technology in operation, just go to your local toy 
		store. I did.
 One toy that took my attention was a spinning top that produced a LED 
		display. It detected the earth's magnetic field to provide registration 
		for the display and every time the top was spun, it produced a curved 
		dot-matrix display "in the air."
 So the display appears at the same location on each revolution, a 
		reference point must be generated. The circuit 
		detects the earth's magnetic field via an inductor to create this.
 As it rotates, the voltage generated in the coil is passed to an op-amp.  
		The voltage produced is very small and two stages are needed so the output will 
		be high enough to trigger the input of a microcontroller.
 This is only one feature of this project.
 There are three features to be 
		discussed.
 Firstly the magnetic detection.
 To prevent high frequencies being picked up by the coil, it has a large 
		capacitor across it, so that only very low frequencies will be detected. 
		The first op-amp will provide a very high amplification, but this will 
		not be sufficient to trigger the micro.
 It needs another stage with very high gain.
 During quiescent conditions, the input voltage to the second op-amp will 
		be the same and the output will be LOW.
 When the output of the first op-amp rises, the voltage on the 
		non-inverting input of the second op-amp will be slightly delayed by the 
		action of the 1M and 10n capacitor and this will make the output go 
		HIGH. The 10n will charge and cause the output to go LOW again. Thus a 
		short pulse will be produced.
 
 
 
 
 
 
 This project offers three areas for experimentation. It shows how the 
		earth's magnetic field can be detected electronically
 It employs surface-mount technology and it covers writing a program for 
		the simplest chip in the PIC series, the PIC12F629.
 
 If you have ever wanted to start writing your own programs for a PIC 
		microcontroller, this is the place to start.
 The microcontroller is an 8-pin device with 5 input/output lines and one 
		input only. The other two pins connect to the supply.
 The chip has 1024 spaces to store a program and each space will store a 
		single instruction. These spaces are also used to store data (also 
		called variables) in the form of a table.
 The micro acts on each instruction at the rate of one million 
		instructions per second, when the clock frequency is 4MHz. An internal 
		oscillator produces this frequency.
 An instruction can be a simple task such as placing a number (called a 
		literal) in the "working register" called register "W"  or it can 
		be a more-complex task such as testing a bit in a file and jumping over 
		the next instruction if a bit in the file is set.
 1024 lines of code may not seem very large but when you realise this 
		project has 5 different games and uses only half the memory, you can see 
		how efficient "machine code" programming is.
 As an example, the first 3-level chess game was created in a 2k memory, 
		for a "Chess Challenger" computer.
 
 
 
 
 The program for this project has been written by hand using the set of 
		approx 30 instructions for the chip.
 These instructions consists of letters and numbers, with 
		each letter taken from the first letter of a word such as Shift, Left,  etc. The 
		numbers represent the "file" or "register" where a 
		"quantity" contained in the instruction, will be stored.
 These instructions are assembled by and assembler called MPASM.  
		The result is a list of hex numbers that are "burnt" into the chip using 
		a programmer. All these programs and the programmer are covered on the 
		authors website: talkingelectronics.com
 A program for a PIC chip may look unusual at first, but the website 
		explains all the terminology and takes you through 
		each stage in the development of an idea.
 Each instruction is called a mnemonic and this is a "half English, half 
		xxxx" statement.
 
 THE RANDOM NUMBER
 The secret behind an effective dice (singular die) is to produce a truly 
		random number. This is very difficult to achieve with a micro as 
		it has a very high "predictability."  The answer is to have a large 
		table of values and cycle through the table. To prevent the micro 
		starting at the top of the table each time it is turned on, a different 
		starting-point is held in the EEPROM section of the micro. This 
		effectively produces a very long table with no perceptible repetition.
 
 PROGRAMMING
 This project offers a course in programming PIC chips. The 5 LEDs are 
		capable of producing a dot-matrix display 5 pixels high by more than 60 
		pixels long. This will allow a number of letters to be produced or even 
		animation.
 When the project is first turned on, the LEDs run in sequence to show 
		they are all operating and then the first LED illuminates to show the 
		first program is active. By pressing the ON button repeatedly, the 
		second, third, fourth or fifth program can be activated.
 The chip comes pre-programmed with two programs and the course on the 
		web shows how to write programs for the other areas.
 
 
 
 
			
				
					| 
					
					PARTS 
					LIST au$59.50
					plus 
					$4.50 post
 us$47.50
					plus 
					US$6.50 post
 Order kit
 |  
					| 4 - button cells
 
 1 - Spin The Dice PCB
 |  |