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.
Below is the list of equipments that we needed in our project. As we worked in small modules, so is the equipments described.
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.
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.
Below is the block diagram of our project.
Below is the algorithm of our system.
Below is the detailed pin diagram of our project.
A brief discussion on the problems that we faced during our system development and how we solved them.
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.
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.
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.
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.
We used diode to ensure the security of the components.
The motors had the problem of heating up to an extreme point. We used motor driver L293D to prevent that.
Section B1. Group 2.