A Brief Description

In our project, we have introduced an embedded system for driving your car wirelessly, with only the gesture of your hand.
The whole system can be divided into two individual parts. Transmitter. This is the part which detect the gesture of the hand. It is attached to the hand with the help of a custom made glove. An accelerometer is used to detect the movement of the hand and the microcontroller converts it to a relevant geture command. It sends the command to the vehicle though a bluetooth module.Receiver. The receiver part stays at the vehicle. The microcontroller here catches the command signal through a bluetooth module that has been paired with the transmitter. The arduino, then controls the motor to move the vehicle according to the command.

Required Equipments

Arduino Nano

HC - 05

Bluetooth module

ADXL 335

Accelerometer

Arduino Uno

The processor

Resistors

1ohm

Diodes

Diodes

Car

Robotics Chassis Two Wheel with DC Motors

L293D

Motor Driver

Lipo Battery

Lipo 800mah 3cell

How It Works

At transmitter, Accelerometer takes input. Arduino converts it to a relevant signal. Signal is sent through bluetooth module. At receiver, bluetooth receives the signal. Arduino moves the car accordingly.

Video Intro

Explanation

Our system controls four movements of the car. Right, left, forward and stop. Once the accelerometer starts, it takes some time to callibrate its value as to the initial position. After 3seconds, it gets ready to function. It takes the movements of the hand as input. The arduino gets the values from the accelerometer through an analogue channel. It gets three values: acceleration in x-axis, y-axis and z-axis. Arduino calculates the differance of the present value and the callibrated value, and from the result, it decides the command that the hand is trying to signal. It, then, sends the signal through a bluetooth module.

There is another bluetooth module residing at the car. It has been paired with the module in hand so that no noise interferes with the connection. According to the command received (F for forward, L for left, R for right, S for stop), the arduino controls the motors to move the car accordingly.

Block Diagram

Below is the block diagram of our project.

Algorithm

Below is the algorithm of our system.

Detailed Pin Diagram

Below is the detailed pin diagram of our project.

Transmitter

Receiver

Problems Faced

A brief discussion on the problems that we faced during our system development and how we solved them.

Noise in bluetooth

The first problem that we faced during our project came from trying to sednd signal wirelessly. As it happens, most of the wireless module receivers face a lot of noise in ther signal. We had two options in hand: wifi and bluetooth. We chose the bluetooth module because of its low cost. To make sure that no other device interferes with our signal, we paired the receiver module exclusively with the sender module.

Callibrating Accelerometer

To meet our purpose, we needed the angular position of the hand. We chose the accelerometer to achieve that. However, accelerometer does not give the angular position directly as output. It measures that acceleration along the 3 axis. Another thing is that, accelerometer is extremely sensitive to movement. What we did was, used the first 100 data along the 3 axis and took the average of them. Later, when we started moving our hands we just took the difference of the current position and the average value. This gave us the opportunity to convert the acceleration to a form of angular position.

Power Distribution to Arduino

We wanted to make the project portable. For that, we had to give power from an external source. We used lipo battery to power the motors. However, this battery outputs about 11.2V which could be harmful to the arduino. So, we used a potentiometer to step down the volt to 5V.

Power Distribution in Bluetooth

The same power problem was faced while working with the bluetooth module. Arduino works in 5V, however, bluetooth module needs only 3.3V. So we used a circuit of three resistors to ensure the necessary voltage for each component.

Security of Component

We used diode to ensure the security of the components.

Extreme Heat

The motors had the problem of heating up to an extreme point. We used motor driver L293D to prevent that.