Hero-1
walice_drel
Posts: 81
I happened to be lucky enough to get to Hero-1 robots with all upgrades manuals and chargers. I was wondering in anyone has any info on the speech board. I would like to use one of them on another bot but I have no info on the chips. If anyone has any info on it I would really appreciate it.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.myspace.com/droidworks
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.myspace.com/droidworks
Comments
If you decide to use it elsewhere, the logic is TTL so you'll need to provide 5v power to board; the amp is 12v. You could also remove a few components from the amp side and use the pre-amplified analog signal to feed into your own amp. Again, see the schematic foldouts -- there is a good "x-ray" view of both sides of the board. The amp portion is upper/center right on the board, if it is oriented as it would be when mounted on the 'bot.
That said, if your Hero is in working order, I'm not sure that using that board for another project is ideal -- newer "ready-to-go" speech boards usually work with a single serial line or an I2C bus, saving a LOT of pins or shift registers. Second, there is *no* text-to-speech on the Hero-1 board -- speech has to be built up one phoneme at a time (see the Speech Guide). The results can be nice, but it is *intensely* laborious, and even minor changes to a phrase can take much longer than you'd think... Third, Hero-1's are getting rare. They are beautiful 'bots -- old fashioned, but old-fashioned like a luxury Cadillac. But I'm biased, since I still use my Hero-1 built in high school
Robert Doerr (RobotWorkshop.com) is a member of these here forums. He has lots of great solutions for both repair of Hero-1's and for bringing them up into the modern era (e.g. serial/USB links).
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
When the going gets weird, the weird turn pro. -- HST
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.myspace.com/droidworks
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.myspace.com/droidworks
They are very cool and while some of the technology and design methods are somewhat antiquated, there's a lot of handy peripheral work built-in to the sensors, peripherals, etc. Also, the huge breadboard in the top is great for wiring in your own circuits -- I've taken a lot of what I learned working on Boe-bots and the like and made enhancements.
In any case, I didn't mean to be discouraging -- though like a rare classic automobile, these seem to get either used or sold -- so I pulled out the docs and here's the basic breakdown on the speech board (actually, the board would be pretty easy to interface to a Stamp, SX, Prop, etc.).
Looking at the board component side up, as it would be mounted on the frame of the 'bot, the left side pins are numbered 1-12, from the top down (P501). Right side pins are 13-16, top to bottom (P502)
Pins 1-2 = pitch for the phoneme (0-3 binary) -- D7 and D6 of a byte, e.g. BIT7 and BIT6 of the phoneme byte. These are "real-time" pitch controls -- they work regardless of what's latched into the data buffer.
Pin 3 = strobe in (i.e. "latch") -- pulse high to "latch" phoneme into the buffer, when taken low, the phoneme is spoken
Pin 4 = strobe request -- output -- this pin is LOW if the board is speaking (not ready), HIGH when finished
Pins 5-10 = phoneme selected -- a 6 bit phoneme to latch into the buffer -- P5 is the MSB (BIT5)
Pin 11 = on/off (i.e. enable/disable -- set this pin HIGH to turn the board on; LOW to turn it off (save power)
Pin 12 = no connection
Pin 13 = +12v
Pin 14 = GND
Pin 15 = +speaker (amplified output)
Pin 16 = no connection
So... to use another micro to generate speech, you would hook up 8 pins (a DIR on the Stamp) with the highest pins on that port (bit/pin 7 and 6) for the pitch, and 0-5 for the phoneme.
Then use two other pins -- one for the pulse out to the latch (strobe enable) and one to check the "busy" line. And one more to turn the card on and off. That's 11 pins. A shift register would cut it down some. And you could just tie the enable line high. But still
Write a byte to the pitch and data pins, with the two highest bits being the pitch, and the lowest 6 being the phoneme (see Speech Dictionary for the table).
(e.g., binary -- %PPDDDDDD -- PP is 0-3 pitch; DDDDDD is phoneme)
But remember you have to send EACH phoneme, then let it speak, then check the status, then send the next phoneme....
In pseudo code it would be something like this (without including "end of data" logic):
The problem here is sheer maintenance -- each phoneme has to be sent as soon as the card is ready, and it takes a lot of phonemes to make a sentence. On an SX or the Prop this could be done easily, in an ISR or in a dedicated COG; on a Stamp it would depend on how much else the Stamp is doing. Most of the phonemes are in the 40ms-120ms range, so in theory you could run the card and still take care of a few servos or something.
On the Hero-1 this is moot -- the CPU has built-in ROM interpeter that takes care of the process -- the programmer only needs to call the interpreter, send the commands and the raw phoneme string, and the rest is hard-coded background routines.
But it's a far cry from modern cards which let you send a plain text string across one pin, and have it all play back in one shot. I use Emics in my newer 'bots partially because after years of programming phonemes in hex, typing a sentence is incredible luxury.
One correction to my earlier post -- this board does not need 5v power -- logic power is supplied through an on-board supply circuit (which is turned on and off with the enable pin). You only need 12v. But it needs to be REGULATED 12v.
Naturally, Speaker GND, Microcontroller GND and the Speech Board GND would all need to be tied together.
Check the schematic for the speech board; it's one of the "large-format", folded, poster-sized documents). The description of how the board works is on page 77 and 78 of the Technical Manual (one of the blue books with orange robot graphics on them).
Last but not least, if you want to use it, there are BASIC-like and C-like compilers you can use -- the 'bot is programmed in old 808X machine language.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
When the going gets weird, the weird turn pro. -- HST
Post Edited (Zoot) : 8/27/2007 2:48:08 AM GMT
http://www.archive.org/details/Robotics1984
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.myspace.com/droidworks