FIGURE
5.
FIGURE 6.
Switched power connections and
amplifier input on the PCB are easily
traced with a multimeter. I removed
the bottom three-conductor audio
input cable entirely, and added two
mounting screws while I was in there.
RoboVoice audio output from pin 26
goes through a 10 µf cap into TWO
connections on the amplifier PCB
since it originally had stereo input.
Just connect both together. You'll get
reduced audio output if you only use
one. BoeBot's breadboard area is just
17 rows long and nearly filled up by
the 14-pin-long RoboVoice chip. That
leaves just three rows of holes
remaining after the chip is inserted.
How do you add an LM386 audio
amplifier then? CHEAT!
First, I gently folded the unused
pins underneath the chip so they
didn't even plug into the breadboard
(Figure 5). Second, lower pins 14 and
15 are not used and hang over the
edge of the breadboard in the breeze.
(Not pretty, but it works!)
Those two cheats let you fit both
chips into the breadboard and free up
enough rows to make all the required
connections (Figure 6).
A 3.3V regulator is required to
power the 512. I found that the
minimum-parts LM386 circuit — a 20X
amplifier — drove a 16 ohm speaker
with sufficiently loud volume. This was
coupled to the RoboVoice directly
through a 10 µF cap — no pot was
used. Just for fun, I mounted the
speaker on a servo to move it; the
coffee cup horn definitely makes the
sound louder and directional. An
alternative to using the LM386 would
be to use a hamburger amplifier
speaker with only the RoboVoice chip
plugged into the breadboard.
BASIC Stamp 2: Three simple
connections use jumper wires or 10K
resistors from the breadboard area to
the adjacent pin headers. Pin 7 will
use SEROUT 7,84,["hello
world",CR] for speech; CR is a
carriage return.
Arduino Uno: No shield is
required since the female headers
make it easy to connect. Digital pins
12 and 13 are adjacent to a ground
connection; the male end of a servo
extention cable plugs directly into
these three connections. You will
open a software serial port and use
Speak.println("hello world");
for speech. Note that println
includes an automatic carriage return
at the end.
PICAXE 20M2: To achieve 9600
baud, the 20M2 must be run at 8 or
16 MHz (default is 4 MHz); 16 MHz is
recommended for robotics apps since
the servo commands are calibrated
only for 4 and 16 MHz. Nearly any I/O
pins can be used, but note that C. 6 is
input only.
Per the manual, set the serial
output pin high briefly before sending
true data. Pin 4 uses SEROUT
4,T9600_ 16,("hello world", 13) to
invoke speech. That 13 is a carriage
return.
A PICAXE makes an inexpensive
terminal to experiment "live" with the
512 chip. A $4 PICAXE 20M2 can
read a computer keyboard directly (no
host computer) and sends the data to
one of the 512 speaker/amp modules.
There’s a video at www.youtube
.com/watch?v=UhhDEhzF3PM if
you’re interested.
With the addition of an LCD
screen, you have the makings of a
Speak & Spell type application. A
video of the Arduino and BoeBot
singing is at www.youtube.com/
watch?v=J5GMOAIQbJ4.
Using RoboVoice
The RoboVoice can be used with
SERVO 11.2012 47