This is only a preview of the March 2003 issue of Silicon Chip.
You can view 27 of the 96 pages in the full issue, including the advertisments.
Items relevant to "LED Lighting For Your Car":
Items relevant to "The PortaPAL Public Address System; Pt.2":
Articles in this series:
Purchase a printed copy of this issue for $10.00.
MORE FUN WITH THE PICAXE – PART 2 A Shop Shop A Shop Door Minder . . . Door Minder . . . Door Minder . . . with attitude! with with attitude! attitude! by Stan Swan L ast month (Feb 2003) we introduced the innovative PICAXE08 IC and a simple application, a flashing LED, all built into a solderless “PICNIK box”. If you didn’t see last month’s issue, it will pay you to get a copy and read it because some of the concepts might be a little different to what you’re used to, such as BASIC Stamps, etc. By now, readers should have familiarised themselves with basic operations and the commands high, low, pause and goto. PICAXE instructions are much the same as used in classic BASIC programming. There are a lot of BASIC texts around (no pun intended!), such as Greg Perry’s “QBASIC by Example” (QUE 1993) or from the Parallax BASIC Stamp Programming Manuals. There’s also a huge amount of information available on the ’net. Given that you don’t need to be a programming guru to use PICAXE instructions, initial applications here will be educational rather than exotic. PICAXEs have only enough RAM for about 40 program lines, so there’s some incentive to code efficiently! Our simple application here uses about half the memory available, so room remains for your own tweaking. buzzer sound long enough to be noticed; sometimes the buzzer “locks on” when it is actuated to behave more like an alarm. This month’s circuit acts as a “shop door minder with attitude”, since it not only sounds a buzzer when the light beam is broken but also provides a simple “traffic” indication by flashing a LED at an increasingly faster rate with each event. Now that could be handy – if you don’t happen to own a shop and wish to count customers, this project could, at a glance, tell you the number of times your cat door is opened! Don’t own a cat? You’ll think of something to count! The flash rate increases are not linear but counts per minute can be noted and related to visitor numbers via a simple lookup table. A further LED could even be added (pin 0?) to indicate a count of 10 had been reached, at which point the main counter could drop back to a slow rate again. By this means, up to perhaps 30 events can be quite reliably “read off ”. If a PC remains attached, the exact count (to 255 events) can be just read off using debug. Mmm – 255 cats visited last night ? What IS in your pantry! The circuit Aside from the core parts mentioned last month, just a few extra resistors are Shop Door Minder A shop door minder usually consists of a light source which creates a beam, a light sensor which detects that beam and a buzzer circuit which sounds when the beam is broken. Sometimes there is a delay circuit to make the www.siliconchip.com.au If you don’t happen to own a shop, you can always find something else to count – just remember to take into account four legs and a tail . . . March 2003 79 A “debug” screen shot. This reveals just how useful such PC feedback is – you can note all the variables ticking away nicely! used, one of which is a light dependent resistor, or LDR. Your setup values may vary depending on your application but 100Ω in the voltage divider, plus similar as a LED dropping resistor, should do. For initial trials a small bright light (perhaps a white LED) is also needed. More practical setups could see the light path extended with lenses, shrouds or even a mirror. Only small currents pass along the wires so leads to the LDR and light can be conveniently placed. Things really depend on the stray background light seen by the LDR, although this can be allowed for to some extent by altering readadc threshold values. For a longer light path the lens from a pocket torch may help to concentrate the beam, while the LDR could even be recessed into the torch If this looks somewhat similar to last month’s project, it just might be! The basic differences are the LED and LDR which provide an “analog” input to the PICAXE. The PICAXE programming does the rest. base to give shading from stray light. The program’s readadc threshold value, initially 160, may need lowering to suit of course. To prevent false triggering from shadows, reflections or visitor legs (or tails!), a small delay, perhaps “pause 500”, may be needed in the readadc loop. Obviously this delay may cause the unit to become unresponsive if events occur too rapidly. Having a light on to hold the alarm off may be wasteful of battery power of course. Perhaps you could modify the program so that darkness holds the sensor off and room light alone is enough to trigger things – much as would occur when a medicine cupboard door was opened. The point of these PICAXE circuits is to stimulate your interest, to see what can be done very cheaply and to help you come up with your own variations. Of course, we will help you along the way with more applications to keep those creative juices flowing! Incidentally, if you come up with a scathingly brilliant PICAXE application that you would like to share with the world (and perhaps feature on these pages), please feel free to email me – s.t.swan<at>massey.ac.nz Where to get the PICAXE-08 Currently there is no Australian distributor. Order direct from the UK agents (Revolution Education) on line shop www.techsupplies.co.uk – they are very prompt. There are a few differences between the photo above and the Protoboard layout at right. Follow the layout and you shouldn’t go wrong! 80 Silicon Chip www.siliconchip.com.au PICAXE-08 COMMANDS USED THIS MONTH readadc PICAXEs have a valuable Analog to Digital Conversion (ADC) feature, which in theory converts “real world” analog voltages into 256 steps of digital equivalents. There’s an unavoidable deadspot on the upper range however and the resulting 160 divisions are treated in blocks of 10, so only 16 discrete values are available! Although obviously unsuitable for MP3 encoding or the like, this is quite enough for many simple applications. In fact our circuit here uses ADC at just a yes/no level in response to an LDR’s (light dependent resistor) resistance changes with illumination, so not even all these 16 divisions matter. Pin 1 ADC input needs a voltage rather than a resistance, so the old voltage divider trick is rustled up, involving two series resistors connected between +ve and ground with their midpoint delivering a variable voltage as the LDR value changes. The readadc command finally assigns this ADC value to a program variable at pin 1. Alter the readadc threshold value or resistor (here 160Ω and 100Ω) to fine tune with your LDR and light path. Incidentally, LDRs typically have a resistance of 1 MΩ + in the dark and around 1 kΩ in bright light, with a quite rapid response as illumination alters. sound With the suggested piezo speaker, sounds can be directly produced from output pins using the sound command. Most piezos are optimised for high frequencies (typically 4kHz) so fidelity may be poor for other tones. It’s worth experimenting with your setup, since a more distinctive “fruity” alert may be produced with two sounds together. debug If the serial programming cable remains connected during PICAXE runs, program data values can be usefully monitored on the PC screen. Up to 16 “byte” variables (b0 - b15) can have tabs kept on them. pulseout This provides timed duration output pulses (to microseconds) at specified pins, and effectively packages up HIGH, PAUSE and LOW in one efficient command . for - next (step) Creates a repeating loop that executes program lines between the FOR and NEXT statements as it increments. The optional STEP value defaults to 1 unless specified. maths operations Variables to a maximum value of 255 (at which point they roll over) can be added, subtracted, multiplied or divided, with left to right solving but with only integer solutions. Hex and binary are also handled but brackets are disallowed and fractional portions of results are discarded (although clever techniques can off set this). BASIC PROGRAM LISTING (This can also be downloaded from http://picaxe.orconhosting.net.nz/adcprog.bas) ‘ Demo program for March 2003 SilChip PICAXE-08 article Ver1.0 20th Jan 2003 ‘ Best assembled & tested with solderless “PICNIK” box as detailed SilChip Feb03 ‘ Refer http://picaxe.orcon.net.nz for background info & potential of PICAXE-08 ‘ Extra parts = LDR, White LED, Red LED, 2 x 100 Ohm, 1 x 330 Ohm, piezo speaker ‘ LDR & illuminating light can be moved apart- maybe use lenses & light guides? ‘ New commands here = sound, readadc, debug, pulsout, for-next & simple maths. ‘ Ref.PICAXE prog.editor .pdf help files,& BASIC Stamp manuals etc for insights ‘ via Stan SWAN (MU<at>W, New Zealand) => s.t.swan<at>massey.ac.nz <= ‘—————————————————————————————————— ‘ Byte variables b0 = LDR “resistance value” b1 = event counter ‘ b2 = pulse delay in msec b3 = sound loop ‘ Strictly only the LHS code below is needed. Remarks (‘) can be ignored ‘—————————————————————————————————— sound 4,(100,10,80,10) ‘initial dual sounds to inform that powered up ldrdemo: readadc 1,b0 debug b0 if b0 <160 then beeper b2 = 250/b1 if b2 =0 then ldrdemo pulsout 2,1000 pause b2:pause b2:pause b2 goto ldrdemo ‘ LDR resistance monitoring routine ‘ read LDR low resolution value via voltage divider ‘ show variable LDR value(s) to attached PC screen ‘ warbling alert tones when LDR shaded ‘ produce delay value.NB max variable value is 255 ‘ prevents LED flash when not yet triggered ‘ pulse LED pin 2 for 1000x10 microsec = 10millisec ‘ more events give decreasing delay between pulses ‘ continually loop unless LDR shaded beeper: for b3= 1 to 3 sound 4,(100,20,80,20) next b3 b1=b1+1 goto ldrdemo ‘ piezo speaker 2 tone sound routine ‘ loop to sound tones 3 times ‘ repeating dual tones each 20 msec ‘ sound loop increment ‘ event counter increment ‘ return to monitoring routine www.siliconchip.com.au Some more references . . . 1. “QBASIC by Example” Greg M Perry (Que Books 1993) 2. Parallax Inc, the BASIC Stamp originators, have free resource downloads (.PDF files) via their web site (www.parallax.com) BASIC Stamp Users Programming Manual Version 2. (351 pages, 3.2MB download) BASIC Stamp 1 Application Notes Ver 1.9 (126 pages, 1MB download). 3. “The Art of Electronics” Horowitz and Hill (Cambridge University Press 1989). Chapter 9 offers good ADC insights. NEXT MONTH: The Picaxe by now you should know, Gives sounds & makes LEDs glow, But it also does more, Next ’tis a PWM chore, And all for very small dough! SC March 2003 81