PERSONALROBOTICS
UNDERSTANDING, DESIGNING & CONSTRUCTING ROBOTS & ROBOTIC SYSTEMS
■ BY PHIL DAVIS
PARAMETERS ON THE FLY: Part 2
LAST MONTH, I CONCEPTUALLY DESIGNED A hand-held console which would
allow one to remotely change critical parameters in their autonomous robot.
Since last month, I decided that I wanted to go into more detail on the software
and some of the hardware components — specifically the Blue Tooth card — so
rather than finish the article up this month, I am making it a three-parter.
The idea behind this device is to
allow the changing of those variables which are typically used to tune
or control the robot. For example, if
you have a robot that is designed to
stop four inches from a wall, then you
will probably have a distance sensor
and a variable containing four, and the
bot will stop when the distance sensor
matches the variable.
However, when building your
robot you find that due to inaccuracies
in the distance sensor, your robot
actually stops six inches from the wall.
Typically, the only way to fix this is to
edit your code, recompile the program,
and download in into the robot. You
might find you have to do this many
times to get it just right. With the hand-held console we are building, however,
you will be able to do this on the fly,
without having to change the code.
The main component of the hand-held console is going to be the RF
module as this allows communication
■ PHOTO 1. Parallax EB500 embedded
Blue Tooth card.
between the bot and the console to
take place. This being the case, I
chose Blue Tooth since it has a range
sufficient for our purposes and is fairly
easy to connect.
THE EB500 EMBEDDED
BLUE MODULES
These terrific little Blue Tooth
cards are manufactured by A7
Engineering and can be obtained from
Parallax (see Photo 1). These cards are
designed to be used specifically for
use with Parallax’s AppMod header
and, in that configuration, are very
easy to use. However, as I am going to
connect these to my Mega32 board, I
need to know about the pinouts in a
little more detail.
As you can see from Photo 1 of
the EB500, there are two rows of 10
pins for a total of 20. These pins have
various functions, but for now, the
ones I am interested in are power and
TTL serial communications:
Power
GND — pin 1
VCC — pin 20
Comms
RX — pin 3
TX — pin 4
If you look at Photo 2, you can
see how I have connected this up to
my Mega32 board. I basically located
a header on my CPU board which had
GND and VCC and cabled that up to
pins 1 and 20 on the EB500. Since the
serial interface on the EB500 is at TTL
levels, I removed the RS-232 driver
chip on my board and connected pins
3 and 4 from the EB500 directly to
pins 9 and 10 of the Mega32. My
board has a header that exposes these
two pins. Photo 3 shows the EB500
connected to my STK500.
The EB500 has additional pin
output signals such as connection
status and mode control, which I may
use later, but for now, I’m just using
power and comms. Note also, the
long single wires can be replaced later
12
April 2007
■ PHOTO 2. Mega32
board hooked up to
an EB500.