After reading about the awesome stuff people have done, I decided to share my modest creation with the community.
This is a differential steering robot that can be controlled from an Android phone via Bluetooth. The robot’s “brain” is Arduino Uno compatible board (an “Arduino on a breadboard”). The robot uses a JY-MCU Bluetooth module for communication with the Android phone. A custom Android app, created with the MIT App Inventor 2 essentially acts as a remote control, sending commands to the Arduino that tell the robot to move forward, reverse, stop or rotate.
The robot also has two ultrasonic sensors (one mounted on the front and one on the back) that are used for obstacle detection. If you try to drive the robot into a wall using your phone remote, the robot will overwrite that command and will stop when it detects an obstacle closer than 10 cm.
Parts list, links to Arduino and Android code and tutorial on building the key components are available on my blog.
Next steps (in no particular priority):
- add voice control
- integrate a camera and FPV
- add wheel encoders, or accelerometer/gyro for feedback on positioning and distance travelled
- add a "autonomous mode" where the robot roams using the ultrasonic sensors to avoid obstacles
- display information from the robot on the phone (like data from the distance sensors, distance travelled etc.
Any ideas, or suggestions will be welcome. I will try post regular updates and document progress here in the future.
This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/bluebot-an-arduino-robot-controlled-from-an-android-phone-via-bluetooth