Hand-Gesture Controlled Car

The Hand-Gesture Controlled Car utilizes flex sensors on a glove to control several actions on an RC car, consisting of driving it forward and backward and opening/closing a servo-controlled gripper. The flex sensor senses the fingers bending, and when it senses certain actions, it controls the car.

Engineer

Arjun W

Area of Interest

Computer Science

School

Saratoga High School

Grade

Incoming Sophomore

All Resources can be found at this link: https://bit.ly/2JZO4LM

Demo Night + Reflection

To finish my project, the hardest challenge was to physically assemble the glove and chassis and have them all in working condition. The chassis was relatively simple: I just had to place all the parts onto the wooden platform and 1) glue the wheels underneath and 2) drill the servo mount into place. For the glove, however, I had to intricately place all four flex sensors carefully and tape them around the glove so that there was space for flexibility (aka fingers moving and glove bending) as well as make sure the breadboard and Arduino were stable. After doing this I moved on to the last part of this project: changing the code so that instead of one flex sensor per motor, I could have different gesture commands to move it forward, backward, left, right, and open and close the claw.

Final Milestone

To finish my project, the hardest challenge was to physically assemble the glove and chassis and have them all in working condition. The chassis was relatively simple: I just had to place all the parts onto the wooden platform and 1) glue the wheels underneath and 2) drill the servo mount into place. For the glove, however, I had to intricately place all four flex sensors carefully and tape them around the glove so that there was space for flexibility (aka fingers moving and glove bending) as well as make sure the breadboard and Arduino were stable. After doing this I moved on to the last part of this project: changing the code so that instead of one flex sensor per motor, I could have different gesture commands to move it forward, backward, left, right, and open and close the claw.

Third Milestone

On this milestone, I split my second milestone into two parts, the parts that would eventually become the glove and the chassis. I took the flex sensors from my second milestone and moved them onto one independent Arduino of their own, and then I took the four motors and moved them onto a separate Arduino of their own. Then I reached the hardest part of this project which was figuring out how to wirelessly communicate with both Arduinos. I used NRF24 modules, which share their own unique 5-digit code, and searched online for a simple “Hello World” program which, instead of printing on the same Arduino like the majority of projects do, takes the string from one Arduino and outputs it onto the other Arduino’s serial monitor. After getting this program working with both the transmitter and receiver, I combined this “Hello World” code along with the code from my second milestone and turned them into the Transmitter and Receiver codes for this milestone. Once the code was modified for two Arduinos, this milestone worked properly, with each flex sensor controlling one motor from separate Arduinos.

Second Milestone

For my second milestone, the goal was to expand on my first milestone by adding the two servo motors and the two DC motors that will later control the robot when it is complete. To add the servo motors, it was a straightforward process with three connections (ground, power, and the digital pin), but for the DC motors, I had to use an L298N Motor Driver, something I haven’t used before. I found diagrams and tutorials online as references, and after countless trial and error experiences, I was able to connect both motors to the Motor Driver. Once connected, there was one more step: writing my code for the motors. The flex sensor code from my first milestone stayed the same, but here I needed to map the flex sensor values to all four of my motors so that as the flex sensors bent, the motors would turn. After iterating through my code several times, my project started to work consistently, and I was able to move onto my third milestone.

First Milestone

For my first milestone, I introduced flex sensors into my project by writing a simple program that would output the value for each into the serial monitor on my computer as I bent each sensor. I first had to figure out how to use and code flex sensors and then create a circuit that would work with the sensors properly. This was a fairly simple milestone that utilized flex sensors, 22K ohm resistors, and simple code to read the bend of a flex sensor, a tool that will be utilized a lot more in the second and third milestones of my project

Starter Project

My starter project, the TV-B-Gone Kit, works by turning off TV’s when a button is pressed. Four infrared LEDs on the end of the remote send out “off” frequencies whenever the button is pressed, which tricks the TV into believing that this remote is an actual TV remote, and ultimately the TV turns off.

Leave a Comment

Start typing and press Enter to search