This project presents TonyBot, a two-wheeled mobile robot based on Arduino, controllable via Bluetooth through an Android app. The robot is designed to move in multiple directions thanks to two DC motors and offers a simple and intuitive interface for remote control.
TonyBot features multiple modes, including manual driving, line following, and a dance mode, where the robot performs random pre-programmed movements to music. Additionally, it includes a fun interactive game mode, allowing users to actively play with the robot through the app interface.
The core of TonyBot is built from the following accessible electronics and materials:
- Microcontroller: Arduino Nano paired with an Arduino Nano Expansion Shield.
- Motor Control: TB8833 DC Motor Driver.
- Power Supply: Powered by a 9V battery and a 4x AA battery pack, controlled via a power switch.
- Actuators: Two SG90 Micro Servo Motors to control the arms and two DC Gear Motors for mobility.
- Sensors:
- TCRT5000 Optical Sensor for tracking lines.
- HC-SR04 Ultrasonic Distance Sensor for avoiding obstacles.
- Output:
- MAX7219 8x8 LED Dot Matrix Module.
- KY-006 Buzzer.
- Communication: JDY-31 Bluetooth Module.
- Structure: Built using a 3D-printed structure, a car chassis plate, plastic parts for arms, a caster wheel, two main wheels, and a mini breadboard.
TonyBot includes functionalities controlled seamlessly from the Android App:
- 🎮 Manual Driving (Remote Control): Directly steer the robot using an intuitive interface. It moves in multiple directions powered by two DC motors.
- 📱 Accelerometer Mode: Control TonyBot's direction and speed simply by tilting your smartphone.
- 〰️ Line Following: Utilizing a line sensor, TonyBot can autonomously follow a black line on a white background, dynamically modulating its speed based on real-time sensor input.
- 💃 Dance Mode: Watch TonyBot perform pre-programmed random movements synchronized to music.
- 🧩 Interactive Game Mode: The robot displays random shapes (square, triangle, diamond, heart) on its LED matrix. The user must guess the shape via the app. Get it wrong? TonyBot shows a sad face. Get 4 right? It plays a joyful sound and shows a smiling face!
- 🛑 Obstacle Detection: Built-in ultrasonic sensor allows for environmental awareness.
The companion mobile application provides a streamlined interface for all robot operations:
- Home Page: Features a "BT" button to search for and connect to available Bluetooth devices.
- Connection Status: The Bluetooth icon will remove its "X" upon successful connection, making the list of functional modes visible.
- Navigation: A "Home" button allows the user to return to the main screen at any time.
- Game Controls: A "Restart" button is available in Game Mode to easily reset the shape-guessing game.
TonyBot/
├── arduino/
│ └── TonyBot.ino # The core Arduino firmware
├── app/
│ └── app.aia # The MIT App Inventor project source
├── docs/
│ ├── images/ # Schematics, robot photos, app screenshots
│ └── videos/ # Demo videos of various operating modes
└── README.md # Project documentation
Demonstration videos for each mode are located in the docs/videos/ directory:
mode_line_follower.mp4mode_game.mp4mode_accelerometer.mp4mode_remote_control.mp4


