We all dream of having appliances and machines that can obey our spoken commands. Well, let's take the first step towards making this happen. In this second iteration of Carlitos' Projects, we are going to build a speech-controlled Arduino-based robot.
You may be thinking that making such a robot must be a very complex task. After all, humans take many years before they can understand speech properly. Well, it is not as difficult as you may think and it is definitely lots of fun. The video below illustrates how to make your own speech-controlled Arduino rover.
After watching the video, read below the detailed list of parts and steps required to complete the project.
Materials
- A DFRobotShop Rover kit. It constitutes the robot to be controlled.
- A VRbot speech recognition module. It processes the speech and identifies the commands.
- Two Xbee RF communication modules. They create a wireless link between the speech recognition engine and the robot.
- An Arduino Uno. Controls the speech recognition module.
- An IO expansion shield. Allows to connect the Xbee module to the DFRobotShop Rover
- An Xbee shield. Allows to connect an Xbee module to the Arduino Uno.
- Male headers. They are required by the Xbee shield.
- A barrel jack to 9V battery adaptor. Allows to power the Arduino Uno trough a 9V battery.
- An LED. It is not required since the IO expansion shield already has one but it can provide a more visible activity feedback.
- An audio jack. It will be used to connect the microphone. This is optional
- A headset or a microphone (a microphone is included with the speech recognition module).
Tools
- A Wire Cutter. It will be used to cut the leads off components.
- A Soldering Iron. In order to solder all the (many) connections, a soldering station might be preferable since it provides steady and reliable temperature control that allows for easier and safer soldering (you have less risk of burning the components if the temperature is set correctly).
- A Third Hand. This is not absolutely required, but it is always useful for holding components and parts when soldering.
- A Hot-glue gun in order to stick the components together.
- A computer . It programs the DFRobotShop Rover and the Arduino Uno using the Arduino IDE.
Putting it Together
- Assemble the DFRobotShop Rover and mount the IO expansion shield, an Xbee Module and the LED. Se the picture above or the video for further information.
- Solder the headers onto the Xbee shield. Also solder four headers on the prototyping area as shown below. Do not like soldering? Then keep reading since there is no-solder-required version of the project.
- Connect the four headers to the corresponding pins as shown below.
- As shown above, you can also mount the headphone jack and use the cable included with the microphone in order to connect it to the VRbot module microphone input.
- Put the shield onto the Arduino and connect the battery.
- Connect the VRbot speech recognition module wires and the microphone.
- Program the DFRobotShop Rover and the Arduino Uno with these programs respectively:
dfrobotshop_serial.zip and VRbot.zip
- Start talking to your robot! Say "forward", "backward", "left", or "right" in order to make the robot move in the desired direction. The word "move" shown in the video has been removed from the program in order to improve the performance.
Go Further
Now that you have the basic program you can create new commands in order to build upon this project. For instance, it would be nice to program a "dance" command that would make the rover execute a predefined choreography. It is also possible to use this knowledge to control other devices such as lamps, TV sets, and more.
You can find more information about using the VRbot speech recognition module here:
- Veear Arduino Demo
- Arduino Demo program
In our case, we used two of these robots in order to create a ball-fetching challenge at the
CRC 2011 with high-school and CEGEP students. As shown below, the students and general public loved the game.
Get your own
RobotShop put together a full kit that you can buy in order to get started with speech control. This kit is a bit different than the project shown and does not require any soldering and uses the microphone included with the VRbot module:
DFRobotShop Rover - Speech Control Kit