Wednesday, December 3, 2014

Animatronic Arm / Hand Gesture control RF Robot

Abstract: In this project we are going to design an Animatronic Arm/Hand Gesture RF robot, It has two functions
1. RF based Animatronic Arm/Hand Gesture 
2. RF controlled mobile Robot

The system block diagram is shown in the below figure. It contains
a). Flex Sensors 
b). Opamps
c). ATmega16-A board
d). 433MHz RF transceiver s
e). 8052 controller
f). DC Motors and servo motors
g). HT12D and HT12E 
h). Motor driver L293D

Working of Mobile Robot: 
At the transmission section we have HT12E with 4 push buttons and a 433MHz transmitter as shown in fig.1, 4 buttons are used for forward,backward, left and right controls.

At the receiver section RF receiver will receive the transmitted data and HT12D decodes the received data and sends 4-data bits to the motor driver L293D as shown in fig.2.

Block Diagram
Fig.1 Transmitter Circuit for Robot Movement
Fig.2 Receiver Circuit for DC motor Controlling
Working of Animatronic Arm:
Flex sensors are a kind of variable resistors, who's resistance varies with flexing. This application is used in animatronic arm. The basic circuit of flex sensor is shown in the below circuit, it is connected as a potential divider circuit and the output is connected to a buffer. The voltage variation can be calculated by 'Vout' equation.


Here we used two flex sensors for two fingers. Output of the buffers are given to the analog pins of ATmega16-A board. Inside the controller analog data is converted to digital form and based on the two output values 4-bit data is sent to the I/O ports. 4-bit output is then given to the HT12E encoder and it transmits the data as shown in fig.3 and 4

Fig.3 Flex Sensor circuit

Fig.4 ATmega16-A circuit for data processing
At the receiver side the received is then decoded and given to the 8052 controller. The code is written such that the animatronic arm imitates your fingers based on the flex sensor voltage values.  The pulse width of the servo motors is changed according to the received data. The total pulse width is 20ms. for a 1 ms ON time it will be at 0 degrees and for 1.5 ms ON time shaft position will be at 90 degrees and for 2 ms ON time at 180 degrees as shown in the below fig.5 and 6

Fig.5  Receiver Circuit interfaced with 8051
Fig.6 servo motor interface with 8051
Working Video:

Resources:

1. ATmega16-A Transmitter CODE Download the code here
2. 8052 Receiver CODE Download the code here

NOTE: 
1. Since we used two pairs of RF transceivers we used different address at HT12D/E
2. We have designed it for only two fingers and a basic movement.
    For 5 fingers and much more degree of freedom use 5 flex sensors and Zigbee module