Arduino-SpeakJet.PNG (5245Bytes)
Hey, I can hear it now! You've been here for HOW LONG and you haven't POSTED A BLOG????
Hey, I'm I just not a very "daily blog" kind of person. It takes me FOREVER just to design and build something. Course then it is often "over-engineered" - so of course it takes me a long time, and I just don't take the time to blog. :-(
Anyway, the time has come that I at least try a little bit to break this bad habit...
For awhile, I'll need to catch everyone up with what I've been doing - maybe I can do that over the next few weeks (or months). :-()
For this entry, I chose to write about some stuff I've been doing with the SpeakJet. I was quite inspired by Ant's Tip on the SpeakJet. My recent "microcontroller of choice" has been the Arduino, so it was my "natural" choice.:-)
Using Ant's schematic as a starting point (which BTW appears to be straight out of the SpeakJet user manual) I started hooking wires up to the SpeakJet.
1st I did as Ant suggested, and wired the SpeakJet for "self-test" mode and added an LM386N audio amplifier that I had laying around in my junk box. This worked out just great and I had sound - a bunch of grunts, vowels, consonants, beeps, boops, and squeaks *success* (sorry, no video - I started this project back in January and I didn't take a video of the initial test then - will have to make up for it later I guess - at least I have video of the thing speaking).
Then I wired it for the Arduino. Back in January, I had just built a "Freeduino" (Arduino-clone) from SeeedStudio - so it was my victim test subject.
Below is my "hastily copied only the relevant stuff" from my hand-drawn schematic into Eagle as my original drawing has hand-written notes all over it and is pretty much unreadable to anyone but me anyway :-)
The resulting wired prototype looked like this:
Next I needed to write some code for the Arduino. This was a pretty straightforward conversion from Ants example as well. After a few minutes of tweaking I got the Arduino to speak! Too cool! With the help of the PhraseALator software that I got from Speakjet.com I the got the codes I needed to re-write it to say "Let's Make Robots" of course. :-)
// letsmakerobots demo
// a short sketch written by droidbuilder for demonstration at letsmakerobots.com
// set up a new software serial port
//rxPin: the pin on which to receive serial data
//txPin: the pin on which to transmit serial data
#include <SoftwareSerial.h>
#define txPin 2
#define rxPin 3
// set up the SoftwareSerial port to connect to the SpeakJet
SoftwareSerial SpeakJetSerial = SoftwareSerial(rxPin, txPin);
void setup()
{
// define pin modes for tx, rx pins:
//pinMode(rxPin, INPUT);
pinMode(txPin, OUTPUT);
SpeakJetSerial.begin(9600);
// char array holding the 'lets make robots' string we want to speak
char SayIt[] = {20, 96, 21, 114, 22, 88, 23, 5, 145, 131, 193, 6, 140, 154, 196, 6, 148, 7, 137, 7, 164, 18, 171, 136, 193};
SpeakJetSerial.println(SayIt); // send it to the SpeakJet
}
void loop()
{
// infinite do-nothing loop
}
Watch the video attached to listen to the result!
It was all pretty easy to get going. I have much more to show about the SpeakJet at a later date. Stay tuned!
Update 2009-11-6
Since the schematic I had posted here was SO SMALL I uploaded a new schematic image... Hopefully this one will be more readable!
https://www.youtube.com/watch?v=302BvTyBPg0