Introduction: DIY Talking Robot Interacting With Humans
As a Sci-Fi movie lover, I have tried building space ships, Light-sabers and many more things since my childhood. Though the things I built those days were just toys, I started to build realistic things which are very close to the things in the actual movies. Since a couple of years, I wanted to amaze my friends when they come to my place. Then I came up with the idea of making a talking robot helmet. It talks automatically when someone comes.
The best thing is I was able to make this from some junk items, like an old motorbike helmet, toy mask, some foam pieces, and some electronic components which I already have.
First, I want to motivate and inspire you to build this before we begin. So, watch this video before getting started. If you follow this instructable, you will end up making a thing like this.
It's amazing. Right?
You can include thousands of voice commands as you desire and playback them when the sensor triggers.
Let's get started.
Step 1: Things You Need
Collect the following items.
- Arduino Nano
- SD card module
- SD card
- PIR sensor
- Speaker around 8 Ohms
- 1k Resistor
- 2N2222 transistor
- 2 X 330Ohm resistors
- 2 X Red LED bulbs
- Jumper wires
If you cannot find the 2N2222 transistor D400 and B547 are alternatives.
Let's make the circuit.
Step 2: Breadboard Test
First, we make the circuit on the breadboard and test it. I think you all have a basic knowledge in Arduino.
Connect the circuit according to the above diagram. I have uploaded the fritizing file of the circuit just in case.
Here are the connections in between SD card module and Arduino Nano.
- SCK > D13
- MISO > D12
- MOSI > D11
- CS > D4
Connect the data pin of the PIR to A6.
Connect the base pin of the transistor to D9 pin through the 1K resistor.
Step 3: Play Sounds From Arduino
Using an Arduino board, we can play sound files stored in an SD card. In our design, we use this method to playback Darth Vader's voice clips. Before using voice clips we should test this by playing a random sound file.
First, you have to convert your sound file to ".wav" format with following parameters.
- Bits - 8bit
- Sampling rate - 32000Hz
Convert your sound file using a converter software or an online service by applying the above parameters.
Now save it onto your SD card and insert it to the SD card module.
Use the following library and Arduino code to play your sound file.
Wanna here "Final Count Down" ?
Step 4: Robotic Voice
To include robot voice clips to the circuit, you can either record your voice or use a text to speech service.
After that, the recorded voice is needed to be converted to a deep robotic voice.
Here, I have included my sound files before and after converting.
Step 5: Convert Your Voice
Here I'm using "Cubase 5" software to change the recorded voice to robot's voice. The following effects and processes are needed to make it feels like a real robot.
- Pitch Shifter
- Ring Modulator
Follow my video as a guide.
Step 6: Testing the Functionallity
This helmet includes a PIR sensor which detects movements. What I'm doing here is detecting whether someone comes and if so, play a sound clip based on their movements. As an example, in the first video, I have coded the Arduino board when it detects someone for the first time, it plays "Who's there?". If that person moves again, it plays "Identify yourself".
Upload the following code to the Arduino board. I have named the voice clips as 1 and 2 in the code. Change it according to your audio files.
Here is my testing video.
Step 7: Making the Mask
I was able to find an old mask from my brother's toy cupboard. The mask is the place where we attach the circuit.
I have removed a small circle to make that and as well as to mount the PIR sensor.
Next, I have removed a piece from the bottom to place the speaker.
Now we have a mask like in the second image.
Step 8: Soldering
There are some components needed to be soldered before mounting inside the mask.
Solder the 1K resistor to the base pin of the transistor.
Solder the Negative wire of the speaker to the collector pin of the transistor.
Solder 330 Ohm resistors to the positive pins of LED bulbs.
Step 9: Mounting Sensors
As I mentioned before the center hole is to mount the PIR sensor. Mount the PIR sensor and apply some hot glue.
From the front, it will look like the second image.
Next, place the speaker at the bottom of the mask and apply hot glue thoroughly.
Make sure that they have fixed to the mask well.
Step 10: Flashing Eyes
You can notice, the eyes of the helmet are flashing in the first video.
Just placing the LEDs at eye holes are not enough. We need to spread the light of the LED to the entire eye. To do that, paste 2 pieces of white oil papers at the eye holes from inside the mask.
Now place the LEDs at the center of the eye holes and apply some hot glue.
Connect positive pins of the LED and 2 resistor pins to jumper wires.
Step 11: Wiring the Mask
To supply the current for several components, I have attached some jumper wires together and made a power distributor. (First Image)
Now, connect all components together according to the diagram we followed before.
Place all modules to make sure that they are not touching each other.
Now we have a talking Darth Vader mask. You can use a 9V battery or an external power supply to supply current to the circuit.
Step 12: Finishing.
To make it look like a robot head, I have added a triangular shaped voice mask. You can just make it by gluing 3 foam board pieces and paint it.
To make the rest, I found an old Motorbike helmet.
The mask is placed inside the helmet.
Now place this on top of your room's door. When someone comes there, it will automatically talk.
Just like this you can add more voice clips using my method and can add many more sensors to improve the responses of this helmet.
Hope you love this Instructable and I am waiting for your ideas. Do not forget to vote for the contests.