setting

CircuitFundaz: DTMF Controlled Robot using Arduino

DTMF Controlled Robot using Arduino



In present time almost all the people are familiar with robots. Robots play a very important role in human life. Robots are a machine which reduces the human efforts in heavy works in industries, building etc. and makes life easy. We are here with our next robot that is Mobile or DTMF Controlled Robot. DTMF controlled Robot runs over mobile DTMF technology that exists in Dial tone. DTMF stands for Dual Tone Multiple Frequency. There are some frequencies that we use to create DTMF tone. In simple words by adding or mixing two or more frequencies generates DTMF tone. These frequencies are given below:




In given figure we can see two groups of different frequencies. When one upper and one lower frequencies mixed then a tone is created and that tone we call Dual Tone Multiple Frequency

Required Components

  • Arduino UNO
  • DC Motor
  • Mobile Phone
  • DTMF decoder Module
  • Motor Driver L293D
  • 9 Volt Battery
  • Battery Connector
  • Aux wire
  • Robot Chasis with wheel
  • Connecting wires


What is DTMF?
DTMF is a Dual Tone Multiple Frequency decoder module which has a MT8870 DTMF decoder IC which decodes DTMF tone signal to digital signal that are acceptable for arduino digitally. Here an aux wire is needed for connecting DTMF module to phone.




Block Diagram for DTMF Controlled Robot using Arduino






Remote section: This section’s main component is DTMF. Here we get a tone from our cellphone by using aux wire to DTMF Decoder IC namely MT8870 which decodes the tone into digital signal of 4bit.
Control Section: Arduino UNO is used for controlling whole the process of robot. Arduino reads commands sent by DTMF Decoder and compare with define code or pattern. If commands are match arduino sends respective command to driver section.
Driver section: driver section consists motor driver and two DC motors. Motor driver is used for driving motors because arduino 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 arduino motor driver drive motor according to commands.

Programming Explanation

In program first of all we have defined output pins for motors and Input pins for DTMF decoder output as in INPUT for Arduino.
define
And then in setup set motor pin as OUTPUT and DTMF decoder output pins as INPUT.
direction
After that we read DTMF decoder output and then compare with defined values by using “if” statement and perform relative operation.
redesign and compare
There are five conditions in this DTMF controlled Robot that are giving below:


Code: 
#define m11 3
#define m12 4
#define m21 5
#define m22 6
#define D0 19
#define D1 18
#define D2 17
#define D3 16
void forward()
{
   digitalWrite(m11, HIGH);
   digitalWrite(m12, LOW);
   digitalWrite(m21, HIGH);
   digitalWrite(m22, LOW);
}
void backward()
{
   digitalWrite(m11, LOW);
   digitalWrite(m12, HIGH);
   digitalWrite(m21, LOW);
   digitalWrite(m22, HIGH); 
}
void left()
{
   digitalWrite(m11, HIGH);
   digitalWrite(m12, LOW);
   digitalWrite(m21, LOW);
   digitalWrite(m22, LOW);
}
void right()
{
   digitalWrite(m11, LOW);
   digitalWrite(m12, LOW);
   digitalWrite(m21, HIGH);
   digitalWrite(m22, LOW);
}
void Stop()
{
   digitalWrite(m11, LOW);
   digitalWrite(m12, LOW);
   digitalWrite(m21, LOW);
   digitalWrite(m22, LOW);
}
void setup() 
{
  pinMode(D0, INPUT);
  pinMode(D1, INPUT);
  pinMode(D2, INPUT);
  pinMode(D3, INPUT);
  pinMode(m11, OUTPUT);
  pinMode(m12, OUTPUT);
  pinMode(m21, OUTPUT);
  pinMode(m22, OUTPUT);
}
void loop() 
{
  int temp1=digitalRead(D0);
  int temp2=digitalRead(D1);
  int temp3=digitalRead(D2);
  int temp4=digitalRead(D3);
 
  if(temp1==0 && temp2==1 && temp3==0 && temp4==0)
  forward();
  else if(temp1==0 && temp2==0 && temp3==1 && temp4==0)
  left();
  else if(temp1==0 && temp2==1 && temp3==1 && temp4==0)
  right();
  else if(temp1==0 && temp2==0 && temp3==0 && temp4==1)
  backward();
   else if(temp1==1 && temp2==0 && temp3==1 && temp4==0)
  Stop();
}







Working of DTMF Controlled Robot

DTMF controlled robot run 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 Robot’s 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 DTMF controlled 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.
When we press ‘6’, robot turned to right

And for stopping robot we pass‘5’.

























No comments:

Post a Comment

Copyright © CircuitFundaz Urang-kurai