This is an autonomous robot that can traverse the house detecting obstacles and reacting accordingly. The fun part is that it uses an Android phone as "brain", leaving the sensor and motor management to an Arduino UNO. Both are connected using serial communication and a simple request/response protocol.
The robot itself is pretty simple. Two DC motors are used for movement and an ultrasonic sensor is employed for obstacle detection. The sensor is attached to a servo motor in order to sample distances in several directions (left, right and center). Motors are powered by 6x1.2V rechargeable batteries.
On the other hand, the Android app sends commands like "scan", "forward", "left", etc, to the Arduino core. Once the action has been completed, the Arduino responds with the results (if it was a scan) or an ACK for movement actions. After receiving the response, the Android app decides what to do next based on simple rules. For example, if a "scan" command results in nothing being detected at front, the "forward" command is sent. Otherwise, the app may choose to turn left, right and drive backwards.
Additionally, the Android app includes an alternative interface resembling a remote control for manual operation. I use this mostly for testing that all commands are executed correctly.
Future versions will make use of the phone's capabilities like GPS, cameras, accelerometer and wifi/bluetooth connectivity. I will add more sensors and actuators to the robot as well.
An Arduino-based robot that uses an Android phone as brain
- Actuators / output devices: DC Motors, Servos
- Operating system: Android
- Power source: 6x1.2V Batteries, phone battery
- Programming language: Java, Arduino
- Target environment: indoor
This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/arduinoid-mk-i