Your robotic problems solved here.
between these two rows on the bottom side of the board,
and install jumpers to connect and disconnect the two
blocks. I chose to install a row of header pins and just
removed the MAX232 chip so I could use those pins
directly. If your chip is soldered instead of in a socket,
you'll have to cut the traces on the bottom of the board.
There are two signals that are important to us on
these headers: The RxD signal will be used to talk to the
Soundgin chip; and the CTS line will be used to know
when the Soundgin receive buffer is getting full. There is a
set of six header pins immediately below the Soundgin
chip in the center of the board. There are a bunch of
signals there, most of which aren't defined. There is one
signal that we do want: the Q pin.
There are Soundgin commands that
set and clear that pin, and I'll show
you why that is really useful for our
firmware to do that.
To the upper right of the
Soundgin block, there is a set of
jumper pins labeled D, B, and R.
Those are the demo, baud, and reset
jumpers. If you short the demo pin
and power up the Soundgin, you will
hear it speak all of its phonemes.
Jumpering the baud pin will change
the Soundgin from its default 9600
baud to 2400 baud (must have had
the Parallax Stamp in mind here). The
reset jumper has an obvious function.
The Soundgin board does not power
up gracefully each time, so resetting
it turns out to be essential from time
We can hack in a power-up reset
circuit on this board to help us. We can add a 10K resistor
between the reset pin and 5V. Then, we can add a .1 µF
cap to ground on the reset line; these should do the trick.
Alternatively, we can control the reset line with an Arduino
output pin and make the reset a certainty.
To control the Soundgin board, here are the signals
that I used and connected to my Arduino controller.
Soundgin Signal Arduino
RxD (serial receive) IO- 7
CTS (flow control) IO- 3
Q IO- 2
nRESET IO- 9
SERVO 03.2014 15