You are on page 1of 25

DTMF BASED ROBOT USING ARDUINO

CHAPTER -1
INTRODUCTION

1.1 Introduction of Project:

Robotics is a branch of engineering that involves the conception, design,


manufacture and operation of robots. This field overlaps with electronics,
computer science, artificial intelligence, mechatronics, nanotechnology and
bioengineering. Robotics deals with the design, construction, operation, and use
of robots, as well as computer systems for their control, sensory feedback, and
information processing.

These technologies are used to develop machines that can substitute for
humans and replicate human actions. Robots can be used in many situations
and for lots of purposes, but today many are used in dangerous environments
(including bomb detection and deactivation), manufacturing processes, or where
humans cannot survive (e.g. in space). Robots can take on any form but some
are made to resemble humans in appearance. This is said to help in the
acceptance of a robot in certain replicative behaviors usually performed by
people. Such robots attempt to replicate walking, lifting, speech, cognition, and
basically anything a human can do. Many of today's robots are inspired by
nature, contributing to the field of bio- inspired robotics.

The concept of creating machines that can operate autonomously dates


back to classical times, but research into the functionality and potential uses of
robots did not grow substantially until the 20th century. Throughout history, it
has been frequently assumed that robots will one day be able to mimic human
behavior and manage tasks in a human-like fashion. Today, robotics is a rapidly
growing field, as technological advances continue; researching, designing, and
building new robots serve various practical purposes, whether domestically,
commercially, or militarily.

Many robots are built to do jobs that are hazardous to people such as
defusing bombs, finding survivors in unstable ruins, and exploring mines and
shipwrecks. Robotics is also used in STEM (science, technology, engineering, and
mathematics) as a teaching aid. Now presently we are using most powerful
technology i.e, DTMF in the robot design.

Department of ECE Page 1


DTMF BASED ROBOT USING ARDUINO

Dual-tone multi-frequency signaling(DTMF) is an in band


telecommunication signaling system using the voice-frequency band over
telephone lines between telephone equipment and other communications devices
and switching centers. DTMF was first developed in the Bell System in the United
States, and became known under the trademark Touch-Tone for use in push-
button telephones supplied to telephone customers, starting in 1963.

We can control the Robot using Dual Tone Multi Frequency (DTMF)
technology. DTMF technology is most useful technique at present days. It is
worked on to methods digital signal processing (DSP). Wireless-control of robots
uses RF circuit that has the drawbacks of limited working range and limited
control. This DTMF is gives advantage over the RF; it increases the range of
working and also gives good results in case of motion and direction of robot
using mobile phone through micro controller. This type of wireless
communication gives the remote handling operation of Robot using DTMF.

Department of ECE Page 2


DTMF BASED ROBOT USING ARDUINO

CHAPTER -2
ADOPTED METHODOLOGY
2.1 Block Diagram:

Fig 2.1: Block Diagram of DTMF BASED ROBOT USING ARDUINO

Department of ECE Page 3


DTMF BASED ROBOT USING ARDUINO

2.2 Circuit Diagram:

Fig 2.2: Circuit Diagram of DTMF BASED ROBOT USING ARDUINO

Department of ECE Page 4


DTMF BASED ROBOT USING ARDUINO

2.3 Explanation:
Motor driver’s input pins 2,7,10,15 are connected at Arduino digital pins
6,5,4,3 respectively. Here we used two dc motors to drive robot in which one
motor is connected at output pin of motor driver 3 and 6 and another at 11 and
14 pin . A 9V battery is to power the motor driver for driving motors. DTMF
decoder is plugged into a mobile using a aux wire for receiving DTMF tone. DTMF
decoder pin DO-D3 are directly to Arduino pins 19,18,17,16. In this we use two
9v batteries one is connected to motor driver IC pin 8 and other for remaining
circuit.
2.4 Required Components:

 Arduino UNO

 DC motor

 Mobile phone

 DTMF decoder(HT9170B)

 Motor driver (L239D)

 9V battery

 Robot chassis with wheels

 Connecting wires

Jumpers

2.5 Components Description:

2.5.1 Arduino UNO:


Arduino is an open-source prototyping platform based on easy- touse
hardware and software. Arduino boards are able to read inputs - light on a
sensor, a finger on a button, or a Twitter message - and turn it into an output -
activating a motor, turning on an LED. We can tell your board what to do by
sending a set of instructions to the microcontroller on the board. To do so we use
the Arduino programming language (based on wiring), and the Arduino
Software(IDE), based on Processing.

The Arduino Uno can be powered via the USB connection or with an
external power supply. The power source is selected automatically. External
(non-USB) power can come either from an AC-to-DC adapter (wall-wart) or
battery. The adapter can be connected by plugging a 2.1mm center-positive plug
into the board's power jack. Leads from a battery can be inserted in the Gnd and
Vin pin header of the POWER connector. The board can operate on an external
supply of 6 to 20 volts. If supplied with less than 7V, however, the 5V pin may
supply less than five volts and the board may be unstable. If using more than
12V, the voltage regulator may overheat and damage the board. The
recommended range is 7 to 12 volts.
Department of ECE Page 5
DTMF BASED ROBOT USING ARDUINO

Fig 2.5.1 : Arduino Board Description

2.5.2 Use of Arduino UNO:


The Arduino hardware and software was designed for artists, designers,
hobbyists, hackers, newbie’s, and anyone interested in creating interactive
objects or environments. Arduino can interact with buttons, LEDs, motors,
speakers, GPS units, cameras, the internet, and even our smart-phone or our
TV! This flexibility combined with the fact that the Arduino software is free, the
hardware boards are pretty cheap, and both the software and hardware are easy
to learn has led to a large community of users who have contributed code and
released instructions for a huge variety of Arduino-based projects.

Department of ECE Page 6


DTMF BASED ROBOT USING ARDUINO

2.5.3 ARDUINO PIN DESCRIPTION:

 Power USB:
Arduino board can be powered by using the USB cable from your
computer. All you need to do is connect the USB cable to the USB
connection (1).

 Power (Barrel Jack):


Arduino boards can be powered directly from the AC mains power
supply by connecting it to the Barrel Jack (2).

 Voltage Regulator:
The function of the voltage regulator is to control the voltage given to
the Arduino board and stabilize the DC voltages used by the processor and
other elements.

 Crystal Oscillator:
The crystal oscillator helps Arduino in dealing with time issues. How
does Arduino calculate time? The answer is, by using the crystal oscillator.
The number printed on top of the Arduino crystal is 16.000H9H. It tells us
that the frequency is 16,000,000 Hertz or 16 MHz

 Arduino Reset:
You can reset your Arduino board, i.e., start your program from the
beginning. You can reset the UNO board in two ways. First, by using the
reset button (17) on the board. Second, you can connect an external reset
button to the Arduino pin labeled RESET (5).

  Pins (3.3, 5, GND, Vin):


• 3.3V (6) − Supply 3.3 output volt
• 5V (7) − Supply 5 output volt
• Most of the components used with Arduino board works fine with 3.3
volt and 5 volt.
• GND (8)(Ground) − There are several GND pins on the Arduino, any
of which can be used to ground your circuit.
• Vin (9) − This pin also can be used to power the Arduino board from
an external power source, like AC mains power supply.
 Analog pins:
The Arduino UNO board has five analog input pins A0 through A5.
These pins can read the signal from an analog sensor like the humidity
sensor or temperature sensor and convert it into a digital value that can be
read by the microprocessor.

Department of ECE Page 7


DTMF BASED ROBOT USING ARDUINO
 Microcontroller:
Each Arduino board has its own microcontroller (11). You can
assume it as the brain of your board. The main IC (integrated circuit) on
the Arduino is slightly different from board to board. The microcontrollers
are usually of the ATMEL Company. You must know what IC your board
has before loading up a new program from the Arduino IDE. This
information is available on the top of the IC. For more details about the IC
construction and functions, you can refer to the data sheet.

 ICSP pin:
Mostly, ICSP (12) is an AVR, a tiny programming header for the
Arduino consisting of MOSI, MISO, SCK, RESET, VCC, and GND. It is often
referred to as an SPI (Serial Peripheral Interface), which could be
considered as an "expansion" of the output. Actually, you are slaving the
output device to the master of the SPI bus.

 Power LED indicator:


This LED should light up when you plug your Arduino into a power
source to indicate that your board is powered up correctly. If this light does
not turn on, then there is something wrong with the connection.

 TX and RX LEDs:
On your board, you will find two labels: TX (transmit) and RX
(receive). They appear in two places on the Arduino UNO board. First, at
the digital pins 0 and 1, to indicate the pins responsible for serial
communication. Second, the TX and RX led (13). The TX led flashes with
different speed while sending the serial data. The speed of flashing
depends on the baud rate used by the board. RX flashes during the
receiving process.

 AREF:
AREF stands for Analog Reference. It is sometimes, used to set an
external reference voltage (between 0 and 5 Volts) as the upper limit for the
analog input pins.

 Digital I/O:
The Arduino UNO board has 14 digital I/O pins (15) (of which 6
provide PWM (Pulse Width Modulation) output. These pins can be
configured to work as input digital pins to read logic values (0 or 1) or as
digital output pins to drive different modules like LEDs, relays, etc. The
pins labeled “~” can be used to generate PWM.

Department of ECE Page 8


DTMF BASED ROBOT USING ARDUINO

2.5.4 Motor Driver IC – L293D :

Fig 2.5.4 Pin Diagram of Motor Driver IC

• Working of Motor Driver IC – L293D:


Arduino can't supply the current required by DC motor to run. In
order to fulfill this requirement these motor driver are used.L293D is a
typical Motor driver or Motor Driver IC which allows DC motor to drive on
either direction. L293D is a 16-pin IC which can control a set of two DC
motors simultaneously in any direction. It means that you can control two
DC motor with a single L293D IC. It works on the concept of H- Bridge. H-
Bridge is a circuit which allows the voltage to be flown in either direction.
As you know voltage need to change its direction for being able to rotate
the motor in clockwise or anticlockwise direction.

Department of ECE Page 9


DTMF BASED ROBOT USING ARDUINO

2.5.5 DC Motors:

Fig 2.5.5: Real View of DC Motor

DC motors are electric motors that are powered by direct current (DC),
such as from a battery or DC power supply. Their commutation can be brushed
or brushless. The speed of a brushed DC motor can be controlled by changing
the voltage alone. RPM is one of the most important specifications of a DC motor.
RPM, which stands for revolutions per minute, is the amount of times the shaft
of a DC motor completes a full spin cycle per minute. A full spin cycle is when
the shaft turns a full 360°. the motor will spin 2400 times per minute when fed 3
volts DC into it.

2.5.6 Wheel Chassis:

Fig 2.5.6: Real View of Wheel Chassis

Department of ECE Page 10


DTMF BASED ROBOT USING ARDUINO

Vehicle without body is known as chassis. The components Axils, wheels,


electrical system are mounted on chassis. It is the main mounting for all the
components including the body so it is called carrying unit of vehicle.

2.5.7 Jumper Wires:

Fig 2.5.7: Real View of Jumper Wires

Jumper wires are simply wires that have connector pins at each end,
allowing them to be used to connect two points to each other without soldering.
Jumper wires are typically used with breadboards and other prototyping tools in
order to make it easy to change a circuit as needed.
Jumper wires typically come in three versions: male-to-male, maleto-
female and female-to-female. The difference between each is in the end point of
the wire. Male ends have a pin protruding and can plug into things, while female
ends do not and are used to plug things into. Male-to-male jumper wires are the
most common and what you likely will use most often. When connecting two
ports on a breadboard, a male-to- male wire is what you’ll need.

2.5.8 BATTERY:

Fig 2.5.8: Real View of 9V Battery

Department of ECE Page 11


DTMF BASED ROBOT USING ARDUINO

A Battery is a device that converts chemical energy to electrical energy. The


first battery was developed by Alessandro voltain the year of 1800.
Battery Voltage = 5 v
Current = 1500 mAh

2.5.9 Transmitter and Receiver Mobile Phones:-


In this we are using two mobile phones for controlling the robot. One is
used as remote phone and the other as receiver. First we make a call by using
the remote phone to the receiver phone and attend the call by manually or
automatic answer mode.

2.5.10 DTMF Decoder IC [HT9170 B]:-


DTMF is a dual tone multi frequency decoder module which has DTMF
decoder IC which decodes DTMF tone signal to digital signal that are acceptable
for Arduino digitally. In general DTMF tone is generated by means mixing of two
or more frequencies.

Fig 2.5.10: Real View of DTMF Decoder IC

Department of ECE Page 12


DTMF BASED ROBOT USING ARDUINO

2.5.11 Pin Diagram :

Fig 2.5.11: Pin Diagram of DTMF Decoder

Decoder decodes the DTMF tone into its equivalent binary digit and this
binary sent to Arduino.

Department of ECE Page 13


DTMF BASED ROBOT USING ARDUINO

CHAPTER -3
SOFTWARE DESCRIPTION
3.1 Software Development:
For the software development process, the group followed the following
procedures:
• The initial values are set and the I/O ports are initialized.
• Each sensor reading is set to the driest state to obtain uniform values for
calibration.
• After calibration, the program reads the value of the sensors one at a time,
populating each array index.
• On each array index, the program checks the value returned by the sensor
and analyzes the state of the soil.
• If the soil is dry, the driver circuit activates and the solenoid valve opens. If
the soil is not dry, the program proceeds to check the next array index,
and;

• The program also checks if the end of the array index is reached. The
program runs on a loop—checking the array indices one at a time.

In this design, Arduino Integrated Development Environment (IDE) was


used as a platform to program the microcontroller. The program is written in
Embedded C language and is operating in a sequential procedure.

3.2 Prototype Development:


In developing the prototype, the group followed the following step by-
step procedures:
• Prepare 2 acrylic glass with dimensions 14 in. by 8 in, 2 acrylic glasses
with dimensions 14 in. by 2 in., 2 acrylic glass with dimensions 2 in. by 8
in., wherein 1 of the acrylic glasses will be cut in the center with
consecutive rectangular boxes with dimensions 3 in. X2.225 in and will be
placed at the bottom.
• Prepare a wooden stand with legs 2 inches high and 14 inches long.
• Assemble a container out of the acrylic glass and drill holes for the screws
to attach the components.
• Create the power supply used to supply 12V and 7V;
• Design the schematic diagram that satisfies the voltage outputs.
• Produce the PCB layout based from the schematic diagram.
• Etch the PCB layout design to the PCB

Department of ECE Page 14


DTMF BASED ROBOT USING ARDUINO

• Connect the load (solenoid valves) to the 12V output of the power supply
and the relay switch to control the valve operation;
• Connect the corresponding pins of the microcontroller to control the
activation of the relays (see Figure 3.3 for the pin configurations);
• Connect the soil moisture sensor module to the microcontroller, and;
• Upload the program to the microcontroller using the Arduino IDE.

3.3 Major Software Required


3.3.1 Arduino Software (IDE):

The open-source Arduino Software (IDE) makes it easy to write code and
upload it to the board. It runs on Windows, Mac OS X, and Linux. The
environment is written in Java and based on Processing and other open-source
software. This software can be used with any Arduino board. For latest software:
- https://www.arduino.cc/en/Main/Software

• Arduino was born at the Ivrea Interaction Design Institute as an easy tool
for fast prototyping, aimed at students with or without a background in
electronics and programming.
• Arduino is an open-source prototyping platform based on easy to use
hardware and software.

• Arduino boards are able to read inputs - light on a sensor, a finger on a


button, or a message - and turn it into an output - activating a motor,
turning on an LED, publishing something online and many more.
• You can tell your board what to do by sending a set of instructions to the
microcontroller on the board.
• To do so you use the Arduino programming language (based on wiring),
and the Arduino Software (IDE), based on Processing.
• Inexpensive- Arduino boards are relatively inexpensive compared to other
microcontroller platforms.
• Cross-platform - The Arduino Software (IDE) runs on Windows, Macintosh
OSX, and Linux operating systems. Most microcontroller systems are
limited to Windows.
• Simple, clear programming environment - The Arduino Software (IDE) is
easy-to-use for beginners, yet flexible enough for advanced users to take
advantage of as well.
• Open source and extensible hardware - The plans of the Arduino boards
are published under a Creative Commons license, so experienced circuit
designers can make their own version of the module, extending it and
improving it.
Department of ECE Page 15
DTMF BASED ROBOT USING ARDUINO

• Open source and extensible software - The Arduino software is published


as open source tool and the language can be expanded through C++
libraries.

3.3.2 How to use Arduino IDE Tool:


Steps for using Arduino IDE:
• Step 1:
Get an Arduino board and USB cable: In this tutorial, we assume
you're using an Arduino Uno you also need a standard USB cable (A plug
to B plug the kind you would connect to a USB printer, for example.
• Step 2: Download the Arduino environment:
(https://www.arduino.cc/en/Main/Software) Get the latest version
from the download page. When the download finishes, unzip the
downloaded file. Make sure to preserve the folder structure. Double-click
the folder to open it. There should be a few files and sub-folders inside.
• Step 3: Connect the board:
The Arduino UNO, Mega, Duemilanove and Arduino Nano
automatically draw power from either the USB connection to the computer
or an external power supply. If you're using an Arduino Diecimila, you'll
need to make sure that the board is configured to draw power from the
USB connection. The power source is selected with a jumper, a small piece
of plastic that fits onto two of the three pins between the USB and power
jacks. Check that it's on the two pins closest to the USB port. Connect the
Arduino board to your computer using the USB cable. The green power
LED (labeled PWR) should go on.
• Step 4: Install the drivers:
Installing drivers for the Arduino Uno or Arduino Mega 2560
withWindows7, Vista, or XP.
• Step 5: Launch the Arduino application:
Double-click the Arduino application. (Note: if the Arduino software
loads in the wrong language, you can change it in the preferences dialog.
• Step 6: Select your board:
You'll need to select the entry in the Tools > Board menu that
corresponds to your Arduino.
• Step 7: Select your serial port:
Select the serial device of the Arduino board from the Tools | Serial
Port menu. This is likely to be COM3 or higher (COM1and COM2 are
usually reserved for hardware serial ports). To find out, you can disconnect
your Arduino board and re-open the menu; the entry that disappears
should be the Arduino board. Reconnect the board and select that serial
port.

Department of ECE Page 16


DTMF BASED ROBOT USING ARDUINO

• Step 8: Upload the program:


Now, simply click the "Upload" button in the environment. Wait for a
few seconds you should see the RX and TX leds on the board flashing. If
the upload is successful, the message "Done uploading" will appear.

Fig 3.3.2:Launch the Arduino

Department of ECE Page 17


DTMF BASED ROBOT USING ARDUINO

CHAPTER-4
PROJECT DESCRIPTION
4.1 Working of DTMF Robot Based Using Arduino:

DTMF controlled robot will run by some commands which are given
through mobile phone. In this project we use two mobile phones, one is
user mobile phone that is called as ‘remote phone’ and the other is
‘receiver phone’.
First we make a call from remote phone to receiver phone and attend the
call through automatic answer mode or by manually. Here we will show
how DTMF is controlled by mobile.

4.2 Basic Sections of Working:


• Remote section:
This section’s main component is DTMF. Here we get a tone from our
mobile by the aux wire to DTMF decoder IC which decodes the tone into
digital signal of 4 bit.

• 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 sends respective command to
driver section.

• Driver section:
This section consists of 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 motor driver is added to get enough
voltage and current for motor.

4.3 Explanation of Robot Working Movements:


4.3.1 Robot Movement in Forward Direction:
When press ‘2’ by remote phone, robot start to move in forward direction
until next command comes. The robot movement in forward direction is shown in
fig:4.3.1

Department of ECE Page 18


DTMF BASED ROBOT USING ARDUINO

Fig 4.3.1: Forward Direction

4.3.2 Robot Movement in Backward Direction:


When press ‘8’ by remote phone, robot start to move in
backward direction until the next command comes

Fig 4.3.2: Backward Direction

4.3.3 Robot Movement in Left Direction:


When press ‘4’ by remote phone, robot start to turn in left
direction until the next command comes.

Department of ECE Page 19


DTMF BASED ROBOT USING ARDUINO

Fig 4.3.3: Left Direction

4.3.4 Robot Movement in Right Direction:


When we press ‘6’ by remote phone, robot start to turn in right
direction until next command comes.

Fig 4.3.4: Right Direction

Department of ECE Page 20


DTMF BASED ROBOT USING ARDUINO

4.4 Connection Diagram of DTMF BASED ROBOT USING ARDUINO:

Fig 4.6: Connection Diagram

4.5 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);

Department of ECE Page 21


DTMF BASED ROBOT USING ARDUINO
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 temp1=digitalRead(D1);
int temp1=digitalRead(D2); int temp1=digitalRead(D3);

Department of ECE Page 22


DTMF BASED ROBOT USING ARDUINO
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();

4.6 Advantages:
 Wide range of operation i.e., It can operate throughout worldwide.

 Analysis becomes very easy, because it uses simple digital
 signal techniques.
 Connections are easily made.
4.7 Limitations:
 DTMF robot may not work properly if it is operated with another
mobile when there is no signal.
 System stops working when any obstacle comes.

4.8 Precautions:
 Be aware of bread board connections.

  Be aware of positive and negative terminals

  Wear anti shock jacket while working with electronic devices.


 Be careful in connecting Arduino UNO ground, Vcc, and Vin pins.

4.9 Applications:
 This type of wireless communication gives the security of robots
when the owner is not present.

 Operating robot from a remote place anywhere in the world with any
 telecommunication device.
 DTMF robot with human detector sensor can be used at the time of
 disasters like earthquakes to detect humans under buildings.
 Military and Enforcement.

Department of ECE Page 23


DTMF BASED ROBOT USING ARDUINO

Chapter - 5
5.1 Result:
Hence, The DTMF Based Controlled Robot using Arduino gives the
movements in forward, backward, left and right directions. When the buttons are
pressed in the remote phone. The movements are possible with DTMF Decoder IC
[HT9170 B].

Fig 5.1: LED glows on a Robot when it is in operating system

Fig 5.2 : The Robot Vehicle Moves in different Angles

Department of ECE Page 24


DTMF BASED ROBOT USING ARDUINO

 Conclusion:
By developing this DTMF based robot, we achieved a long range of
operation, that is the main drawback of RF communication based robot and
very flexible movements are possible with this robot. It provides the advantages
of robust control, working range as large as the coverage area of the service
provider and it has the applications over military and law enforcement, search
and rescue, scientific and home appliance control. with these applications we
can say that this robot is very useful. and it is very faster compared to any
other robot with RF communication system.

 Future Scope:
• IR Sensors
• Password Protection
• Alarm phone Dialer
• Adding a Camera

 References:
 https://youtu.be/0VmEEWaQ5Rw
 www.wikipedia.org
 www.engineerprojects.info
 www.engineersgarage.com
  www.elementzonline.com

































Department of ECE Page 25

You might also like