Main Content

Bluetooth Voice Interface for Autonomous Robots

I wanted the ability to give verbal commands to my robot. I looked into utilizing either speech to text software or speech to text hardware to communicate my commands to the robot. I found that the software and hardware readily available for micro controllers restricted the number of commands I could use. Android has speech to text and text to speech APIs that are freely available on their mobile platforms. Therefore, I decided to make use of the Android speech APIs.
The robot used for this project is the DFRobot Baron - 4WD Arduino Mobile Robot Platform. The microcontroller used is the Arduino Uno. I used the Adafruit Motor Shield for this project because it could handle four motors and it also handles the Pulse Width Modulation (PWM), therefore it does not need any Arduino GPIO pins to handle speed control for the robot.
To communicate with the phone, I used a HC-05 Bluetooth device. Since I used the HC-05 in client mode any Bluetooth device will work. I choose the HC-05 because it was cheap and it works. I used the DHT22 Temperature sensor because I had it laying around from another project. Any temperature sensor will work with modification to the Arduino sketch.
I used MIT’s AppInventer to create the App on the phone side. AppInventer is a web-based IDE for mobile phone development. Instead of code it uses Code Blocks to create Apps. I do not think it is as powerful as Android Studio. However, it does not require as much technical expertise and it is quicker to develop for small projects.
For this this project, I only used a few commands to control the robot. However, it is easily extensible for use with as many commands as you need.”

Link to article