Introduction: DTMF Controlled Robot

About: Voice Of Technology·Wednesday, 22 April 2020· Welcome to our page ,here you all get some exciting engineering project video clips and if you follow the link to the YouTube you will get the total tutorials of…




Let's BEGIN:-

So basically its a very good project for the beginners also for the intermediates to increase the skills upon Arduino Uno and motor driver using new equipment to DTMF(DUAL TONE MULTI FREQUENCY) we will proceed about details below but for now, a simple introduction given.WE can use the project for the application as surveillance robot as we can see through mobile phone doing video call though we are calling from far far away anywhere within a country, let's take an example: the robot connected to a phone in your home but you are at office with your own phone just to look after your family member or safety of the house you just do a video call and see what is happening there as you can move the robot clicking the numeric keypads of the phone attached to it.


1:-Arduino UNO(Arduino Uno R3 ATmega328P ATMEGA16U2 Compatible with USB Cable (Cable colour may vary, Cable length 1 foot))

2:-DC Motor(KitsGuru BO 3 -12 V DC 100 RPM Geared Motor KG158)

3:-two Mobile Phone

4:-DTMF decoder Module(Embeddinator's DTMF Decoder Module)

5:-Motor Driver L293D(Elementz Engineers Guild Pvt Ltd L293D_MOTOR_DRIVER_BOARD L293D Ic Based Dc Motor / Stepper Motor Driver Board for Raspberry Pi Arm Arduino Avr Pic 8051)

6:-9 Volt Battery with Battery Connector(Intex IT-PBB 2000 MAH Power Bank (Black)0

7:-Aux wire

8:-Robot Chasis with wheel(Super Jumbo Chasis (Color May Vary))

9:-Connecting jumper wires(Jumper Wires Male to Male, male to female, female to female, 120 Pieces)

10;-breadboard(KTC CONS Labs Nickel Plated 840 Points Bread Board or Solderless Piecesb Circuit Test Board, White)

Step 2:

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.


Arduino and motor driver connection:-

motor driver l293d have 16pin.....

1,8,9and 16pin is connected to +5v

and 5,6,12 and 13 pin is connected to gnd...

2pin of l293d is connected to 3pin of Arduino

7pin of l293d is connected to 4pin of Arduino

10 pin of l293d is connected to 5pin of Arduino

15pin of l293d is connected to 6pin of Arduino

ARDUINO and DTMF connection:-

d0 pin of DTMF connect to a5 analog pin Arduino

d1 pin of DTMF connect to a4 analog pin of Arduino

d2 pin of DTMF connect to a3 analog pin of Arduino

d3 pin of DTMF connect to a2 analog pin of Arduino

aux wire connection:-

the black and red wire of aux cable is connected to DTMF.

Step 4:

DTMF controlled robot run by some commands that are sent via mobile 1st we will call from user mobile then..and that receiver phone is connected to robot...this phone is connected by aux wire to DTMF module for receive commands from user mobile.

First, we make a call by using a remote user phone to receiver phone and then attend the call by manually answer mode. Now here is how this DTMF controlled robot is controlled by cell phone:-

When we press ‘2’ by remote phone, the robot starts to moving forward and moving continues forward until next command comes.

then.. we press ‘4’ by remote phone, the robot changes his state and start moving in a backward direction until another command comes.

When we press ‘0’, Robot get to turn left and When we press ‘8’, the robot turned to right...

And to stop robot we press‘5’.


#define m11 3

#define m12 4

#define m21 19

#define m22 6

#define D0 19

#define D1 18

#define D2 17

#define D3 20

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)


else if(temp1==0 && temp2==0 && temp3==1 && temp4==0)


else if(temp1==0 && temp2==1 && temp3==1 && temp4==0)


else if(temp1==1&& temp2==0 && temp3==0 && temp4==1)


else if(temp1==1 && temp2==0 && temp3==1 && temp4==0)