Build an Arduino-powered talking robot head!

 by xtremd
Contest WinnerFeatured
This robot head was originally built as a end of the year project for my physical computing class, but over the summer it has "learned" how to talk.

The head is powered by two Freeduinos, 3 TLC5940NT chips and an Adafruit Industries Wave Shield found here: www.ladyada.net/make/waveshield/. The head is currently connected to a computer by two USB cables, one for power, one for sending it serial commands on what to say/emote. Once the head receives the typed commands on what to say/emote it plays back the individual word files in order creating a sentence or multiple sentences. It also changes its emotions according to the emotional commands sent from the computer.

This robot head is a foundation for many possible applications since it can say anything that it has the vocabulary for. Right now I am currently working on connecting it to the internet and making it check and read my email via PHP script. I will update this Instructable as I progress along with that.

Here's a video of it in action:


The head is still an on-going project so any comments on anything here are more than welcome!

Special thanks to Liz Arum for helping me with everything!

Update: Due to popular request I now have now added a video of the robot talking and expressing itself! Enjoy at your leisure!
 
Remove these adsRemove these ads by Signing Up

Step 1: Compile all materials/parts/electronics.

This robot head uses:

1 Breadboard (It has to be more than 48 rows long with a gap running down the center of the board to connect IC chips. A power and ground bus running along the side of the breadboard is also a necessity.)

2 RGB Leds (For the multicolored eyes) Common Anode. $1.50 - 1.95 each. 2 X $1.75 = $3.50

36 Red Leds (For the mouth) somewhere around the 40-50 cent price range for each. 36 X $.45 = $16.20

2 HXT900 Micro Servos (For moving the eyebrows) Can be found at:  http://www.hobbycity.com/hobbycity/store/uh_viewItem.asp?idProduct=662 2 X $3.65 = $7.30

3 TLC5940NT's (To drive/light up all the Leds and control the servos) can be found at Digi-key http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=296-17732-5-ND where they are priced at $4.28. 3 X $4.28 = $12.84

or Mouser http://www.mouser.com/ProductDetail/Texas-Instruments/TLC5940NT/?qs=sGAEpiMZZMu8%252bGBKj8XSFEjwsgnt5grMZ49G/W4nR14%3d

3 Capacitors (~1000uf) (for ironing out line noise from the Leds and servos) Salvaged from an old computer power supply. Free

2 Original Freeduinos or Arduinos.  The Freeduinos can be bought at http://www.freeduino.org/buy.html They are priced at 23.99 each. 2 X $23.99 = $47.98

Or www.sparkfun.com/commerce/product_info.php for Arduinos. Priced at $29.95 each. 2 X $29.95 = $59.90.
Warning: The Freeduinos require some soldering knowledge, if you would like not to solder your boards then buy an Arduino.

Warning: This Instructable requires some soldering knowledge anyway, so why not start now? :)

1 Waveshield from Adafruit Industries (To allow the robot to talk) Can be bought at: http://www.ladyada.net/make/waveshield/ Priced at $22 each.

Estimated total cost of all high tech parts(not including shipping) if you bought Freeduinos instead of Arduinos is.... $109.82! 

The total cost of all high tech parts if you bought Arduinos instead of Freeduinos is.... $121.74!

And as for the low-tech materials you will need:

A cardboard box the same size that you want your head to be.

A small piece of cardboard

Tape

Glue

Breadboard compatible wire (22 gauge, solid)

Wire for fastening stuff to other stuff

A small block of wood

Power drill.

Heat Shrink tubing for isolating the exposed wire leads and something that blows hot air to shrink it with (Hot air gun)

Box cutter.
Peasy93 says: Nov 6, 2011. 8:42 PM
hey nice work
what is the voltage of the capacitors??
magicthegathering says: Sep 18, 2011. 2:00 PM
Great. I wonder how possible it would be to connect this to the internet and to cleverbots website. Add a microphone and be able to talk to cleverbot back and fourth? Anyone have any ideas?
rocket_man says: Apr 26, 2011. 4:38 PM
so how would i connect the arduino to my computer to communicate and take commands from a keyboard
redzwan2008 says: Mar 27, 2011. 5:21 AM
I want to add pir sensor to the arduino. how to connect it? and how to program the robot to talk when a human walk in front of the talking robot?
gudenaurock says: Jul 7, 2010. 11:54 AM
The penguin is Tux.
1740 says: May 16, 2010. 5:56 PM
WOW
chosenone3 says: Nov 25, 2009. 2:06 PM
I just watched the video and i can say that this is one of the coolest arduino projects I've seen so far :]
And I was wondering how did you get it to speak so clear ,I mean it sounds like a real human voice.
Would it be possible to get same results with pc (Besides MS sam voice which realy sucks)?
xtremd (author) in reply to chosenone3Nov 27, 2009. 8:27 PM
Well, I didn't use the Microsoft voices built-in with Windows because I found that they didn't sound very realistic, instead I used a AT&T text to speech service found on their website that sounded much more realistic(You can find the website here: www2.research.att.com/~ttsweb/tts/demo.php#top ). It would sound even more realistic if AT&T's program didn't add a random pause between every word creating a sentence that sounded irregular and stuttery. This could be fixed by going through all of the audio files and editing them individually to create uniform sounding sentence but would require an enormous amount of time and work and is totally impractical. 

So, yes. You could use the Microsoft voices built in with Windows to create the audio files necessary, but I would recommend using the AT&T text to speech website instead because the voices sound more realistic and less robotic. Davewking has a awesome Instructable on how to make something similar to my robot using Microsoft's voices(It checks his email!). He even created a convenient .exe file to assist in creating the .wav files! Here's a link to his Instructable: www.instructables.com/id/Read-Email-with-Arduino-and-Wave-Shield/ which is a detailed subsection of his original Instructable: www.instructables.com/id/Sound-Switcher/#

Hope this helps!
Enki-][ in reply to xtremdMar 28, 2010. 8:22 AM
It's probably useful to use festival (that's what I'd use, anyway). The default voices in festival aren't terribly realistic, but you don't get the pauses (and the licensing problems -- the at&t thing has a big long license if you read it, and this project probably violates a bunch of the terms), and it doesn't limit the user base to windows users like using the microsoft voices does.
willrandship in reply to xtremdJan 15, 2010. 4:45 PM
That means three things to me.
1. You could record your own voice for it (even make it sing!)
2. Automatic talking text, similar to microsoft sam, through the head.
3. You could hook this up as a speaker and it would sing whatever sound goes through it. Might take some hardware modification though.
dpdesigns says: Jan 27, 2010. 6:48 PM
very cool robot head.  I've been looking for something to do with my arduino and this gives me some inspiration.
xtremd (author) in reply to dpdesignsJan 27, 2010. 6:56 PM
 I'm very glad that you like it! If you need some help with something related to this, please don't hesitate to ask.
natfish says: Dec 2, 2009. 4:01 AM
 congrats! I'm glad you finished your robot. Whatever happened to your walking/dancing soda can?
davewking says: Nov 17, 2009. 11:13 PM
Dude, let's get your robot reading emails.  I just posted an instructable that could help out http://www.instructables.com/id/Read-Email-with-Arduino-and-Wave-Shield/ .  Feel free to send me emails with questions.
xtremd (author) in reply to davewkingNov 20, 2009. 6:52 PM
 Your Instructable gave me some very good ideas that should solve some of the problems that have plagued my robot head. Thanks for your help!
mfleisig says: Nov 20, 2009. 7:12 AM
Nice work!  I love the eyebrows.
jefskil says: Nov 14, 2009. 1:04 AM
i can't wait for that video either!

how much did all this cost you? 
xtremd (author) in reply to jefskilNov 16, 2009. 3:13 PM
 Well I'm not sure of my exact costs because this began as a physical computing end of the year project. This meant that I don't know the actual costs of some things (like the LEDs) but I can tell you approximately how much this would cost you if you bought this stuff from the Internet and salvaged the rest from various sources. Here goes...

Red LEDs: After searching around the Internet, I have seen most Red LEDs priced around the 40-50 cent price range so lets assume you get them for 45 cents each. 36 X $.45 = $16.20

Common Anode RGB LEDs: Again after searching online I have found that they are mostly around $1.50 each to $1.95. Lets say $1.75 each. 2 X $1.75 = $3.50

Freeduinos: Bought from http://www.nkcelectronics.com/freeduino-arduino-diecimila-compatible-board-complete-kit.html $23.99 each. 2 X $23.99 = $47.98

Mini-Servos: Again after looking around the 'nets I found a website selling the exact model servos I used in this Instructable. Here's the link: http://www.hobbycity.com/hobbycity/store/uh_viewItem.asp?idProduct=662 They're selling them for $3.65 each. 2 X $3.65 = $7.30

Waveshield: From LadyAda's Waveshield page http://www.ladyada.net/make/waveshield/ she's selling them for $22 each.

TLC5940NTs: From Digi-key http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=296-17732-5-ND they can be bought for $4.28 each. 3 X $4.28 = $12.84

And it adds up to a total cost of... $109.82!

*The rest of the materials you should be able to salvage from other computer parts, or you might just find them lying around.

Hope this helps!
Kiteman says: Nov 11, 2009. 1:29 PM
It talks?

The mouth "moves"?

We need to see video!
xtremd (author) in reply to KitemanNov 11, 2009. 2:48 PM
Thanks for reminding me,(I forgot to make a video of the robot when making the instructable) I will try to see if I can post a video of it working before Sunday.
cowscankill in reply to xtremdNov 11, 2009. 6:13 PM
Yay!
xtremd (author) in reply to cowscankillNov 14, 2009. 3:22 PM
 The aforementioned video is now embedded into the intro step. I hope that you guys find it informative!
_Scratch_ says: Nov 11, 2009. 2:13 PM
what exactly does it do?? i've never heard of this arduino stuff before so i'm wondering what these do.
xtremd (author) in reply to _Scratch_Nov 11, 2009. 3:00 PM
 Are you talking about Arduino, or my robot head?

Arduino is a micro controller chip that can control servos, lights, relays and can be hooked up to lots of sensors to do amazing things. Here's more info on Arduino www.arduino.cc/en/Guide/Introduction

My robot head can speak words fed to it through a serial connection from a computer (You type what you want it to say on the computer, and the computer tells the robot head what to say.) It can also change its expression by moving its eyebrows and changing the color of it's eyes(Again through serial).
_Scratch_ in reply to xtremdNov 13, 2009. 3:50 PM
In fact, i was wondering both but you cleared it up for me. Thanks!
beardy says: Nov 12, 2009. 7:15 AM
Lots of fun stuff going on there.  Well done!

Do post a video if you can.  I think we'd all like to see and hear it in action.

[m]
tigoe says: Nov 12, 2009. 6:46 AM
Very nice robot head, good work!  You may want to include a  first step listing the parts, with links explaining them and where you got them, so that people who don't know them can find out more.


Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!