Silicon ChipA Programmable PIC-Powered Timer - November 2003 SILICON CHIP
  1. Outer Front Cover
  2. Contents
  3. Publisher's Letter: The valve circuit we said we would never publish
  4. Feature: Electronic Noses Smell A Big Future by Peter Holtham
  5. Order Form
  6. Feature: Logging Your Every Driving Moment by Julian Edgar
  7. Project: A 12AX7 Valve Audio Preamplifier by Jim Rowe
  8. Project: Our Best LED Torch EVER! by John Clarke
  9. Product Showcase
  10. Weblink
  11. Project: Smart Radio Modem For Microcontrollers by Nenad Stojadinovic
  12. Project: The PICAXE, Pt.8: The 18X Series by Stan Swan
  13. Project: A Programmable PIC-Powered Timer by Trent Jackson
  14. Feature: PC Board Design Tutorial, Pt.2 by David L. Jones
  15. Vintage Radio: The 1953 4-Valve Precedent Mantel Receiver by Rodney Champness
  16. Notes & Errata
  17. Market Centre
  18. Advertising Index
  19. Back Issues
  20. Book Store
  21. Outer Back Cover

This is only a preview of the November 2003 issue of Silicon Chip.

You can view 27 of the 104 pages in the full issue, including the advertisments.

For full access, purchase the issue for $10.00 or subscribe for access to the latest issues.

Items relevant to "A 12AX7 Valve Audio Preamplifier":
  • 12AX7 Valve Audio Preamplifier Main PCB [01111031] (AUD $7.50)
  • 12AX7 Valve Audio Preamplifier Power Supply PCB [01111032] (AUD $10.00)
  • ETD29 transformer components (AUD $15.00)
  • 12AX7 Valve Preamplifier PCB patterns (PDF download) [01111031/2] (Free)
Articles in this series:
  • A 12AX7 Valve Audio Preamplifier (November 2003)
  • A 12AX7 Valve Audio Preamplifier (November 2003)
  • Using The Valve Preamp In A Hifi System (February 2004)
  • Using The Valve Preamp In A Hifi System (February 2004)
Items relevant to "Our Best LED Torch EVER!":
  • 1W Star LED Torch PCB pattern (PDF download) [11211031] (Free)
Items relevant to "Smart Radio Modem For Microcontrollers":
  • Smart Radio Modem PCB patterns (PDF download) [06111031/2/3] (Free)
Items relevant to "The PICAXE, Pt.8: The 18X Series":
  • PICAXE-18A Temperature Logger source code (Software, Free)
Articles in this series:
  • PICAXE: The New Millennium 555? (February 2003)
  • PICAXE: The New Millennium 555? (February 2003)
  • The PICAXE: Pt.2: A Shop Door Minder (March 2003)
  • The PICAXE: Pt.2: A Shop Door Minder (March 2003)
  • The PICAXE, Pt.3: Heartbeat Simulator (April 2003)
  • The PICAXE, Pt.3: Heartbeat Simulator (April 2003)
  • The PICAXE, Pt.4: Motor Controller (May 2003)
  • The PICAXE, Pt.4: Motor Controller (May 2003)
  • The PICAXE, Pt.5: A Chookhouse Door Controller (June 2003)
  • The PICAXE, Pt.5: A Chookhouse Door Controller (June 2003)
  • The PICAXE, Pt.6: Data Communications (July 2003)
  • The PICAXE, Pt.6: Data Communications (July 2003)
  • The PICAXE, Pt.7: Get That Clever Code Purring (August 2003)
  • The PICAXE, Pt.7: Get That Clever Code Purring (August 2003)
  • The PICAXE, Pt.8: A Datalogger & Sending It To Sleep (September 2003)
  • The PICAXE, Pt.8: A Datalogger & Sending It To Sleep (September 2003)
  • The PICAXE, Pt.8: The 18X Series (November 2003)
  • The PICAXE, Pt.8: The 18X Series (November 2003)
  • The PICAXE, Pt.9: Keyboards 101 (December 2003)
  • The PICAXE, Pt.9: Keyboards 101 (December 2003)
Items relevant to "A Programmable PIC-Powered Timer":
  • PIC16F628A-I/P programmed for the "Master of Time" PIC-based Programmable Timer [MOT.HEX] (Programmed Microcontroller, AUD $15.00)
  • PIC16F628A firmware for the "Master of Time" Programmable Timer [MOT.HEX] (Software, Free)
  • Programmable PIC-Powered Timer PCB pattern (PDF download) [04111031] (Free)
Articles in this series:
  • PC Board Design Tutorial, Pt.1 (October 2003)
  • PC Board Design Tutorial, Pt.1 (October 2003)
  • PC Board Design Tutorial, Pt.2 (November 2003)
  • PC Board Design Tutorial, Pt.2 (November 2003)
  • PC Board Design Tutorial, Pt.3 (December 2003)
  • PC Board Design Tutorial, Pt.3 (December 2003)

Purchase a printed copy of this issue for $10.00.

A programmable PIC-powered timer This PIC-based programmer can provide timing intervals from one second to over 16,320 hours (680 days) with features such as the ability to produce up to eight separate timing events with loop control, one minute on, then one second off, one hour on, one day off, one week on and more. “I s it accurate?” you ask. You betcha! Hard to program, complicated and expensive to build? Not at all. Most timers seem to be capable of only doing the one same thing, in allowing only one timing duration period with the relay either on or off during the timing cycle. But this PIC-based timer is capable of up to eight individual ON/OFF event times of up to 2040 hours ON/ OFF for each event. Seconds, minutes and hours programming in binary, with a one second resolution to boot, is all possible. Loop control allows all timing events to run in a continuous cycle all year round. All eight timing events are executed in a sequential fashion and therefore can be chained together to give one extremely impressive timing delay of 16,320 hours – or the best part of two years! 78  Silicon Chip A LED bargraph menu display is used when programming the timer, making operation a breeze. It can be powered from eight AA batteries or a 12VDC plugpack. All settings can be saved in EEPROM memory. You can even configure it to automatically open and then run these pre-saved settings on power up. Programming is achieved via a set of eight DIP switches that are used to set the various ON/OFF, seconds/ minutes/hours times in BCD (Binary Coded Decimal). If you don’t know binary, it’s not hard at all. Binary simply consists of BITs, (BInary DigiTs) and in our case we are playing with eight BITs. Each BIT has an assigned decimal value starting at 0 or 1 for BIT 1, 0 or 2 for BIT 2, 0 or 4 for BIT 3, 0 or 8 for BIT By TRENT JACKSON 4 and so on. The BIT values in decimal keep on doubling (ie, 1,2,4,8,16, 32,64 and 128). With eight BITs to play with, we can add their decimal values together to give us any number from 1 to 255. Here’s a simple example. To obtain a decimal value of 3 using our eight switches, we would use the following switch setttings: S1 = ON, S2 = ON, S3, = OFF, S4 = OFF, S5 = OFF, S6 = OFF, S7 = OFF, S8 = OFF. To make life easy, the switch number equals the BIT number. So as you can see we are simply adding the ON/OFF status of the switches together in various combinations to achieve many different decimal numbers. There are 255 possible combinations, thus the maximum number that we can create would be 255. The eight DIP switches are also used to set various options and parameters for the timer during the programming www.siliconchip.com.au mode. We’ll give more info on this later. Circuit description One PIC16F628 microcontroller, a 10-LED bargraph menu display, relay, piezo buzzer, DIP switches and diodes plus a handful of other low-cost components is all it really takes. If you thought that the PIC16F84 was great, the 16F628 is even better, with double the program memory, double RAM and EEPROM and – the best part – it’s even cheaper. The PIC is clocked by a crystal at a rate of 8MHz. Ports RB0 to RB7 on the PIC are used as inputs for collecting data from the DIP switches and as outputs for driving the LED bargraph menu display. This display shows exactly what we are doing during the programming side of things. It indicates whether we are programming the seconds/minutes/hours, ON or OFF times, and so on. www.siliconchip.com.au Ten 680Ω resistors limit the current to the display while eight 47kΩ resistors are used as pull-ups for RB0- RB7 when they are used as inputs. Two momentary pushbuttons are used for selecting the menu fields in the display, and entering data. Port RA1 controls the buzzer and an Acknowledge LED (LED11) which indicates buttons being pushed and data being accepted or rejected while programming. This LED is in series with the buzzer and a 27Ω resistor which can be increased or decreased in order to alter the volume level from the buzzer. The number of times the Acknowledge LED flashes and the buzzer beeps indicates what is going on inside the microcontroller’s brain at any given time. Pressing the Menu button will cause the LED to flash once and the buzzer to issue one single soft & fast chirp. Pressing the Enter button will cause the LED to flash three times and the buzzer to chirp three times as well. Invalid data will give two loud beeps. After pressing the Enter button, the PIC will read whatever data is on the programming DIP switches and then quickly process it. If the data is invalid, there will be two loud beeps and two flashes from the LED. Port RA0 controls the switching of the relay via transistor Q1 which is forward biased via a 2.7kΩ resistor when RA0 goes high. Diode D12 is connected across the relay coil to protect transistor Q1 from back-EMF spikes when the relay turns off. RA2 is used to enable/disable the DIP switches. RA2 goes low when the PIC wants to read the switches. At all other times RA2 is high, to avoid the switches from interfering with the LED display. The eight diodes that connect to PORTB are used to ensure that the DIP November 2003  79 80  Silicon Chip www.siliconchip.com.au switches do not interfere with the LED menu display while PORTB is used as outputs. RA0 on PORTA ensures that these diodes are reverse- biased when PORTB is set to output data to the display. RA0 briefly swings low for a few microseconds to allow correct biasing of the diodes, to enable the switches when they need to be read. Menu programming All programming is achieved by following the menu system described overleaf. It really is quite simple once you get the hang of the BCD BIT values. Massive time duration You may wonder how we can get a time delay of 2040 hours if we are limited to 255 hours of time delay setting. If you look at the programming chart, you will note there is a function under the “Hours ON/OFF” which sets X1, X2, X3, etc. These are the multiplication factors – what ever you set here multiplies the hours set. So if you have 200 hours set with a multiplication factor of five, you’ve got 1000 hours. The highest multiplication factor is eight (X8), and 8 x 255 = 2040. All components mount on one PC board. It is strongly suggested that a socket be used for the PIC chip. There are minor differences in the prototype shown above. But wait, there’s more! If you want even longer periods, you could set a number of events. Say you set four events with 2040 hours, you now have 8160 hours, or 340 days. Want your Christmas Tree lights to come on for the same week each year? OK, it’s crazy but it gives some idea of the flexibility of this timer. The theoretical maximum is 255 events x 2040 hours or 59.383 years. Possible? Yes it is – the PIC micro is guaranteed to retain its flash memory program for forty years, so what’s a few more years between friends? Programming event numbers easy: just get into the “Event Number” field on the menu and then select the appropriate DIP switches to the events required. Special functions Along with the event numbers, there are a several special functions available. Programming in a special function option is also done by setting the DIP www.siliconchip.com.au switches to the binary code that is allocated to the function, then pressing the “Enter” button. If Auto Run is enabled then whatever data is in the non-volatile EEPROM will automatically open, load and execute at power up. Save Data will save the current time durations and configuration data into non-volatile EEPROM. Open Data will replace all the current settings with whatever is in the EEPROM (any data which you have entered before executing the Open Data command will be lost). Reset Events will clear all current data that you have entered, without affecting the EEPROM. Reset All, on the other hand will wipe out everything including the data in non-volatile memory. It will also reset all options back to their defaults. Construction All the circuit parts are mounted on a PC board coded 04111031 and measuring 121 x 78mm. Assembly is quite straightforward. Start with the resistors and diodes (watch the diode polarities!) and then place the larger components. The three shorter links can be made from component lead offcuts. However, the longest link may be too long for this – you’ll probably need a short length of tinned copper wire. The two pushbutton switches must be oriented with their flat sides closest November 2003  81 Parts List – Master of Time 1 PC board coded 04111031, 121 x 78mm 1 2.5mm PC-mount DC power connector 1 12VDC DPST PC-mount 240V 10A relay 2 PC-mount momentary pushbutton switches 1 3-way PC-mount terminal block connector 1 8-way DIP switch 1 8MHz crystal (X1) 1 18-pin IC socket 5 6mm x M3 machine screws 1 M3 nut & washer (for securing regulator REG1) 4 10mm x M3 standoffs 1 set of labels to suit project 1 12VDC 150mA plugpack 1 short length of tinned copper wire (PCB links) Semiconductors 1 PIC16F628 PIC micro programmed with “MOT.hex ver 3.0” (IC1) 1 LM7805 3-terminal regulator (REG1) 1 BC548 or similar NPN transistor (Q1) 1 red 10-LED bargraph display (LED1 - 10) 1 green 5mm LED (LED 11) 10 1N914 silicon signal diodes (D1 - D10) 4 1N4004 power diodes (D11 - D14) Capacitors 1 100µF 25V PC electrolytic 1 10µF 16V PC electrolytic 2 100nF MKT polyester 2 22pF ceramic disc Resistors (0.25W, 1%) 2 10kΩ 8 47kΩ 1 82Ω 1W 5% 1 27Ω to (and parallel with) the edge of the PC board. Leave the semiconductors (especially the PIC chip) until last; indeed, it’s a good idea to leave the PIC chip out of its socket until after checking everything. Again, take careful note of semiconductor polarity and/or orientation. No case or other enclosure details are given – we figure that most timers would be built into whatever they are controlling. The prototype had four 5mm threaded stand-offs to act as “feet” while checking and then as anchor points later on. After giving the completed board a thorough visual check for both component placement and quality of soldering, you’re ready to apply power and check voltages. First, confirm that you have a +5V supply by measuring between the middle and lower legs of the 7805 regulator (this assumes that you have the switches at the bottom as shown in our drawing and photograph). Just make sure you don’t short the 82  Silicon Chip 1 2.7kΩ 1 15Ω 10 680Ω legs out with your multimeter probes. Also confirm that the 5V supply is reaching the PIC chip socket – measure between pins 4 and 5. You should also make sure that the relay is going to work when required by shorting pin 1 of the PIC socket to +5V (without the PIC in place!). This should turn on Q1, pulling in the relay. Some relays give a good “click” when they pull in but others are very hard to hear. If you’re in any doubt, rig up something to switch with the relay contacts, such as a small 12V lamp (or a LED and 1kΩ series resistor) connected across the 12V supply via the contacts. If everything checks out OK, disconnect power, wait a few minutes for any capacitors to discharge, then plug in the PIC chip. (Do we have to mention orientation again?). Now you’re ready to start programming. A programming example Let’s say for example that you have a pool filter that you’d like to have turn on for two hours every day of the year. OK, let’s assume that power is applied and the hours ON/OFF is set to the X1 factor and the Event Number LED is on in the menu. By the way, X1 is the default. First, start by selecting event DIP switch 1. It should be ON; all the rest set to OFF. Press the Enter (S2) button, followed by pressing the Menu button (S1) until the Hours & Relay ON Time LEDs are ON. Now set DIP switch 2 ON and all the rest OFF, press Enter again and then Menu until the Hours & Relay OFF Time LEDS are now ON. 04111031 www.siliconchip.com.au Software Menu System Explained When power is applied, the PIC will initiate a simple self test. All the LEDs will briefly light and the buzzer will chirp. Then the Event Number and Power Applied LEDs will be on. Toggling the “Menu” button allows selection of the various items within the menu system. Pressing the “Enter” button causes the software to read the status of the DIP switches and place the data into the currently selected field. The first item in the menu structure is the “Event Number”, which has a default of 1. Unless we want to program in data for another event, we can skip this menu item by pushing the “Menu” button. Everything except “Event Number” assumes a default value of 0 (zero). There is no need to erase previous settings – you simply write over them with new values. And if you don’t need to use a particular menu item (such as “Hours”), simply leave it set to the default. The basic data entry format is Seconds/Minutes/Hours for both Relay ON and Relay OFF times. www.siliconchip.com.au Here’s what you can expect to see after pushing the “Menu” button for the first time. Use the 8 DIP switches to select the number of seconds (in binary), then press “Enter”, followed by “Menu”. Now enter the number of minutes that you require the relay to be off. Made a mistake, or want to change a value in a field? Simply write over it and press the “Enter” button. Minutes, Relay ON Time field: It is as you did with the seconds, except now enter the number of minutes that you want for the current event, then press “Enter”, followed by “Menu”. Last in the time setting functions is the Relay Off Hours. The hours x option can be used to create enormous delays – up to 2040 hours for each event. Refer to the binary special functions chart for more info. Enter the number of hours that you require. Remember, if you don’t want hours (or any other parameter) simply press “Menu” to skip it. Provided that no data already exists, any field (except “Event Number”) will default to zero. The “Loop Events” function can be used to cycle the events to run continuously. Toggle “Enter” to enable or disable it. When it is enabled, the LED will flash (default is disabled). Next is the “Relay OFF Time”. It is simply the amount of time that the relay stays off until the next event is executed. So if you want an event to occur at the same time tomorrow and your “Relay ON Time” is 3:30:00, the “Relay OFF Time” would be 20:30:00. Press “Enter” then “Menu” to move on. Ready for action? Let’s run this baby! Toggle “Enter” to start/stop execution of your program. The LED will flash while it is running. Stop the timer and press Menu to go back to “Event Number” November 2003  83 Now we need to set in an OFF time of 22 hours. With 24 hours in a day, we want it ON for two hours and OFF for 22 hours. In 8-bit binary that number would be 00010110. BITs 2, 3 & 5 will need to be set, therefore switches 2, 3 & 5 must be set ON, all the rest set OFF. Do that, then press Enter and use the Menu button to scroll down to Loop Events. Toggle Loop Events ON by pressing Enter. Then it’s just a matter of pressing Menu again to go down to Run/Stop, followed by Enter. If all is well, the relay should switch ON for two hours then switch OFF for 22 hours, then repeat the cycle over and over again until you hit the Enter button again to break the timing loop. RELAY RELAY ON / OFF TIME DURATIONS DURATIONS BINARY BINARY PROGRAMMING PROGRAMMING CHART CHART 1 2 3 4 5 OGRAMMING 6 7 CHART 8T (DIP 1 ~ 8Switch ) TIMING EVENT SELECTION BINARY Y PROGRAMMING BINAR PR CHAR Dec Switch Value 16 32 64 128 DIP 11 22 34 48 5 6 7 8 ( 1 ~ 8 ) TIMING EVENT SELECTION BINARY BINARY PROGRAMMING PROGRAMMING CHART CHART DIP Switch 1 2 3 4 5 6 7 8 Dec Value 1 2 4 8 16 32 64 128 Sec/Min/Hr - Select the desired Sec/Min/Hr field on the Led menu display by toggling the menu button. Set the appropriate Dip switch codes in for your desired delay times, then press the “Enter” button. 1 ON OFF OFF OFF OFF OFF OFF OFF 2 OFF ON OFF OFF OFF OFF OFF OFF 3 ON ON OFF OFF OFF OFF OFF OFF 4 OFF OFF ON OFF OFF OFF OFF OFF 5 ON OFF ON OFF OFF OFF OFF OFF 6 OFF ON ON OFF OFF OFF OFF OFF 7 ON ON ON OFF OFF OFF OFF OFF 8 OFF OFF OFF ON OFF OFF OFF OFF 9 ON OFF OFF ON OFF OFF OFF OFF 10 OFF ON OFF ON OFF OFF OFF OFF 11 ON ON OFF ON OFF OFF OFF OFF 12 OFF OFF ON ON OFF OFF OFF OFF 13 ON OFF ON ON OFF OFF OFF OFF 14 OFF ON ON ON OFF OFF OFF OFF 15 ON ON ON ON OFF OFF OFF OFF 16 OFF OFF OFF OFF ON OFF OFF OFF 17 ON OFF OFF OFF ON OFF OFF OFF 18 OFF ON OFF OFF ON OFF OFF OFF 19 ON ON OFF OFF ON OFF OFF OFF ON OFF ON OFF OFF OFF 20 OFF OFF 21 ON OFF ON OFF ON OFF OFF OFF 22 OFF ON ON OFF ON OFF OFF OFF 23 ON ON ON OFF ON OFF OFF OFF 24 OFF OFF OFF ON ON OFF OFF OFF 25 ON OFF OFF ON ON OFF OFF OFF 26 OFF ON OFF ON ON OFF OFF OFF 27 ON ON OFF ON ON OFF OFF OFF 28 OFF OFF ON ON ON OFF OFF OFF 29 ON OFF ON ON ON OFF OFF OFF 30 OFF ON ON ON ON OFF OFF OFF 31 ON ON ON ON ON OFF OFF OFF 32 OFF OFF OFF OFF OFF ON OFF OFF 33 ON OFF OFF OFF OFF ON OFF OFF 34 OFF ON OFF OFF OFF ON OFF OFF 35 ON ON OFF OFF OFF ON OFF OFF 36 OFF OFF ON OFF OFF ON OFF OFF 37 ON OFF ON OFF OFF ON OFF OFF 38 OFF ON ON OFF OFF ON OFF OFF 39 ON ON ON OFF OFF ON OFF OFF 40 OFF OFF OFF ON OFF ON OFF OFF 41 ON OFF OFF ON OFF ON OFF OFF OFF ON OFF OFF 42 OFF ON OFF ON 43 ON ON OFF ON OFF ON OFF OFF 44 OFF OFF ON ON OFF ON OFF OFF 45 ON OFF ON ON OFF ON OFF OFF 46 OFF ON ON ON OFF ON OFF OFF 47 ON ON ON ON OFF ON OFF OFF 48 OFF OFF OFF OFF ON ON OFF OFF 49 ON OFF OFF OFF ON ON OFF OFF 50 OFF ON OFF OFF ON ON OFF OFF 51 ON ON OFF OFF ON ON OFF OFF 52 OFF OFF ON OFF ON ON OFF OFF 53 ON OFF ON OFF ON ON OFF OFF 54 OFF ON ON OFF ON ON OFF OFF 55 ON ON ON OFF ON ON OFF OFF 56 OFF OFF OFF ON ON ON OFF OFF 57 ON OFF OFF ON ON ON OFF OFF 58 OFF ON OFF ON ON ON OFF OFF 59 ON ON OFF ON ON ON OFF OFF 60 OFF OFF ON ON ON ON OFF OFF *Up 255BIT BITcombination combinations codes possible. Should sufficient most cases. Up toto 255 codes areare possible. (1 ~(1~60) 60) Should bebe sufficient in in most cases though. * EventValue Num Dec 1 2 4 8 16 32 64 128 1 Event2 Num 3 14 25 36 47 58 ON OFF ON ON OFF OFF ON ON OFF OFF ON ON OFF OFF ON ON OFF OFF ON OFF ON ON OFF ON OFF OFF OFF OFF OFF OFF ON OFF ON OFF ON ON ON ON OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF ON OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF OFF * * 6 OFF ON ON OFF OFF OFF OFF OFF OFF OFF if no event number is selected, the data will be placed in event “1” location * Event7 “1” Is default,ON ON ON OFF OFF OFF OFF OFF 8 OFF OFF OFF ON OFF OFF * Event “1” Is default, if no event number is selected, the data will be placed in event “1” location SPECIAL FUNCTION OPTIONS BINARY BINARY PROGRAMMING PROGRAMMING CHART CHART DIP Switch 1 2 3 4 5 6 7 8 SPECIAL OPTIONS BINAR PR CHAR Dec ValueFUNCTION 1 2 4 BINARY 8 Y PROGRAMMING 16 OGRAMMING 32 64 CHART 128T DIP Switch - To enter 1 into options 2 mode: 3Select “Event 4 Number” in5 menu, set6all switches7“ON” press 8Enter Function Dec ValueX 1 button, Event Number Led will flash. Now enter in the function codes, Menu button to exit mode. 1 2 4 8 16 32 64 128 ON OFF OFF OFF OFF OFF OFF OFF X2 OFF ON OFF OFF OFF OFF OFF OFF - To enter into options mode: Select “Event Number” in menu, set all switches “ON” press Enter Hours ON X 3 ON ON OFF OFF OFF OFF OFF OFF Function button, Event Number Led will flash. Now enter in the function codes, Menu button to exit mode. Hours ON X 4 OFF OFF ON OFF OFF OFF OFF OFF Hours ON ON XX 15 ON OFF ON OFF OFF OFF OFF OFF Hours ON OFF OFF OFF OFF OFF OFF OFF Hours ON X 6 OFF ON ON OFF OFF OFF OFF OFF Hours ON X 2 OFF ON OFF OFF OFF OFF OFF OFF Hours ON ON XX 37 ON ON ON OFF OFF OFF OFF OFF Hours ON ON OFF OFF OFF OFF OFF OFF Hours ON ON XX 48 OFF OFF OFF ON OFF OFF OFF OFF Hours OFF OFF ON OFF OFF OFF OFF OFF Hours ON OFF X X 51 ON OFF OFF ON OFF OFF OFF OFF Hours ON OFF ON OFF OFF OFF OFF OFF Hours OFF X 2 OFF ON OFF ON OFF OFF OFF OFF Hours ON X 6 OFF ON ON OFF OFF OFF OFF OFF Hours OFF X 3 ON ON OFF ON OFF OFF OFF OFF Hours ON X 7 ON ON ON OFF OFF OFF OFF OFF Hours OFF X 4 OFF OFF ON ON OFF OFF OFF OFF Hours ON X 8 OFF OFF OFF ON OFF OFF OFF OFF Hours OFF X 5 ON OFF ON ON OFF OFF OFF OFF Hours OFF X 1 ON OFF OFF ON OFF OFF OFF OFF Hours OFF X 6 OFF ON ON ON OFF OFF OFF OFF Hours OFF ON OFF ON OFF OFF OFF OFF Hours OFF OFF XX 27 ON ON ON ON OFF OFF OFF OFF Hours ON ON OFF ON OFF OFF OFF OFF Hours OFF OFF XX 38 OFF OFF OFF OFF ON OFF OFF OFF Hours OFF X 4 OFF OFF ON ON OFF OFF OFF OFF ON OFF OFF OFF ON OFF OFF OFF Save Data Hours OFF X 5 ON OFF ON ON OFF OFF OFF OFF Open Data OFF ON OFF OFF ON OFF OFF OFF Hours OFFON X6 OFF ON ON ON OFF OFF OFF OFF Auto Run ON ON OFF OFF ON OFF OFF OFF Hours OFFOFF X7 ON ON ON ON OFF OFF OFF OFF Auto Run OFF OFF ON OFF ON OFF OFF OFF Hours OFF X 8 OFF OFF OFF OFF ON OFF OFF OFF Reset Events ON OFF ON OFF ON OFF OFF OFF Reset Data “ALL” OFF ON ON OFF ON OFF OFF OFF ON OFF OFF ON Save ON * Hours Hours ON * * * * * Open Data OFF values.ON OFFfunctionOFF ONsaved data OFF OFF OFF Denotes default Reset “ALL” deletes all & restores factory defaults Auto Run ON ON ON OFF OFF ON OFF OFF OFF Auto Run OFF OFF OFF ON OFF ON OFF OFF OFF Reset Events ON OFF ON OFF ON OFF OFF OFF Reset “ALL” OFF ON ON OFF ON OFF OFF OFF * If you don’t wish to erase all of the timing data in any Denotes default values. Reset “ALL” function deletes all saved data & restores factory defaults given event, you can just erase what you don’t require in a menu field by setting all the switches to “OFF” and then pressing “Enter”. This effectively sets the timing interval to zero and therefore will not be executed as a delay (the software will see a value of “0” and skip it automatically). Wheredyagedit? This project was developed by the author for Global Unlimited Pty Ltd, who retain copyright in the PIC microcontroller code but have released the PC board and circuit. Global Unlimited have three different kits available which should meet the needs of most constructors. Kit 1 includes all components, the PC board, etc (but does not include a plugpack) for $64.95 including GST. Kit 2 is the same but is pre-built and tested and includes a 12-month warranty, for $89.95 including GST. 84  Silicon Chip Finally, for those who wish to “do their own thing” they have the pre-programmed PIC 16F628 microcontroller available for $24.00 (inc GST). All prices include packing and postage to anywhere in Australia (allow up to 28 days for delivery). Cheques should be made payable to Global Unlimited Pty Ltd. Global Unlimited can be contacted on (02) 4566 3218, or (02) 4566 3168. Their postal address is PO Box 3286, SC Dural NSW 2158. www.siliconchip.com.au