PIC-Based Archos Remote
instructions (no operation). These allow the switches to be
read accurately and are necessary because the pullup
resistor on GP3 is about 10x larger than the pullups on
GP0 and GP1, causing a delay before this input accurately
reflects the switch status.
Once the switches have been debounced, the data read
from the switches is converted into a command that is used
to determine the necessary action, implemented by a call
(actually a goto) to fntable. To save space, only one- or
two-switch combinations are decoded. If the user presses
three or more switches simultaneously, they are ignored.
For the Next, Previous, Stop, and Play switches, a
single command is sent to the recorder, even if the switch
is held down. When the volume is being changed, however, it is useful to send repeated changes while the switch is
depressed. For Volume Up and Volume Down, therefore,
the WDT period is made shorter (about 140 ms) prior to
sending the initial command and then going to sleep. After
an initial delay of about 750 ms, a repeated command is
sent every time the WDT wakes the PIC up, until the switch
The six single-switch commands are those we’ve
already discussed. Only one two-switch command is currently
implemented — if the Volume Up and Volume Down keys
are pressed together and held for more than a couple of
seconds, the remote goes into Calibrate mode, which
is discussed in the next section. All other two-switch
combinations are discarded. If additional commands need
to be implemented later, the code can be easily incorporated
Hardware construction: Rating 2.
The construction of the high-roller is simple. Anyone with
basic electronic skills (soldering, reading a schematic, and so on)
will be able to put the unit together. You will need to be careful
when soldering the surface mount components. Use a fine
point soldering iron and work as quickly as you can.
Software: Rating 2
The software is a little more complicated and uses some
techniques that require some thought to understand. However,
it is well commented and relatively short, so, if you have some
familiarity with PIC assembly language, understanding the code
will not be difficult.
Programming the device requires that you are able to use
a programmer. Alternatively, I can provide a pre-programmed
PIC12LC508A for $10.00, including shipping from the UK.
Anyone wishing to purchase a pre-programmed chip should
first contact me at pic. firstname.lastname@example.org
Affordable Motion Control Products
Circle #58 on the Reader Service Card.