Figure 2. Tiny26 robot board.
The only parts of the board that we’re going to use are
the two LEDs attached to an IR proximity detector circuit.
The LEDs labeled D4 and D5 are the ones that we will blink.
You will notice that on this board the programming header
is a 10-pin one and the AVRISP 2 board we have chosen has
a six-pin connector. (Sigh, that is progress.) It used to be that
the 10-pin interface was the most common AVR one in use.
Times have changed and the six-pin cable is now the popular
one. To deal with this, I made a converter board to translate
from the six-pin to 10-pin interface. Our friends at SparkFun
have a nifty breakout board that does this nicely, too. Figure
3 shows both my translator and the SparkFun board. You’ll
Figure 3. Programming header conversions.
20 SERVO 09.2008
need to know what this translation should be, so Figure 4
shows the pin-out of a six-pin programming header. You can
build your own converter using the schematic and Figure 4
or just buy the breakout board from www.sparkfun.com/
commerce/ product_info.php?products_id=8508.
When looking at the schematic in Figure 2, note the
port/pin names that the LEDs are attached to. Compare
those names with the program example. This will show you
how avr-gcc references ports and pins and how they are
usually called out on the chip in the Atmel documentation.
Okay, now we have our programmer and our robot
board with LEDs to blink. How do we make it all work
together? Hold on to your magazine — we are now going
to descend into serious tech geek work. We need to understand how to find serial
port “cu” driver dev files
in UNIX land on the Mac
OS X. We need to learn
how to use <gulp!> UNIX
man pages and we need
to read Atmel AVR technical
documentation. If there
are any Linux guys still
Figure 4. Six-pin AVR
programming header (top view).