For my project at BlueStamp Enginnering, I built a gesture-controlled robot. The robot car is controlled by a glove with an MPU6050 attached. The MPU6050 senses the direction the glove is tilted in, and that data is transmitted and received by two nRF24L01 modules to be used to control the DC motors.
In short, the robot car moves based on the way the wearer’s hand is tilted.
Areas of Interest
Biomedical Engineering/ Computer Science/ Environmental Engineering
SAR High School
When I came into BlueStamp Engineering, I was expecting lectures or step-by-step instructions. What I got instead was so much more. Throughout this session, I had to go out on my own to learn new concepts and solve any problems or bugs I encountered along the way. Instead of relying on a tutorial or instruction manual, I learned how to take initiative, writing my code from scratch and building my project the way I wanted. I now know my gesture-controlled robot completely, and that’s an amazing feeling.
I am taking away so much more from this experience than I could have hoped, and I am so grateful for this opportunity. Thank you so much!
For my Final Milestone, I successfully controlled my robot car using gesture controls! The car now moves based on the way my hand is tilted, since there is an MPU6050 attached to the glove that is made up of an accelerometer and gyroscope. Using some rather complicated math, the values sensed by the accelerometer and gyroscope can be converted into pitch and roll values (pitch refers to forward and backward tilt, and roll refers to tilting side to side). This data is transmitted and received by two nRF24L01 modules, and used to control the DC motors on the robot car. This milestone took a lot of work, but I’m really happy with the result!
Second Milestone Video
For my Second Milestone, I have used two nRF24L01 modules that allow the robot car to be controlled from a distance. The potentiometers and the button are still responsible for controlling the wheels of the car, but now they are connected to an Arduino Nano, which sends the data (using radio frequency) to the Arduino Uno. The Arduino Uno is connected to the L298N motor driver, which causes the DC motors of the robot car to move.
Coding both the transmitter and receiver proved to be a challenge, requiring a lot of trial and error. After trying various approaches, however, I eventually succeeded, and I can now move on to working with gesture controls.
First Milestone Video
For my First Milestone, I have assembled my robot car chassis and can control the wheels using potentiometers and a button. To do so, I hooked the DC motors of the wheels to an L298N motor driver and an Arduino Uno. I then wrote code that allows each potentiometer to control the speed of a wheel, and lets the button reverse the direction that the wheels spin. My next step will be experimenting with radio frequency and nRF modules to hopefully learn how to control the robot car from a distance.