Академический Документы
Профессиональный Документы
Культура Документы
Project Report
On
Submitted by: -
Divyansh Bansal (2017MEB1204)
Harsh Tomer (2017MEB1209)
Jishu Chauhan (2017MEB1216)
Harshdeep Hazarika (2017MEB1210)
Mayyank Garg (2017MEB1221)
1
Table of Contents
1 Abstract ............................................................................................................... 3
2 Motivation.......................................................................................................... 3
3 Project Objectives........................................................................................... 3
4 Project Layout .................................................................................................. 3
5 Components Used .......................................................................................... 4
6 Concept Aspects .............................................................................................. 5
7 Design .................................................................................................................. 7
8 Learnings............................................................................................................ 9
9 Future Scope ..................................................................................................... 9
2
1 Abstract
The aim of the project is to develop a gesture-controlled device that can recognize commands
through hand gesture and provide desirable result in the environment. For demonstration
purposes, we are going to develop a Gesture Controlled RC Car using MPU6050
2 Motivation
We as kids have always been fascinated by a remote-controlled car. This has been the root cause
of motivation for coming up with the project to build something that would be interesting as
well as challenging to implement. The whole idea of implementing something like a RC car
sounds cool and the finished product looks simply, but it was mixed with lots of challenges and
complex interfacing which motivated us towards in depth learning.
3 Project Objectives
The specific goals are as follows: -
4 Project Layout
3
5 Components Used
Electronic Parts:
1. Ball Bearings
2. Wheels
3. Chassis
4. Stainless Steel Rod
5. Servo Motor
6. Hub
4
6 Concept Aspects
The Ackermann steering condition occurs when the axes of all the wheels of a vehicle intersect
at a single turning point. Figure below shows an example of Ackermann steering compared to
parallel linkage steering. In the case of a parallel linkage, the wheels must skid during a turn
because the front wheels are turning about different points. By using Ackermann steering, the
wheels of a vehicle will never be forced to skid. This increases energy efficiency and reduces tire
wear.
5
Transmission:
The transmission takes place as follows, ADXL 345 (Digital Accelerometer) is the input to the
MPU6050. ADXL produces 3 outputs (X-axis, Y-axis, Z-axis). The ADXL communicates with
microcontroller using I2C (InterIntegrated Circuit protocol) communication protocol. The
output of ADXL 345 is given to the MPU6050 where SDA is connected to P1.7 and SCL is
connected to P1.6. The input from ADXL 345 is processed by the controller and provided as an
output to the transmitter. The transmitter being used is nRF24L01. The MPU6050
communicates with the transmitter using UART (Universal Asynchronous
Receiver/Transmitter) communication protocol. The output of the MPU6050 is fed to the
transmitter where pin P1.2(UART) is connected to TX.
Receiver:
The reception takes place as follows, the transmitter output is detected by the Receiver
(nRF24L01). The communication between receiver and transmitter is wireless. The MPU6050
communicates with Receiver using UART (Universal Asynchronous Receiver/Transmitter). The
receiver output is fed to the MPU6050 where RX is connected to P1.1(UART). The inputs from
the receiver are fed to the MPU6050 which in turn drives the motor Driver IC(L293D).
The IC L293D is used to implement H-Bridge. L293D consist of two H-bridge. H-bridge is the
simplest circuit for controlling a motor. It amplifies the current to drive the DC motors. It is used
for clockwise & anti-clockwise rotation of DC motor. Basically, used for driving DC Motors
coupled with rear wheels. The inputs for L293D are connected to MSP 430 port pin P1.6, P2.5,
P2.3, and P2.4.
PWM is basically high frequency pulses, modulated with the duty cycles. In our case, we have
kept the frequency to 800hz since the motor is slow reacting load. The full-time pulse is given by
digital value 255.On time varies between 0 to 255 for speed control
6
7 Design
Hand-Gestures Recognition
Figure shows the circuit design of hand-gestures, which control the robotic car using hand
movement. In this scenario, the robotic car will move in the same direction as the direction of
hand rotation. There are two schematic diagrams for the hand-gesture. First, we describe the
hardware implementation of the hand-gesture setup. In this task, one Arduino Nano, one MPU-
6050 accelerometer and one RF transmitter were used. The SLC pin of the MPU-6050 module is
connected to the Arduino analogue Pin A5, SDA to the A4, Ground pin to the GND and VCC (voltage
at the common collector) pin to the 5V pin of the Arduino. DATA pin of the RX-transmitter is
connected to the Arduino digital PIN D8, VCC pin to 5V and ground pin to GND port, as shown in
Figure 2a. After hardware implementing of the hand gesture, we move to the implementation of
car setup. In this task, one L298N motor module, one Arduino Uno and one RF-receiver were used.
Digital pins from A0–A13 of L298N motor module are connected to the digital pins A0–A13 and
Analog pins A0– A5 are connected to the analog pins A0–A5, and similarly, Vin pin to Vin port, 3V
pin to 3V port, 5V pin to 5V port, reset pin to reset port, ground pin to GND port and AREF pin to
the AREF port of Arduino Uno as displayed in Figure 2b. Further, M1.1–M4.1 pin is connected to
the negative terminal and M1.2–M4.2 pins of the motor module are connected to the positive
terminals of the motor. Similarly, VCC pin of RF-receiver is connected to the VCC pin of the motor
module, DATA pin to the digital pin D2 of motor module and Arduino and at last, the Ground pin
to the GND port of Arduino Uno. The complete software code of this case is presented in Figure
S1 of the supplementary materials.
As the user moves own hand, the reading of the accelerometer will change, and then it will be
recaptured by the application. There are genuinely two values: One is the minimum value
(Xrange), and another is the maximum value (Y range), and the range is defined using these two
values for each function of the car. In simple words, the set of ranges are defined for the
movement of the robot car in a specific way. If the received data by the application lies within
7
these specified values, then the corresponding decision will be made. This decision value will be
sent to the microcontroller, which then processes it to understand the corresponding gesture.
After knowing the gesture, it will send a signal to move the robot car accordingly. There is a total
of four DC motors, one motor for each wheel (two for left diagonal wheels, and two for right
diagonal wheels) used in the construction of this car. The motors are controlled by the L293D
motor shield.
Figure 5. The theme of gesture recognition (i.e., movement of hand, motors and wheels)
8
8 Learnings
1. Order parts after reading description of components carefully E. g. MG995 Continuous
SERVO motor is not a SERVO motors
2. Electromagnets requires very high amount of power to even levitate 1 cm
3. Electromagnets sold online are Lifting Solenoids and won’t function as electromagnets
9 Future Scope
1. Voice Recognition can be used instead of hand gestures
2. ESP 32 for long range and better results
3. Converting gestures to voice commands for mute