This project implements a gesture-controlled two-wheeled robot using an MPU6050 accelerometer and RF (433 MHz) communication modules. Hand gestures are interpreted by the transmitter Arduino and sent wirelessly to a receiver Arduino, which controls the robot's movement via motor driver outputs.
The demo shows the gesture-controlled bot via a wired connection with the sensor.
- Independent transmitter and receiver setup using two Arduino boards
- A wired setup for when the sensor and motor driver are connected to the same Arduino
- Movement commands: forward, backward, left, right based on tilt direction
- Simple motor driver control logic with customizable speed and delay
.
├── wireless_TX.ino # Transmitter: reads MPU6050 data and sends direction commands via RF
├── wireless_RX.ino # Receiver: receives RF commands and controls motor driver accordingly
├── wired.ino # For wired setup: MPU6050 and motor driver on the same Arduino
├── README.md # Project overview and instructions
├── demo.gif # Wired gesture controlled bot demonstration
├── .gitignore # Specifies untracked files to ignore in version control
├── LICENSE # MIT License for usage and distribution
- 2 × Arduino Uno/Nano
- 1 × MPU6050 Accelerometer/Gyroscope Module
- 1 × RF 433 MHz Transmitter Module
- 1 × RF 433 MHz Receiver Module
- 1 × Motor Driver Module (e.g., L298N)
- 2 × DC Motors
- Jumper wires, breadboard, and power supply
- 1 × Arduino Uno/Nano
- 1 × MPU6050 Accelerometer/Gyroscope Module
- 1 × Motor Driver Module (e.g., L298N)
- 2 × DC Motors
- Jumper wires, breadboard, and power supply
Install the following libraries via Library Manager or from GitHub:
- RH_ASK (RadioHead) – for RF communication
- MPU6050_tockn – for accessing MPU6050 data
SPI
– built-in Arduino library for RF module communicationWire
– built-in Arduino library for I2C communication with MPU6050
- MPU6050_tockn – for accessing MPU6050 data
Wire
– built-in Arduino library for I2C communication with MPU6050
- Connect the MPU6050 to Arduino via I2C (SDA to A4, SCL to A5 on Uno).
- Connect the RF Transmitter module to a digital pin (e.g., D12).
- Upload
wireless_TX.ino
to the transmitter Arduino.
- Connect the RF Receiver module to a digital pin (e.g., D11).
- Connect motor driver inputs to pins 2–7 as defined in the code.
- Upload
wireless_RX.ino
to the receiver Arduino. - Connect DC motors to the motor driver outputs.
- Power the transmitter with USB or a portable power bank.
- Power the receiver Arduino and motors using a suitable external supply (e.g., 6–12V battery).
Accelerometer thresholds for gesture detection are hardcoded in
wireless_TX.ino
and can be tuned as needed.
- Connect both MPU6050 and motor driver to the same Arduino.
- Use I2C (SDA to A4, SCL to A5) for MPU6050, and pins 2–7 for motor driver.
- Upload
wired.ino
to the Arduino. - Observe and test the gesture-based movement without needing RF modules.
Rishab Agrawal
This project is licensed under the MIT License. See LICENSE for more details.