Skip to main content

Wireless gesture Controlled Robot Using AT89S52


ACCELEROMETER  BASED  WIRELESS  GESTURE CONTROLLED  ROBOT  USING 8051 (ATMEL’S  AT89S52)


                      The gesture controlled robot is a special kind of robot which works with
your hand gestures. It is possible to control the movement of robot in desired
direction just with your hand gestures. You just need to wear a small transmitting
device in your hand which included an acceleration meter. This will transmit an
appropriate command to the robot so that it can do whatever we want.
This robot is mainly divide into 2 parts:

1. Transmitter – The gesture device.
2. Receiver – The Robot.

Now let’s discus about transmitter first.
The transmitter consist of following analog and digital components:
1. Analog accelerometer ( motion sensor )
2. Comparator (LM324 OP-AMP)
3. 4-bit Encoder (HT12E)
4. RF transmitter (remote control )

THE GESTURE (TRANSMITTER) DEVICE:

Gesture Device


THE TRANSMITTER SCHEMATIC:

the transmitter schematic


THE TRANSMITTER PCB:
Transmitter PCB

The accelerometer:

An Accelerometer is a kind of sensor which gives an analog data while
moving in X,Y,Z direction or may be X,Y direction only depend's on the type of
the sensor. Here is a small image of an Accelerometer shown. We can see in the
image that there are some arrow showing if we tilt these sensor's in that direction
then the data at that corresponding pin will change in the analog form.
The Accelerometer having 6 pin-
1- VDD- We will give the +5volt to this pin
2- GND- We simply connect this pin to the ground for biasing.
3- X- On this pin we will receive the analog data for x direction movement.
4- Y- On this pin we will receive the analog data for y direction movement.
5- Z- On this pin we will receive the analog data for z direction movement.
6- ST- this pin is use to set the sensitivity of the accelerometer 1.5g/2g/3g/4g.

Accelerometer

The comparator :

For the purpose to change the analog voltage into digital we use comparator
which compare that analog voltage to a reference voltage and give a particular high
or low voltage.
LM324 IC:\
The figure shown here is comparator IC. The pin 1,7,8 and 14 are use to give out
put to the microcontroller. We should connect a reference voltage to the -ve
terminal for high output when input is high(+ve terminal for high output when
input is low) from the LM324 IC.Here 10k pots are used to give fix reference
voltage to LM324 which can be used to adjust sensitivity & control o/p of LM324.
In this circuit we compare the data from x with two terminal one for positive
x direction and negative x direction and same for y direction.


The HT12E 

is an 4bit encoder which encode the input data applied on it .

HT12E :

1. pin-(1 to 8) A0-A7 known as address bits so we do not need to consider them.
These pins are only consider while using multiple transmission devices at same
frequency.
2. pin-no (9 and 18) are use to bias the IC as pin-18 as VCC and pin-9 as GND.
3. pin- 17 is connected to the rf transmitter module Din.
4. pin-16 and pin-15 are connected by an Osc resistor known as Roscc(1.1 Mohm)
5. pin-14 is connected to ground to enable the transmitt.
6. pin-13 to pin-10 are known as AD0 to AD3 those having the 4bit data which is
required to transmit.

RF Transmitter (Tx) :

The transmitter module is working on the frequency of 433MHz and
315MHz. 433MHz is good for indoor use while 315MHz is good for outdoor use.
They are easily available in the market at the cost of 350rs .
RF Transmitter :
1. The vcc pin is connected to the +terminal in the circuit.
2. The data pin is connected to the HT12E(pin no-17) that is transmitted or we can
say that encoded data.
3.The next pin is shown in figure is GND that is connected to the ground terminal.
4.Now the last pin ANT this is connected to a small wire as an antenna. (17cm for
433MHz and 23cm for 315MHz).

Now let’s discus about the receiver i.e. robot.
The receiver consist of following analog and digital components:
1. RF receiver (Rx)
2. 4-bit decoder (HT12D)
3. The microcontroller (AT89S52)
4. The motor driver (L293D)
5. 16*2 LCD display.


THE RECEIVER SCHEMATIC:

The Robot Circuit.

THE RECEIVER PCB:


The Robot PCB

REAL PCB IMAGE:

Real PCB

THE 8051 EXTENSION BOARD WHICH I USED:

8051 IO board.

8051 I/O Board Image:


The RF receiver (Rx) :

The RF receiver module will receive the data which is transmitted by the
gesture device. It is also working as similar to the transmitter module.
RF Rx :
• Connect the +vcc pin to the 5volt terminal.
• Connect the ground pin to the ground terminal.
• The data pin is then connected to the HT12D (pin-14).
• So that we can get the decoded 4 bit data.

The Decoder (HT12D):

In a very simple way we can say that an HT12D converts that serial data into
parallel which is received by the rf receiver module.The input data is decoded
when no error or unmatched codes are found. A valid transmission in indicated by
a high signal at VT pin that is pin no 17.
• pin 18 : It is use to give the +vcc or biasing to the IC HT12D this pin is
connected with the +5 volt
• Pin 17 : It is the valid transmission pin it will high when the transmission
is ok so that we connected this pin to an led for indication.
• Pin 16-15: we connect these two pin directly by a 51k resistor
• Pin 14 : This pin is connected with the rf receiver module data pin to
receiving the serial data.
• Pin 10-13: These pins are data pin which is transferred by the gesture
module.

Microcontroller AT89S52:


The processing is the most important part of the robot. Till now we get the
data from the decoder now based on that data we have to make some decision so
here the role of microcontroller is coming up. We use an 8051 microcontroller for
our circuit to give them a decision capability. Our microcontroller is made up
by Atmel the product name is AT89S52. We just need an reset circuit and
oscillator to run the program.

Program for Micro-Controller in C language using Keil Compiler.


#include<reg51.h>
sbit s1 = (P0^1);
sbit s2 = (P0^2);
sbit s3 = (P0^3);
sbit s4 = (P0^4);
sbit d1 = (P1^1);
sbit d2 = (P1^2);
sbit d3 = (P1^3);
sbit d4 = (P1^4);
sbit en = (P1^5);
#define cmdport P3
#define dataport P2
#define q 10
#define o 1
sbit rs = cmdport^2; //register select pin
sbit rw = cmdport^1; // read write pin
sbit e = cmdport^0; //enable pin
void delay(unsigned int msec) // Function to provide time delay in msec.
{
int i,j ;
for(i=0;i<msec;i++)
for(j=0;j<550;j++);
}
void lcdcmd(unsigned char msg) //Function to send command to LCD
{
dataport = msg;
rs= 0;
rw=0;
e=1;
delay(1);
e=0;
}
void lcddata(unsigned char item) //Function to send data to LCD
{
dataport = item;
rs= 1;
rw=0;
e=1;
delay(1);
e=0;
}
lcddat(unsigned char *item) // function to send string to LCD
{
int x;
for(x=0;item[x]!=0;x++)
{
lcddata(item[x]);
}
}
void main ()
{
P1=0x00;
P2=0x00;
P3=0x00;
delay(100);
lcdcmd(0x38);
delay(q);
lcdcmd(0x01);
delay(q);
lcdcmd(0x0C);
delay(q);
lcdcmd(0x80);
delay(q);
lcddat("Wireless Gesture");
lcdcmd(0xC0);
delay(q);
lcddat("Controlled Robot");
delay(700);
lcdcmd(0x01);
delay(q);
lcdcmd(0x81);
delay(q);
lcddat("Using AT89S52");
delay(q);
lcdcmd(0xC0);
delay(q);
lcddat("Micro-controller");
delay(700);
lcdcmd(0x38);
delay(q);
lcdcmd(0x01);
delay(q);
;lcdcmd(0x0C);
delay(q);
lcdcmd(0x86);
delay(q);
lcddat("By:");
delay(q);
lcdcmd(0xC2);
delay(q);
lcddat("Pranjal Joshi");
delay(650);
while(1)
{
if (!s1 & !s2 & s3 & !s4)
{
en = 1;
d1 = 1, d3 = 1;
d2 = 0, d4 = 0;
lcdcmd(0x38);
delay(q);
en=0;
lcdcmd(0x01);
delay(q);
en=1;
lcdcmd(0x0C);
delay(q);
lcdcmd(0x80);
en=0;
delay(q);
lcddat("Receiving Signal .");
en=1;
delay(q);
lcdcmd(0xC0);
delay(q);
en=0;
lcdcmd(0x0C);
delay(q);
en=1;
lcddat("GOING FORWARD ");
delay(40);
en=0;
}
if (!s1 & !s2 & !s3 & s4)
{
en = 1;
d1 = 0, d3 = 0;
d2 = 1, d4 = 1;
lcdcmd(0x38);
delay(q);
en=0;
lcdcmd(0x01);
delay(q);
en=1;
lcdcmd(0x0C);
delay(q);
lcdcmd(0x80);
delay(q);
en=0;
lcddat("Receiving Signal .");
delay(q);
en=1;
lcdcmd(0xC0);
delay(q);
en=0;
lcdcmd(0x0C);
delay(q);
en=1;
lcddat("GOING REVERSE ");
delay(40);
en=0;
}
if (!s1 & s2 & !s3 & !s4)
{
en = 1;
d1 = 0, d4 = 0;
d2 = 1, d3 = 1;
lcdcmd(0x38);
delay(q);
en=0;
lcdcmd(0x01);
en=1;
delay(5);
en=0;
lcdcmd(0x0C);
en=1;
delay(5);
en=0;
lcdcmd(0x80);
en=1;
delay(q);
en=1;
delay(5);
en=0;
lcddat("Receiving Signal .");
delay(q);
lcdcmd(0xC0);
delay(q);
lcdcmd(0x0C);
delay(q);
lcddat("TURNING RIGHT ");
en=1;
delay(5);
en=0;
delay(2);
en=1;
delay(5);
en=0;
en=1;
delay(5);
en=0;
delay(40);
}
if (s1 & !s2 & !s3 & !s4)
{
en = 1;
d1 = 1, d4 = 1;
d2 = 0, d3 = 0;
lcdcmd(0x38);
delay(q);
en=0;
lcdcmd(0x01);
en=1;
delay(5);
en=0;
lcdcmd(0x0C);
en=1;
delay(5);
en=0;
lcdcmd(0x80);
en=1;
delay(q);
en=1;
delay(5);
en=0;
lcddat("Receiving Signal .");
delay(q);
lcdcmd(0xC0);
delay(q);
lcdcmd(0x0C);
delay(q);
lcddat("TURNING LEFT ");
en=1;
delay(5);
en=0;
delay(2);
en=1;
delay(5);
en=0;
en=1;
delay(5);
en=0;
delay(40);
}
if (!s1 & !s2 & !s3 & !s4)
{
en=0;
d1=0;
d2=0;
d3=0;
d4=0;
lcdcmd(0x38);
delay(q);
lcdcmd(0x01);
delay(q);
lcdcmd(0x0C);
delay(q);
lcdcmd(0x80);
delay(q);
lcddat("No Signal ");
delay(q);
lcdcmd(0xC0);
delay(q);
lcdcmd(0x0C);
delay(q);
lcddat("STOP ");
delay(40);
}
}
}

THE 16*2 Alphanumeric LCD display:

16*2 LCD Display

Make all the LCD connections as shown in the receiver circuit diagram. Please add
10K preset between vcc & gnd and connect variable pin to 3rd pin of LCD (VEE)
for suitable contrast ration adjustment.

The Accurator: L293D Motor driver:

The Actuator's are those devices which actually gives the movement or to do a
task like motor's. In the real world their are various types of motor's available
which works on different voltages. So we need motor driver for running them through
the controller. To get interface between motor and microcontroller . We use L293D
motor driver IC in our circuit. As in above circuit 2 pin male
As in above circuit a 2 pin male connector in connected to the pin 8 this will
provide the operating voltage for the motor like if we want to run our voltage on
12volt. so we just have to connect a 12 or 9 volt power source.

SOME MORE IMAGES & VIDEO..!!

video
HERE IS A VIDEO... MUST SEE TO UNDERSTAND FUNCTION..




Weightless Chassis (Body of Robot)

Please Visit again the blog for latest updates...!!


Thank you,
Pranjal Joshi.

Comments

  1. hi :)
    i love your robot :)
    exelent work !!!

    please can you send me the full schematics?
    because i dont understand the reciver part.
    where is the rf reciver?
    how i connect the rf module to the decoder?
    please send me the full circuit file :)
    i want to build it for my kid :)

    ill give yoe my mail ok?
    davidsviri@gmail.com

    thank you :)

    ReplyDelete
  2. I am developing this project again with some extra features.. i will give u the new designes..

    ReplyDelete
    Replies
    1. Cant i get ur mail id need some idea regarding this project

      Delete
  3. This comment has been removed by the author.

    ReplyDelete
  4. hi i'm working with the a similar project n facing problem with accelerometer and comparator i.e i'm not getting outputs from comparator plzzz help me i'll wait for u r response ,my mail id is rveladri@gmail.com

    ReplyDelete
  5. can u plz mail me the full schemantics? i wish to try this bot at home.
    thank you very much in advance :)
    plz mail me om : jinx.rodes@gmail.com

    ReplyDelete
    Replies
    1. I have uploaded all the schematics i have..!

      Delete
  6. hey buddy plzzzzzzzzzzz can u send me the full circuit diagram and the full layout project of this project. its very urgent for me to complete this projrct till saturday coz its my final year and its my final year project so plzzz help me with this things my email id is :- omkar.nightmare@gmail.com
    plzzzzzz i hope i'll get ur mail with full layout and circuit by 2morrow ...
    thank you.....

    ReplyDelete
  7. please send me all the layout and circuitry so i will make this for my final year project..........
    thank you......

    ReplyDelete
  8. sir there pcb layout and circuitry not completely open so please mail me complete diagram....
    thank you......

    ReplyDelete
    Replies
    1. I will send u a folder of this project as soon as possible.

      Delete
  9. Sir please can you mail me the full circuit diagram and the full layout project of this project. I need it as my final year project.otherwise there would be a problem with my degree.

    ReplyDelete
  10. My email id is r.shamnani@gmail.com please send me the details as soon as possible

    ReplyDelete
  11. can we write the program using avr studios?

    ReplyDelete
  12. hey can u plz send me full ckt diagram..it z urgent plzzzzz...my id is mgiri9922@gmail.com

    ReplyDelete
  13. I loved ur project sir. . . I want to prepare it but i have tu use 89C51 plz guid me sir. . Is it ok? Plz if there will any change in ckt or anything else? Plz guid me. My email id is velhalomkar@gmail.com plz sir

    ReplyDelete
  14. hello ! can u let me know its industrial application?

    ReplyDelete
  15. HELLO....sir your project is excellent...... but i get truble to understand each and every part of this project so give me fully specification and component......pleas help and send this id..
    hiralp407@gmail.com

    ReplyDelete
  16. Hats off to your effort.
    can you please email me proteus file.

    My mail id- dheeraj.gehlot@rediffmail.com

    ReplyDelete
  17. sir, can u please mail me the full circuit diagram and respective connections so that i can make this as my project.
    email id: saurav007saha@gmail.com
    thank u
    wishing for a reply soon

    ReplyDelete
  18. hi can you send me the circuit diagrams of this project so that i can use it as my final year project..hank you..My mail id is pulakala.sumaprasanth@gmail.com

    ReplyDelete
  19. will u provide me link for video.
    because due to university policies i'm not able to see the link.

    mail id: himanshu26592@gmail.com

    ReplyDelete
  20. we have tried this project. but receiver is not getting signals from transmitter part... can u provide us with better idea???

    ReplyDelete
  21. Sir. can you mail me the full details of your project with modifications to me as soon as possible? I wish do do my main project based on this. Thanks.
    cris.thomas1@gmail.com
    CRIS

    ReplyDelete
  22. Sir we are working on this project for many days but unable to generate hex file for the above code kindly send us hex file as soon as you can.
    thanks
    NeelChawlafast@gmail.com

    ReplyDelete
  23. hi there
    you project is pretty impressive
    i am having some difficult with the keli compiler
    it would be good if you could sent the hex file that you used
    Jephilbaby@yahoo.com



    ReplyDelete
  24. sir, your project is excellent i like it... would you please sent the proper schematic circuit of transmitter. my email id: vkr683@gmail.com.

    ReplyDelete
  25. Sir, can you please sent me the full scematics!??? we are planning to do this as project. My email id : nair.vishak@gmail.com
    anyway thanking you in advance..looking forward for ur reply at the earliest..!!

    ReplyDelete
  26. sir can you please send me full details of this project?
    my email: pyoungren@rediffmail.com

    ReplyDelete
  27. plz i dnt getting how the comparator compare the voltage level wid d help of preset resistor..
    plz rpy me...i hv to complete my project..my id is dixita_rose@yahoo.com

    ReplyDelete
  28. Hey pranjal,
    plz mail me the full schemantics? i wish to make it for major project
    thank you very much in advance :)
    plz mail me om : manojkumarsharma1992@gmail.com

    ReplyDelete
  29. Hello Pranjal we are working on the same project and we need your help.
    can you please email me proteus file.

    My mail id- sandeep.singh9025@gmail.com

    ReplyDelete
  30. Hello sir . i I am making this project for my final year and the deadline for submission is 28 February.

    But really dont know which antenna is to bes used in transmitter and receiver.
    Sir it would be really a great help for me if you please send me all the schematics and program code on my mail..
    I actually searched you on facebook but could not find you.
    Sir please do as requested as it would really help me,

    Abhi Chauhan
    07520606020

    mr.abhi.chauhan@gmail.com

    ReplyDelete
  31. i m confused with the receiver part regarding to RF module.
    can u please mail me full schematic of this robot??
    it will be so helpful to my project also.... please send me the details..
    here's my id- biyani.suraj7@gmail.com

    ReplyDelete
  32. hey buddy plzzzzzzzzzzz can u send me the full circuit diagram and the full layout project of this project. its very urgent for me to complete this projrct till saturday coz its my final year and its my final year project so plzzz help me with this things my email id is :- pksonawane2012@gmail.com
    plzzzzzz i hope i'll get ur mail with full layout and circuit ,
    thank you.....

    ReplyDelete
  33. Your project is nice and good.Every thing is in a perfect shape and it shows clearly your hardwork.As I am in final year n looking to make something interesting so I am looking forward to do this project so can you send me the schematics along with code and pcb layout with circuit diagram. Email id :knotty.ankit7777@gmail.com
    Thank you

    ReplyDelete
  34. ur project is very good, and i'm doing this project,,so i requested to u plz send pcb layout of this project and how to burn the ic..(i need burned ic also).. .email: rajuraj201066@gmail.com,,contact:8892007148

    ReplyDelete
  35. plzzz send me the full ckt diagram as i hv to mke it my final project...plzzz its urgent
    send me ASAP

    ReplyDelete
  36. it's an amazing project !! Could you please tell me the difference between using a XBEE and the transciever you are using ?

    ReplyDelete
  37. Hi..I'm working on the same project but instead I'm using a ATMEGA 8 board. So can u please mail me the full schematic circuit diagrams with explanations and the program code for it on Atmel studio.. Thanks, looking forward to it.! :)

    My e-mail id: rakshumn1@gmail.com

    ReplyDelete
  38. Hey...please can you send me the full circuit diagram and the full layout project of project (Wireless gesture Controlled Robot Using AT89S52)...
    i hope i'll get your mail with full layout...
    Please contact me...my email id is :- sjshubham1996@gmail.com

    ReplyDelete
  39. hey i want to make the same project using arduino uno at transmitter side and microcontroller 8051 at the receiver side..
    can you plz help me with the coding part
    please rply me on this email-yogeshkumar191093@gmail.com

    ReplyDelete
  40. Sir please specify the wiring of the 8051 extention and receiver part
    plss reply me on mouryaprashant1994@gmail.com

    ReplyDelete
  41. please send the full document of this project i need to submit with in month sir please

    ReplyDelete
  42. Hello this project is my final year project so full report send my email id..........
    harshpatel.9042@gmail.com

    ReplyDelete
  43. Hello, :-) this s my final year project, pz sent the full details email id: ksvishnushiva@gmail.com

    ReplyDelete


  44. Hello, this s my final year project, pz sent the full details email id: kailashmetta444@gmail.com

    ReplyDelete
  45. I am building the same robot but instead of using 8051 microcontroller, I am using arduino uno like this one. But your project is detailed and very helpful to me to understand the concept. thanks

    ReplyDelete
  46. Hello pranjal can you please send me full details of this project?
    Email id: nikneswankar16@gmail.com

    ReplyDelete
  47. Hello pranjal can you please send me full details of this project?
    Email id: nikneswankar16@gmail.com

    ReplyDelete
  48. hello pranjal your project is good one,but our group is implementing
    on actual wheelchair so we want some more info about interfacing ,,,
    plzz inform us on email kumkaleakshay9@gmail.com

    ReplyDelete
  49. hello pranjal your project is good one,but our group is implementing
    on actual wheelchair so we want some more info about interfacing ,,,
    plzz inform us on email kumkaleakshay9@gmail.com

    ReplyDelete
  50. hello pranjal your project is good one,but our group is implementing
    on actual wheelchair so we want some more info about interfacing ,,,
    plzz inform us on email kumkaleakshay9@gmail.com

    ReplyDelete
  51. hey plzzcan u send me the full circuit diagram and the full layout project of this project. its my final year project so plzzz help me with this things my
    thank you.....
    My email I'd...
    pallavi88002@gmail.com
    Plzz as soon as possible

    ReplyDelete
  52. can u send the pcb layout i.e gerber file of 8051 to my mail (amar1397@gmail.com)

    ReplyDelete
  53. This support for this project no longer exist. Please don't ask for diagrams, layouts, code & project report. Providing your E-mail address in comment is not going to help you.

    ReplyDelete

Post a Comment

Popular posts from this blog

Let's make an Arduino T-copter from scratch!

STEP-1 Starting up...Hi people, I am back after few months.. I decided to build something "productive" from ATmega chips laying around in my drawer, collecting dust. Still my final exam is not completed, i am busy in my studies.. but i am updating my idea as early as possible on this blog. From the first day, when i saw a multi-rotor UAV i was passionate to build my own multi copter.. And yes, build it from scratch rather than building it using ready made flight controllers like multiwii, kk multicopter etc... I am going make my own RF remote control rather than using a ready made multichannel  transmitters & receivers.. Hope my tricopter will fly as early as possible..
Basic Design (just created in paint):
I am going buy require components after my final exam... lot of work to do.. software, hardware & calculations...!!
so stay tuned to build your very own tricopter with me... 
(PS. I am trying to understand mathematical algorithm for flight stabilization and error dete…

ESP8266: Super compact WiFi Snipper for DeAuth attack

Introduction: Hello world! Few years ago, a new chip came to the market which started a new revolution! Yes, i am talking about the ESP8266. This chip is  way more powerful in terms of CPU architecture, clock frequency, flash size and power consumption if we compare it with existing arduino boards that usually contains Atmel's AVR controllers.
Actually i bought this ESP-01 modules few years back which was originally flashed with good old serial AT command firmware. Over the time, I figured out that the same chip can be directly programmed through the Arduino IDE. This feature is so amazing that you can practically use all existing arduino libraries and the same IDE to program the ESP8266 according to your need by flashing your own arduino sketch. (Word of caution: It will remove your existing AT commands firmware from the chip)
Okay, but why DeAuth?[ First of all you must read this, if you don't know anything about deauthentication attack. ]
After experimenting a lot with typical…