Professional Documents
Culture Documents
com/circ
(http://twitter.com/intent/fo
source=followbutton&variant=1
(https://plus.google.com/u/0/10
(http://www.pinterest.com/circu
(https://circuitdigest.com/rss.xm
(/)
In this project we are going to build a cell phonecontrolled robot using 8051 microcontroller. Cell phonecontrolled robot runs over mobile
DTMF technology. DTMF stands for Dual Tone Multiple Frequency. There are some frequencies that we use to create DTMF tones. In
simple words by adding or mixing two or more frequencies we generateDTMF tone. These frequencies are given below:
Ads by Google
Circuit Diagram
13
Shares
12 1
In given figure we can see two groups of different frequencies. When one upper and one lower frequencies mix together then a tone is
created which is called Dual Tone Multiple Frequency.
RequiredComponents
1. 8051 microcontroller
2. DC Motors
3. Mobile Phone
4. Motor Driver L293D
5. 7404
6. 8870
7. .1 Uf Capacitor
8. 330K resistors
9. 100K resistors
10. 11.0592 MHz xtal
11. 3.57 MHz xtal
12. 22pF capacitors
13. 1K resistors
14. 10K resistor
15. 10K resistor pack
16. 33 pF capacitors
17. Push button
18. LEDs
19. 7805
20. 1000uF capacitor
21. 10uF capacitors
22. Copper Clad
23. 9 Volt Battery
24. Battery Connector
25. Aux wire
26. Robot Chasis with wheel
27. Connecting wires
Control Section: 8051 is used for controlling the complete process of this mobile phone controlledrobot. 8051 reads commands sent by
DTMF Decoder and compare with defined code or pattern. If commands match, the microcontrollersends respective command to driver
section.
IC Design Services
ASIC, FPGA and embedded
design. Trusted, cost
effective, worldwide
ensilica.com
Driver Section:Driver section consists motor driver and two DC motors. Motor driver is used for driving motors because microcontroller
does not supply enough voltage and current to motor. So we add a motor driver circuit to get enough voltage and current for motor. By
collecting commands from 8051, motor driver drive motor according to commands.
Mobile Robot
Robot Programming
(/fullimage?i=circuitdiagram_mic/Cell-Phone-Robot-Circuit.png)
IC Design Services
ensilica.com
Circuit Diagram of Cell Phone Controlled Robot is very similar with our other robotics projects (http://circuitdigest.com/robotics-
projects) like PC Controlled Robot (http://circuitdigest.com/microcontroller-projects/computer-controlled-robot-using-arduino), Line
Follower (http://circuitdigest.com/microcontroller-projects/line-follower-robot-using-arduino), Gesture Controlled Robot
(http://circuitdigest.com/microcontroller-projects/accelerometer-based-hand-gesture-controlled-robot-using-arduino), etc. Here one motor
driver is connected to 8051 microcontroller for driving robot. Motor drivers input pin 2, 7, 10 and 15 are connected at 8051s pin number
P2.6, P2.3, P2.0 and P2.7 respectively. Here we have used two DC motors to driverobot in which one motor is connected at output pin of
motor driver 3 and 6 and another motor is connected at 11 and 14. A 9 volt Battery is also used to power the motor driver for driving
motors. A DTMF decoder is added with this circuit to fulfil our aim to control the robot with cell phone, and this decoder is plugged into a
mobile phone using an aux wire for receiving command or DTMF Tone. DTMF decoder pins D0-D3 are connected with 8051s pin number
P0.0, P0.1, P0.2, P0.3 through NOT gate IC (http://circuitdigest.com/electronic-circuits/not-gate-circuit) namely 7404. So 8051 will get
inverted input from DTMF decoder like if we will press button 5 from mobile keypad the output of DTMF decoder will be 0010 but 8051 will
get 1101. Two 9 Volt batteries are used to power the circuit in which one is used for power the motors, connected at motor driver IC pin
number 8, and other battery is connected to power the remaining circuit.
Cell phone controlled robotrun by some commands that are send via mobile phone. We are here using DTMF function of mobile phone.
Here we have used the mobile phone to show working of project. One is user mobile phone that we will call remote phone and second one
that are connected with Robots circuit using aux wire. This mobile phone we will call Receiver Phone.
First we make a call by using remote phone to receiver phone and then attend the call by manually or automatic answer mode. Now here is
how this robot is controlled by cell phone:
When we presses 2 by remote phone, robot start to moving forward and moving continues forward until next command comes.
When we presses 8 by remote phone, robot change his state and start moving in backward direction until other command comes.
When we press 4, Robot get turn left till next command exicuted.
PCB Layout
Here is the PCB layout for cell phone controlled robot using 8051 microcontroller. Here you can find a tutorial to design a PCB at home with
easy steps: How to make a PCB at home (http://circuitdigest.com/article/how-to-make-a-pcb-at-home)
Ads by Google
Robot Automation
Code:
#include<reg51.h>
#define key P0
#define key2 0x0d
#define key4 0x0b
#define key6 0x09
#define key8 0x07
#define key5 0x0a
#define direction P2
#define forward 0x09 // 00xx 1xx1
#define backward 0xc0
#define left 0x01
#define right 0x08
#define stop 0x00
void main()
{
P0=0x0f;
P2=0x00;
while(1)
{
if(key==key2)
direction=forward;
else if(key==key4)
direction=left;
else if(key==key6)
direction=right;
else if(key==key8)
direction=backward;
else if(key==key5)
direction=stop;
}
}
Video:
Cheapest PCB Prototype: Only $2 for 10pcs 100mm x 100mm PCBs (https://easyeda.com/order)
Components: Shipping with PCB & Low Minimum Order & Save 50% on Cost (https://lcsc.com)
PCBA manufacturer -
PCBA assembly
Ad joga-pcba.com
K5 Note Earphones
@299/-
Ad latestone.com
circuitdigest.com
Ad pcbdepanelingmachine.com
DTMF Controlled
Robot using Arduino:
Complete Project...
circuitdigest.com
8051 Projects -
Circuits and Projects
Based on 8051...
circuitdigest.com
Keypad Interfacing
with 8051
Microcontroller...
circuitdigest.com
Automatic Room
Lights using PIR
Sensor and Relay:...
circuitdigest.com
RF Controlled Robot -
Project and Circuit
Diagrams for RF...
circuitdigest.com
Comments (11)
reply (/comment/reply/212/545)
sumit kumar roy
reply (/comment/reply/212/1795)
reply (/comment/reply/212/1795)
Usha l
Thanx for ur project
Mar 21, 2016
reply (/comment/reply/212/3562)
Ayush
plz.. can you send me this code in assembly language on my email id
Jun 19, 2016
reply (/comment/reply/212/7584)
Labonee
Please send me this code in assembly language on my email.
Thanks
Oct 28, 2016
reply (/comment/reply/212/8105)
ADITI
i wanted to know if the code is right or not. It is not working. Can you help, we have to submit it tomorrow.
Nov 10, 2016
reply (/comment/reply/212/10674)
Sumit
Is that assembly language code or c language.??
Feb 05, 2017
reply (/comment/reply/212/12485)
Rasyid
can u also send the coding to me and every step to do it please..im lacking of ways to do my semestral project..tskk
Mar 23, 2017
reply (/comment/reply/212/12814)
subham das
reply (/comment/reply/212/13509)
Manan
How did you execute hex file into this controller..?? I cant see any port to connect to computer as there is in dev board.
Apr 15, 2017
reply (/comment/reply/212/13674)
shekhar
PROGRAM
#include<reg52.h> sbit D0 = P1^0; sbit D1 = P1^1; sbit D2 = P1^2; sbit D3 = P1^3; sbit sen1=P3^6; sbit sen2=P3^7;
sbit M1_ CW =P2^0; sbit M1_ CCW = P2^1; sbit M2_ CW = P2^2; sbit M2_ CCW =P2^3; void msDelay(unsigned int x)
{
unsigned int i,j; for(i=0;i<x;i++) for(j=0;j<1275;j++);
}
void main()
{
sen1=0; sen2=0;
D0=0; D1=0; D2=0; D3=0; M1_ CW=1; M1_ CCW=1; M2_ CW=1; M2_ CCW=1; msDelay(500);
while(1)
{
if( D3==1&&D0==0&&D1==0&&D2==0&&sen1==0&&sen2==0)
{
M1_ CW=0;
M1_ CCW=1; M2_ CW=1;
M2_ CCW=0;
}
else if(D3==0&&D0==0&&D1==0&&D2==1&&sen1==0&&sen2==0)
{
M1_ CCW=0;
M1_ CW=1;
M2_ CW=0;
M2_ CCW=1;
}
else if(D3==1&&D0==0&&D1==0&&D2==1&&sen1==0&&sen2==0)
{
M1_ CCW=1;
M1_ CW=0;
M2_ CW=0; M2_ CCW=0;
}
else if(D3==0&&D0==0&&D1==1&&D2==0&&sen1==0&&sen2==0)
{
M1_ CCW=0; M1_ CW=0;
M2_ CW=1; M2_ CCW=0;
}
else if (sen1==1&&sen2==0)
{
M1_ CCW=1;
M1_ CW=0;
M2_ CW=0; M2_ CCW=0;
}
else if (sen1==0&&sen2==1)
{
M1_ CCW=0;
M1_ CW=0;
M2_ CW=1; M2_ CCW=0;
}
else if(sen1==1&&sen2==1)
{
M1_ CCW=1;
M1_ CW=1;
M2_ CW=1; M2_ CCW=1;
}
else
{
M1_ CCW=1; M1_ CW=1;
M2_ CW=1; M2_ CCW=1;
}
}
Apr 20, 2017
reply (/comment/reply/212/14522)
Sivasakthi
i want how to connect from Beginning to end with connection
May 17, 2017
Leave a comment
Your name *
E-mail *
The content of this field is kept private and will not be shown publicly.
Subject
Comment *
Save Preview
RELATED CONTENT
(http://www.wellpcb.com)
LATEST POSTS
(/microcontroller-projects/high-low-voltage-detector-circuit-using-pic18f2520)
High/Low Voltage Detection and Protection Circuit using PIC Microcontroller (/microcontroller-projects/high-low-voltage-
detector-circuit-using-pic18f2520)
(/microcontroller-projects/arduino-face-tracking-robot)
Real Time Face Detection and Tracking Robot using Arduino (/microcontroller-projects/arduino-face-tracking-robot)
(/microcontroller-projects/arduino-earthquake-detector-alarm-circuit)
(/electronic-circuits/simple-digital-voltmeter-circuit-diagram)
(/microcontroller-projects/iot-based-voice-controlled-home-automation-using-esp8266)
IOT based Voice Controlled Home Automation using ESP8266 and Android App (/microcontroller-projects/iot-based-voice-
controlled-home-automation-using-esp8266)
USER LOGIN
E-mail or username *
Password *
Login (/ajax_register/login/nojs)
Subscribe
Popular Lists: Robotics Projects (/robotics-projects)| Electronics Projects (/electronics-projects) |555 Timer Circuits (/555-timer-circuits) | ATmega32 Projects
(/atmega32-projects) | ATmega8 Projects (/atmega8-projects) | Raspberry Pi Projects (/simple-raspberry-pi-projects-for-beginners) | IoT Projects (/internet-of-
things-iot-projects)| Arduino ESP8266 (https://circuitdigest.com/arduino-esp8266-projects)