Let's Make Robots!

SpeakJet howto

Give your robot a voice

 

Your browser is not able to display this multimedia content.

Your browser is not able to display this multimedia content.

Your browser is not able to display this multimedia content.

AttachmentSize
amp.sch_.mp3172.94 KB

OK,you can read it now

 

 

"The SpeakJet is a completely self contained, single chip voice and complex sound synthesizer."

This walk thru will show how to use the SpeakJet with a Picaxe.


 1. The first thing to do is make sure the chip is working to start with. This configuration will put the IC into demo mode, you should hear some voice/soundFX. (see video 1)

 

 demohookup.jpgdemo.jpg

 

I didn't have a 120ohm (12ohm?) speaker (I don't know if an 8ohm would do any harm?), so I  ran the output  to an amp, then to an 8ohm speaker instead (you can buy a kit from here)

lm386.jpg 

 


2. Now that you know it's working it's time to hook it up to the picaxe. In this example, we'll use output 0 on the picaxe to go to the serial in of the speakjet.

 

 speakjet_pic.jpg  

 

From the manual -

"The SpeakJet serial configuration is fixed at: 8 bits, No- Parity,and 1 stop bit (8, N, 1) and non-inverted, (RS-232 is inverted logic and higher voltages). The Speakjet can be configured to accept Baud rates from 2400 to 19200. The factory default setting is 9600 baud. This baud rate can be changed any time by placing the SpeakJet into the “Baud Rate Configure Mode."

Unless you overclock your picaxe, 9600 is too fast, from the manual again -  

"If the SpeakJet is in the Demo/Test mode and a momentary Low logic level is placed on Mode Select M1, the Speakjet starts a Sonar Ping sound to indicate the Baud Rate Configuration mode is selected. At this time the Speakjet is waiting for a serial sync character (hex 55) to set the internal clock for the baud rate that is to be used. Once the baud rate is captured, the Speakjet automatically stores this value in the EEPROM and returns to the demo mode. The SpeakJet will continue to use this new Baud Rate until configured again." 

So from this we see we need to put the SpeakJet in demo mode, then ground M1 (pin 12), when you hear the sonar pings, have the Picaxe send serial data (55 hex = 85 decimal) at the baud rate you want (I use 2400).  (see video 2)

 

 baud_set.jpg

 

main:

serout 0,t2400,(85)

pause 2000

goto main

 


3. Take the chip out of demo, and put it in serial mode by moving pin 13 from V+ to GND:

 

finished.jpg 

 


 4. Now we should be ready to send commands to the speakjet. The manual talks about phonemesallophonesDiphthongs, WTF. But Magnevations has made 'PhraseaLator' available:

phrasealator1.jpg 

 The software is pretty self explanatory, type something into the 'Say Data' area, press view codes, copy this into your program

 phrasealator2.jpg

 So your program would look something like this: (see video 3)

 

main:

serout 0,t2400,(20, 96, 21, 114, 22, 88, 23, 5, 183, 7, 159, 146, 164, 147, 151, 145, 176)

pause 2000

goto main 

 

 It's all fairly easy, have fun! Let me know of any mistakes.

 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

No.

(You do not need a reason; It is a robot, it needs to say stuff because you can make it do it! :)

true

I do have an Idea now after a bit of thought

this little projects would be a cool application of this http://letsmakerobots.com/node/1882

It mentions that the output is 25mA max. A 120 ohm speaker indicates that the chips output must swing about 3Vp-p as 3V/120ohms=0.025A or 25mA. So you either need a speaker like Jka found or use an amplifier like Ant did which will also give you a higher / more controllable volume. One of those little LM386's would probably do.
I cannot play the attachment MP3,have tried different computers now?
Sorry, I forgot to make a note in th post, that is an EagleCad file, but I couldn't upload it as it was (file extension) so I renamed it as an mp3.

Hey, nice work!

Please PM me your postal address, I'll send you a SoundGin, so you can try that as well! (Some say they are compatible, and I don't have the time to make your setup, but you have it ready, just insert a oundgin..)

thanks, will do.

Thanks ANT this is a compleate post good info good schematics, I will have to order "loved the voice".

iamdenteddisk@yahoo.com

 

 

Send you

One Soundgin bare chip (no amp etc)
One grain of your own polymorph  (just to send it across the globe a couple of times, it is below the chip in the box)
One pretty loud soundmaking thingey that you can hack: change / add recistor across poles, and sound is morphing :) (Cool with LDR, or make a laser gun-sound)

:)

I'd rather my robots sound like robots. At the moment using the limited picaxe sound commands, my robots sound more like bonker doorbells :]

Oh and by the way, great walkthrough Ant!! Where did you get your speakjet from? I can only find one place and they want $50AUD.