You are on page 1of 53

VOICE CONTROLLED ROBOTIC CAR USING ARDUINO 2022-23

CHAPTER 1
INTRODUCTION
1.1 INTRODUCTION:
In today’s era, smart phones are becoming more powerful with
reinforced processors, larger storage capacities, richer entertainment
function and more communication methods. When we say voice control,
the first term to be considered is Speech Recognition i.e. making the
system to understand human voice. Speech recognition is a technology
where the system understands the words (not its meaning) given through
speech. In other words, Speech recognition technology is a great aid to
admit the challenge and it is a prominent technology for Human-
Computer Interaction (HCI) and Human-Robot Interaction (HRI) for the
future. Speech is an ideal method for robotic control and communication.

The speech recognition circuit we will outline, functions


independently from the robot’s main intelligence. To control and
command an appliance (computer, VCR, TV security system, etc.) by
speaking to it, will make it easier, while increasing the efficiency and
effectiveness of working with that device. At its most basic level speech
recognition allows the user to perform parallel tasks, (i.e. hands and eyes
are busy elsewhere) while continuing to work with the computer or
appliance. Speech is an ideal method for robotic control and
communication. The main objective is to minimize the cost involving in
the project and power consumption satisfying the need of the day at the
same time. Our goal extends in involving our proposal to provide
efficient, accessibility and manipulation of everyday objects. Now day’s
smart phones are becoming more powerful with reinforced processors,
larger storage capacities, richer entertainment function and more
communication method. Bluetooth is mainly used for data exchange; add
new features to smart phones.
Bluetooth technology, created by telecom vendor Ericsson in
1994, shows its advantage by integrating with smart phones. The person

KNRC EEE 1
VOICE CONTROLLED ROBOTIC CAR USING ARDUINO 2022-23
use digital technology at home or office, and has transfer traditional
wired

KNRC EEE 2
VOICE CONTROLLED ROBOTIC CAR USING ARDUINO 2022-23

digital devices into wireless devices.


Android has complete software package consisting of an
operating system, middleware layer and core applications. Different from
other existing platforms like IOS, it comes with software kits (SDK),
which provides essential tools and applications. Using a smart phone as a
brain of robot is already an active research field with several open
opportunities and promising possibilities. This project presents a review
of current robots controlled by mobile phone and a closed loop control
systems using audio channels of mobile devices, such as phones and
tablet computers.

1.2 THE MAIN AIM OF THE PROJECT


 The main objective of the project is move the robotic vehicle in a
desired directions by using voice commands via Bluetooth.
 The goal of voice controlled Robot is to listen and act on the
commands received from the user via mobile and Bluetooth to
arduino. The proposed system consist of two blocks transmitter
and receiver blocks. In Tx block mobile with installed app. In Rx
block it contains arduino, motor driver, Bluetooth module, motors
with wheels and a battery for the power source.
1.3 HARDWARE REQUIRED
 Arduino Uno
 Motor driver
 Bluetooth module (HC-05)
 jumper wires, A breadboard Connecting wires
 Wheels
 Bo motor 100 rpm
 12volts batter
 Ultrasonic sensor with holder

1.4 SOFTWARE REQUIRED


 Arduino IDE

KNRC EEE 3
VOICE CONTROLLED ROBOTIC CAR USING ARDUINO 2022-23
 Android application

KNRC EEE 4
VOICE CONTROLLED ROBOTIC CAR USING ARDUINO 2022-23

CHAPTER 2
BLOCK DIAGRAM
2.1 Introduction
The project Voice Controlled Robotic Vehicle helps to control
robot through voice commands received via android application. The
integration of control unit with Bluetooth device is done to capture and
read the voice commands. The robotic vehicle then operates as per the
command received via android application. For this Arduino is integrated
in the system which makes it possible to operate the vehicle via android
application.

2.2 Block diagram of voice controlling robotic vehicle

Fig 2.1 Block Diagram


The controlling device may be any android based Smartphone/tab
etc. having an android OS. The android controlling system provides a
good interactive GUI that makes it easy for the user to control the
vehicle. The transmitter uses an android application required for
transmitting the data. The receiver end reads these commands and
interprets them into controlling the robotic vehicle. The android device
sends commands to move the vehicle in forward, backward, right and left
directions.
After receiving the commands, the Arduino then operates the
motors I order to move the vehicle in four directions. The communication
between android device and receiver is sent as serial communication

KNRC EEE 5
VOICE CONTROLLED ROBOTIC CAR USING ARDUINO 2022-23
data. The

KNRC EEE 6
VOICE CONTROLLED ROBOTIC CAR USING ARDUINO 2022-23

Arduino program is designed to move the motor through a motor driver

2.3 Construction Of Robotic Vehicle


To construct the robotic vehicle we require some hardware and software
equipments there are
a) Chassis. b) motors and wheels. C) Arduino. d) Bluetooth module.
e) Motor driver f) 12volts battery. g) jumper wires.

Step – 1
Initially we take one chassis board and 4 bo motors 150 rpm
with attaching wheels. After then the motors fix on the chassis
board on 4 side with help of glue gun
Step – 2
Then give shunt connections to two motors at right side,
similarly make the same connections to two left side motor at left side.
Step - 2.1

Next arduino, motor driver and Bluetooth module fix on


top of the chassis board

Fig 2.2 Placements of Materials

KNRC EEE 7
VOICE CONTROLLED ROBOTIC CAR USING ARDUINO 2022-23

Step – 3
Make the connections as per circuit diagram

Fig 2.3 circuit diagram


Step – 4
Connect the motors to motor driver by shown figure.
M1and M2 are connect to motor1 output of motor driver and M3&M4
are connected to motor2 output of motor driver.

FIG 2.4 MOTOR CONNECTIONS AT MOTOR DRIVERS

Step-5

KNRC EEE 8
VOICE CONTROLLED ROBOTIC CAR USING ARDUINO 2022-23

Finally fix the ultrasonic sensor wth holder which useful for only head
and eyes purpose. After completing the construction shown figure

FIG 2.5 VOICE CONTROL ROBOTIC CAR

To dump the program into


arduino follow below steps. Step-
1: open the arduino IDE software.
Step-2: go to file and select new project.
Step-3: write a program of voice controlling
robotic vehicle.

After a wrote then compile the program. If compiling is done


then go to upload into arduino by selecting type of board and port
selection. Else compiling fail then check errors. Note:- while
uploading a program into arduino we must and should remove the TX
&RX connections otherwise program will not upload.
2.4 Working of voice controlling robotic vehicle
The voice commands to the robotic system are sent through
Bluetooth via an Android device. These commands are received on the
robotic system via Bluetooth module mounted on it. The motor driver
circuit is used to control the speed of robotic system.The whole circuitry
is powered using a 12V rechargeable battery mounted on the system.

KNRC EEE 9
VOICE CONTROLLED ROBOTIC CAR USING ARDUINO 2022-23

FIG 2.6 SCREEN OF ANDROID APPLICATION (A)

Now no device was connected. Then click on the Bluetooth button it


will shows the device names shown below. before connecting device, we
should give battery connections to robotic vehicle.

FIG 2.7 SCREEN OF ANDROID APPLICATION (B)


Next select the respective Bluetooth device name and click on that, it
will connected shown below

FIG 2.8 SCREEN OF ANDROID APPLICATION (C)


Then make the connections of TX & RX. Now to send the voice

KNRC EEE 1
VOICE CONTROLLED ROBOTIC CAR USING ARDUINO 2022-23

commands to robotic vehicle via bluetooth click on the speaker button


and give commands whatever we did mentioned in the program. go, go
back, right, left those commands we did used in the program Whatever
spoke it will displayed as a text for example give command is GO it will
displayed in the app.

FIG 2.9 SCREEN OF ANDROID APPLICATION (D)

KNRC EEE 1
VOICE CONTROLLED ROBOTIC CAR USING 2022-

CHAPTER 3
ARDUINO
3.1 Arduino:
Arduino is an open-source platform used for building electronics
projects. Arduino consists of both a physical programmable circuit board
(often referred to as a microcontroller) and a piece of software, or IDE
(Integrated Development Environment) that runs on your computer, used
to write and upload computer code to the physical board.

The Arduino platform has become quite popular with people just starting
out with electronics, and for good reason. Unlike most previous
programmable circuit boards, the Arduino does not need a separate piece
of hardware (called a programmer) in order to load new code onto the
board
– you can simply use a USB cable. Additionally, the Arduino IDE uses a
simplified version of C++, making it easier to learn to program. Finally,
Arduino provides a standard form factor that breaks out the functions of
the micro-controller into a more accessible package.

KNRC EEE 1
VOICE CONTROLLED ROBOTIC CAR USING 2022-
Fig3.1 This is an Arduino Uno

KNRC EEE 1
VOICE CONTROLLED ROBOTIC CAR USING 2022-
The Uno is one of the more popular boards in the Arduino family and a great
choice for beginners. We’ll talk about what’s on it and what it can do later in the tutorial.

3.2 What's On The Board?


In this chapter, we will learn about the different components on the Arduino board.
We will study the Arduino UNO board because it is the most popular board in the Arduino
board family. In addition, it is the best board to get started with electronics and coding. Some
boards look a bit different from the one given below, but most Arduinos have majority of
these components in common.

Fig 3.2 Arduino Pin Layout

KNRC EEE 1
VOICE CONTROLLED ROBOTIC CAR USING 2022-

Table 3.1 Pin Description

Power USB
1 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)

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

Voltage Regulator

3 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
4 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.
5 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
labelled RESET (5).

Pins (3.3, 5, GND, Vin)


6
3.3V (6) − Supply 3.3 output volt

KNRC EEE 1
VOICE CONTROLLED ROBOTIC CAR USING 2022-

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
7
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.

Main 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
8 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
9 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.

KNRC EEE 1
VOICE CONTROLLED ROBOTIC CAR USING 2022-
Power LED indicator
10

KNRC EEE 1
VOICE CONTROLLED ROBOTIC CAR USING 2022-

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,
11 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.

Digital I/O

The Arduino UNO board has 14 digital I/O pins (15) (of which 6 provide PWM
12 (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.

AREF

AREF stands for Analog Reference. It is sometimes, used to set an external


13
reference voltage (between 0 and 5 Volts) as the upper limit for the analog input
pins.

3.3 The Arduino Family


Arduino makes several different boards, each with different capabilities. In
addition, part of being open source hardware means that others can modify and
produce derivatives of Arduino boards that provide even more form factors and
functionality. If you’re not sure which one is right for your project, check this guide
for some helpful

KNRC EEE 1
VOICE CONTROLLED ROBOTIC CAR USING 2022-
hints. Here are a few options that are well-suited to someone new to the world of
Arduino.

3.3.1 Types Of Board


Various kinds of Arduino boards are available dependsing on different
microcontrollers used. However, all Arduino boards have one thing in common: they
are programmed through the Arduino IDE.
The differences are based on the number of inputs and outputs (the number of
sensors, LEDs, and buttons you can use on a single board), speed, operating voltage,
form factor etc. Some boards are designed to be embedded and have no programming
interface (hardware), which you would need to buy separately. Some can run directly
from a 3.7V battery, others need at least 5V.
Here is a list of different Arduino boards available.

Table 3.2 Arduino boards based on ATMEGA328 microcontroller

Board Name Operating Clock Digital Analog PWM UART Programming


Volt Speed i/o Inputs Interface

Arduino Uno USB via


5V 16MHz 14 6 6 1
R3 ATMega16U2

Arduino Uno USB via


5V 16MHz 14 6 6 1
R3 SMD ATMega16U2

Red Board 5V 16MHz 14 6 6 1 USB via FTDI

Arduino Pro FTDI-


3.3v/8 MHz 3.3V 8MHz 14 6 6 1 Compatible
Header

KNRC EEE 1
VOICE CONTROLLED ROBOTIC CAR USING 2022-

Arduino Pro FTDI-


5V/16MHz 5V 16MHz 14 6 6 1 Compatible
Header

Arduino mini FTDI-


05 5V 16MHz 14 8 6 1 Compatible
Header

Arduino Pro FTDI-


mini 3.3V 8MHz 14 8 6 1 Compatible
3.3v/8mhz Header

Arduino Pro FTDI-


mini 5V 16MHz 14 8 6 1 Compatible
5v/16mhz Header

Arduino FTDI-
Ethernet 5V 16MHz 14 6 6 1 Compatible
Header

FTDI-Compatible
Arduino Fio 3.3V 8MHz 14 8 6 1
Header

Lily Pad FTDI-Compatible


Arduino 328 3.3V 8MHz 14 6 6 1 Header
main board

LilyPad FTDI-Compatible
Arduino simple 3.3V 8MHz 9 4 5 0 Header
board

KNRC EEE 2
VOICE CONTROLLED ROBOTIC CAR USING 2022-
3.4 Arduino- Installation
After learning about the main parts of the Arduino UNO board, we are ready
to learn how to set up the Arduino IDE. Once we learn this, we will be ready to
upload our program on the Arduino boarding this section, we will learn in easy steps,
how to set up the Arduino IDE on our computer and prepare the board to receive the
program via USB cable.
Step 1 − First you must have your Arduino board (you can choose your favorite
board) and a USB cable. In case you use Arduino UNO, Arduino Demilune, Nano,
Arduino Mega 2560, or Decimal, you will need a standard USB cable (A plug to B
plug), the kind you would connect to a USB printer as shown in the following image.

Fig 3.3 Arduino pc cable

In case you use Arduino Nano, you will need an A to Mini-B cable instead as
shown in the following image.

Fig 3.4 Arduino mobile cable


Step 2 − Download Arduino IDE Software.

KNRC EEE 2
VOICE CONTROLLED ROBOTIC CAR USING 2022-
You must select your software, which is compatible with your operating
system (Windows, IOS, or Linux). After your file download is complete, unzip the
file.
Step 3 − Power up your board.
The Arduino Uno, Mega, Demilune and Arduino Nano automatically draw
power from either, the USB connection to the computer or an external power supply.
If you are using an Arduino Decimal, you have 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 is 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 glow.
Step 4 − Launch Arduino IDE.
After your Arduino IDE software is downloaded, you need to unzip the folder.
Inside the folder, you can find the application icon with an infinity label
(application.exe). Double-click the icon to start the IDE.
Step 5 − Open your first project.
Once the software starts, you have two options

 Create a new project.


 Open an existing project example.

To create a new project, select File → New.

To open an existing project example, select File → Example → Basics → Blink.

KNRC EEE 2
VOICE CONTROLLED ROBOTIC CAR USING 2022-

Here, we are selecting just one of the examples with the name Blink. It turns the LED
on and off with some time delay. You can select any other example from the list.
Step 6 − Select your Arduino board.
To avoid any error while uploading your program to the board, you must select
the correct Arduino board name, which matches with the board connected to your
computer.
Go to Tools → Board and select your board.
Here, we have selected Arduino Uno board according to our tutorial, but you must
select the name matching the board that you are using.
Step 7 − Select your serial port.
Select the serial device of the Arduino board. Go to Tools → Serial Port
menu. This is likely to be COM3 or higher (COM1 and 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 of the Arduino board.
Reconnect the board and select that serial port.

KNRC EEE 2
VOICE CONTROLLED ROBOTIC CAR USING 2022-

KNRC EEE 2
VOICE CONTROLLED ROBOTIC CAR USING 2022-

PROGRAMMING
#include <EEPROM.h>
#include <EEPROM.h>
#include <EEPROM.h>
String inputs;
#define relay1 2 //Connect relay1 to pin 2
#define relay2 3 //Connect relay2 to pin 3
#define relay3 4 //Connect relay3 to pin 4
#define relay4 5 //Connect relay4 to pin 5
void setup()
{
Serial.begin(9600); //Set rate for communicating with phone
pinMode(relay1, OUTPUT); //Set relay1 as an output
pinMode(relay2, OUTPUT); //Set relay2 as an output

pinMode(relay3, OUTPUT); //Set relay1 as an output


pinMode(relay4, OUTPUT); //Set relay2 as an output
digitalWrite(relay1, LOW); //Switch relay1 off
digitalWrite(relay2, LOW); //Swtich relay2 off
digitalWrite(relay3, LOW); //Switch relay1 off
digitalWrite(relay4, LOW); //Swtich relay2 off
}
void loop()
{
while (Serial.available()) //Check if there are available bytes to read
{
delay(10); //Delay to make it stable
char c = Serial.read(); //Conduct a serial read
if (c == '#'){
break; //Stop the loop once # is detected after a word
}
inputs += c; //Means inputs = inputs + c

KNRC EEE 2
VOICE CONTROLLED ROBOTIC CAR USING 2022-
}
if (inputs.length() >0)
{
Serial.println(inputs);
if(inputs == "A")
{
digitalWrite(relay1, HIGH);
}
else if(inputs == "a")
{
digitalWrite(relay1, LOW);
}
else if(inputs == "B")
{
digitalWrite(relay2, HIGH);
}
else if(inputs == "b")
{
digitalWrite(relay2, LOW);
}
else if(inputs == "C")
{
digitalWrite(relay3, HIGH);
}
else if(inputs == "c")
{
digitalWrite(relay3, LOW);
}
else if(inputs == "D")
{
digitalWrite(relay4, HIGH);
}

KNRC EEE 2
VOICE CONTROLLED ROBOTIC CAR USING 2022-
else if(inputs == "d")
{
digitalWrite(relay4, LOW);
}
inputs="";
}
}

KNRC EEE 2
VOICE CONTROLLED ROBOTIC CAR USING 2022-

Step 8 − Upload the program to your board.


Before explaining how we can upload our program to the board, we must
demonstrate the function of each symbol appearing in the Arduino IDE toolbar.

Fig 3.5The Arduino Ide Toolbar.

A − Used to check if there is any compilation error.


B − Used to upload a program to the Arduino board.
C − Shortcut used to create a new sketch.
D − Used to directly open one of the example sketches.
E − Used to save your sketch.

KNRC EEE 2
VOICE CONTROLLED ROBOTIC CAR USING 2022-
F − Serial monitor used to receive serial data from the board and send the serial data
to the board.
Now, simply click the "Upload" button in the environment. Wait a few
seconds; you will see the RX and TX LEDs on the board, flashing. If the upload is
successful, the message "Done uploading" will appear in the status bar.
Note − If you have an Arduino Mini, NG, or other board, you need to press the reset
button physically on the board, immediately before clicking the upload button on the
Arduino Software.
3.5 Advantages

 Really open source software and hardware


 Huge community
 Low cost boards and peripherals (when sourced from China :)
 It's simple (i.e. add abstraction to underlying MCU's "nuts & bolts" many
times for the sake of efficiency/processing speed), but not too simple: so-
called sketchesareactually C/C++ code and you need some real
programming skills for some real job
3.6 Disadvantages

 It's mostly still AVR (8-bit) "eco-system" (and +5 V). There is many
claims that other (e.g. ARM) architecture are supported but you'll find
pretty soon that even 32-bit boards designed by Arduino team (e.g. Due,
Zero, MKR) are not supported in a similar way to 8-bit (Uno, Leonardo,
Mega2560): they are still second choice
 If you need more processing power and working memory be ready to kiss
goodbye Arduino environment pretty soon
3.7 Applications
 Arduino boy, a handheld game console based on Arduino.
 Arduino Motion Control Rig.
 Arduino me, a MIDI controller device that mimics the Monme.
 ArduinoPhone, a do-it-yourself cellphone.

KNRC EEE 2
VOICE CONTROLLED ROBOTIC CAR USING 2022-
 Arduino pilot, drone software and hardware.
 Arduino Sat, a CubeSat based on Arduino.
 Automatic titration system based on Arduino and stepper motor.
 DC motor control using Arduino and H-Bridge.
 Data loggers for scientific research.
 Game Arduino, an Arduino shield to create retro 2D video games.
 Homemade CNC using Arduino and DC motors with close loop control by
Homofaciens.
 Impedance sensor system to detect bovine milk adulteration.
 OBDuino, a trip computer that uses the on-board diagnostics interface
found in most modern cars.
 Water quality testing platform.
 Xoscillo, an open-source oscilloscope.

KNRC EEE 3
VOICE CONTROLLED ROBOTIC CAR USING 2022-

CHAPTER 4

BLUETOOTH HC-05

4.1 Bluetooth Module


Bluetooth is a technology for wireless communication. It is
designed to replace cable connections. It uses serial communication to
communicate with devices. It communicates with microcontroller using
serial port (USART). Usually, it connects small devices like mobile
phones, PDAs and TVs using a short-range wireless connection to
exchange documents. It uses the 2.45GHz frequency band. The
connection can be point-to-point or multi-point where the maximum
range is 10 meters. The transfer rate of the data is 1Mbps.
HC-05 Bluetooth module provides switching mode between
master and slave mode which means it able to use neither receiving nor
transmitting data.
Comparing it to the HC-06 module, which can only be set as a
Slave, the HC-05 can be set as Master as well which enables making
a communication between two separate Arduino Boards.
You can use Bluetooth module simply for a serial port
replacement to establish connection between MCU, PC to your
embedded project and etc.
4.2 hc-05 Specifications
Bluetooth protocol: Bluetooth Specification v2.0+EDR
 Frequency: 2.4GHz ISM band
 Modulation: GFSK(Gaussian Frequency Shift Keying)
 Emission power: ≤4dBm, Class 2
 Sensitivity: ≤-84dBm at 0.1% BER
 Speed: Asynchronous: 2.1Mbps(Max) / 160 kbps,
Synchronous: 1Mbps/1Mbps
 Security: Authentication and encryption
 Profiles: Bluetooth serial port

KNRC EEE 3
VOICE CONTROLLED ROBOTIC CAR USING 2022-

 Power supply: +3.3VDC 50mA


 Working temperature: -20 ~ +75Centigrade
 Dimension: 26.9mm x 13mm x 2.2 mm
 It is IEEE 802.15.1 standardized protocol, through which one can
build wireless Personal Area Network (PAN). It uses frequency-
hopping spread spectrum (FHSS) radio technology to send data
over air.

4.3 Pin Description:


1. Key/EN: It is used to bring Bluetooth module in AT commands
mode. By default this pin operates in data mode. Key/EN pin should be
high to operate Bluetooth in command mode. The default baud rate of
HC-05 in command mode is 38400bps and 9600 in data mode.HC- 05
module has two modes,

 Data mode: Exchange of data between devices. Baud rate is 9600bps


in data mode.
 Command mode: It uses AT commands which are used to
change setting of HC-05. Baud rate is 38400bps in
command mode.

FIG. 4.1 HC-05 BLUETOOTH

2. VCC: Connect 5 V or 3.3 V to this Pin.


3. GND: Ground Pin of module.

KNRC EEE 3
VOICE CONTROLLED ROBOTIC CAR USING 2022-
4. TXD: Connect with Microcontroller RXD pin of Microcontroller.
Transmit Serial data (wirelessly received data by Bluetooth module
transmitted out serially on TXD pin)
5. RXD: Connect with Microcontroller TXD pin of
Microcontroller. Received data will be transmitted wirelessly by
Bluetooth module.
6. State: It tells whether module is connected or not. It acts as a status indicator.

4.4 Package Information HC-05

FIG 4.2 PACKAGE INFORMATION HC-05

FIG 4.3 HARDWARE INFORMATION HC-05


For HC-05 Bluetooth Hardware Package details you can refer the
document which we have provided at the end of article.
HC-05 HC-06
Master and slave mode can Master and slave mode can’t
be switched be switched
Bluetooth name: HC-05 Bluetooth name: linvor
Master role: have paired
Master role: have no function
memory to remember last slave
to remember the last paired
device and only make pair with
salve device. It can be made
that device unless KEY
paired to any slave device.
(PIN26) is triggered by high
level. The

KNRC EEE 3
VOICE CONTROLLED ROBOTIC CAR USING 2022-
default connected PIN26 is low

KNRC EEE 3
VOICE CONTROLLED ROBOTIC CAR USING 2022-
level.

KEY: PIN34, for entering to KEY: PIN26, for


the AT mode. master abandons
memory.
Default Default communication baud
communication rate: 9600, 1200-1.3M are
baud rate: 9600, settable.
4800-1.3M are s

4.5 Connecting Hc-05 With Microcontroller

1. Connect Power Supply (based on datasheet of modules)


for Bluetooth and Microcontroller which you are using.
2. Connect TXD pin of HC-05 Bluetooth module to RXD pin
of Microcontroller.
3. Connect RXD pin of HC-05 Bluetooth module to TXD pin
of Microcontroller.
4. Common grounding should be needed for both modules.

FIG 4.4 CONNECTING HC-05 WITH MICROCONTROLLER


4.6 Applications

Computer and peripheral devices

 GPS receiver
Industrial control

MCU projects

4.7 H-Bridge Dc Motor Control


On the other hand, for controlling the rotation direction, we just need to
inverse the direction of the current flow through the motor, and the most

KNRC EEE 3
VOICE CONTROLLED ROBOTIC CAR USING 2022-
common method of doing that is by using an H-Bridge. An H-Bridge
circuit contains four switching elements, transistors or MOSFETs, with
the motor at the center forming an H-like configuration. By activating

two particular switches at the same time we can change the direction
of the current flow, thus change the rotation direction of the motor.

Fig 4.5 H-Bridge Dc Motor Control

So if we combine these two methods, the PWM and the H-Bridge, we


can have a complete control over the DC motor. There are many DC
motor drivers that have these features and the L298N is one of them.
4.7.1 L298n Driver
The L298N is a dual H-Bridge motor driver which allows speed
and direction control of two DC motors at the same time. The module
can drive DC motors that have voltages between 5 and 35V, with a peak
current up to 2A.

FIG 4.6 L298N DRIVER

Let’s take a closer look at the pin out of L298N module and
explain how it works. The module has two screw terminal blocks for the
motor A and B, and another screw terminal block for the Ground pin, the
VCC for

KNRC EEE 3
VOICE CONTROLLED ROBOTIC CAR USING 2022-

Fig 4.7 I/O Pins Of L298N

This depends on the voltage used at the motors VCC. The module
have an onboard 5V regulator which is either enabled or disabled using a
jumper. If the motor supply voltage is up to 12V we can enable the 5V
regulator and the 5V pin can be used as output, for example for powering
our Arduino board. But if the motor voltage is greater than 12V we must
disconnect the jumper because those voltages will cause damage to the
onboard 5V regulator.

We can note here that this IC makes a voltage drop of about


2V. So for example, if we use a 12V power supply, the voltage at motors
terminals will be about 10V.
Next are the logic control inputs. The Enable A and Enable B
pins are used for enabling and controlling the speed of the motor. If a
jumper is present on this pin, the motor will be enabled and work at
maximum speed, and if we remove the jumper we can connect a PWM
input to this pin and in that way control the speed of the motor.

Fig 4.8 Block diagram of L298N

KNRC EEE 3
VOICE CONTROLLED ROBOTIC CAR USING 2022-

Next, the Input 1 and Input 2 pins are used for controlling the rotation
direction of the motor A, and the inputs 3 and 4 for the motor B. Using
these pins we actually control the switches of the H-Bridge inside the
L298N IC. If input 1 is LOW and input 2 is HIGH the motor will move
forward, and vice versa, if input 1 is HIGH and input 2 is LOW the
motor will move backward. In case both inputs are same, either LOW or
HIGH the motor will stop. The same applies for the inputs 3 and 4 and
the motor B.
Consider the following image – match the numbers against the list below the
image:

Fig 4.9 pin description of L298N

1. DC motor 1 “+” or stepper motor A+

2. DC motor 1 “-” or stepper motor A-

3. 12V jumper – remove this if using a supply voltage greater than


12V DC. This enables power to the onboard 5V regulator

4. Connect your motor supply voltage here, maximum of 35V DC.


Remove 12V jumper if >12V DC

5. GND

6. 5V output if 12V jumper in place, ideal for powering your Arduino (etc)

7. DC motor 1 enable jumper. Leave this in place when using a stepper

KNRC EEE 3
VOICE CONTROLLED ROBOTIC CAR USING 2022-
motor. Connect to PWM output for DC motor speed control.

8. IN1

9. IN2

10. IN3

11. IN4

12. DC motor 2 enable jumper. Leave this in place when using a


stepper motor. Connect to PWM output for DC motor speed
control.

13. DC motor 2 “+” or stepper motor B+

4.7.2 Dc Bo Motor 150 Rpm


This single shaft plastic geared motor gives good torque and rpm
at lower operating voltages, which is the biggest advantage of these
motors. Small shaft with matching wheels give optimized design for your
application or robot. Mounting holes on the body & light weight makes it
suitable for in-circuit placement. This motor is a perfect choice for light
weight robots. Specifications:
Voltage 2V to 12V
RPM 150 rpm
Gear Plastic
Motor Type Straight
Torque 4 kg-cm
Connector Type 2 pin Relimate Connector

FIG 4.10 DC BO MOTOR 150 RPM

KNRC EEE 3
VOICE CONTROLLED ROBOTIC CAR USING 2022-

4.7.3 Wheels:
The wheel can be easily mounted to motors with suitable shaft
diameter associated with your robotic projects. This wheel is suitable for
all BO motors.

Fig 4.7.3 Wheels


Specifications:

Diameter 65 mm
Width 30 mm
Shaft Type D-Type

4.7.4 12Volts Battery:


These batteries can serve as low cost power solution for all-terrain
robots/combat robots and other electronic projects. If your are looking
for high performance, high current discharge batteries, try our Lithium
battery ranges.

Fig 4.7.4 12v battery

KNRC EEE 4
VOICE CONTROLLED ROBOTIC CAR USING 2022-

CHAPTER 5

ANDROID APP DESIGNING

5.1 Software Designing (Android App Designing )


The software or the android application for the thesis was
designed using a very innovative product initially provided by Google
but now under the maintenance of the Massachusetts Institute of
Technology (MIT) known as MIT app Inventor (App Inventor 2012).
The software was previously called Google App Inventor and
was released publicly on December 15,2010 only to be terminated one
year later on December 31,2011. However, the product is now under
MIT Centre for mobile learning and by the name MIT App Inventor.
(Larry 2010) Technology is all about efficiency. As technology has
advanced things have become simpler. So application development is
no longer limited to the fierce programmers, now users with very limited
programming knowledge are able to develop applications. Thus, the
product is a simple yet effective way in Android application
development. The App Inventor allows its users to develop different
kinds of Android apps just over a web browser. A user needs a Google
account to get started with and the app inventor’s servers stores and keep
tracks of all the work user uploads. The application building process in
App Inventor
involves three aspects:

(i) App inventor designer,

(ii) App Inventor Blocks editor, and


(iii) An emulator or Android Phone.

KNRC EEE 4
VOICE CONTROLLED ROBOTIC CAR USING 2022-

The set-up process for the software is very easy. The system
requirements are very basic and it is compatible with Mac OSX,
Windows and Linux Operating systems. Browsers required for the
software are Mozilla Firefox 3.6 or higher, Apple Safari 5.0 or higher,
Google Chrome

Fig 5.1 App Inventor Designer (a)


5.2 APP INVENTOR DESIGNER
The first phase of application design goes through App Inventor
Designer. Designer is accessible through the web page and all the
ingredients for the app are available on the left side of the window. The
ingredients include elements like a screen for the app, buttons for
tapping, text boxes, images, labels, animations and many more.
The right side of the designer allows users to view the screen and
components added to the screen. Additionally, the properties section of
the window allows users to modify the properties of components.

KNRC EEE 4
VOICE CONTROLLED ROBOTIC CAR USING 2022-
Fig 5.2 App Inventor Designer (b)

KNRC EEE 4
VOICE CONTROLLED ROBOTIC CAR USING 2022-

Adding the components to the screen is a simple drag-and-drop process.


Then the alignment of the components can be managed through
alignment options on the left side of the window. The figure above shows
the features added to the application for this thesis. Several non-visible
components are also added to the screen, which are explored later in the
blocks editor.

5.3 App Inventor Blocks Editor


After the completion of design process, for the app to function as
desired, users should go through the blocks editor. App Inventor Blocks
Editor uses open blocks java library.
Those open blocks integrate to create visual blocks of
programming language. Hence, the blocks are the programming codes
which can be dragged and cemented with other blocks to create a desired
functional program.
The Editor can be opened from the options available in the App
Inventor Designer which launches a Java applet for Blocks Editor. With
a little logic in programming any user can combine the blocks and make
the components added in Designer to function as required.

Fig 5.3 App Inventor Blocks Editor


5.4 An Emulator Or Android Phone
The final part of the application design is testing the application.

KNRC EEE 4
VOICE CONTROLLED ROBOTIC CAR USING 2022-
Thus, for the users without the android handsets. App Inventor gives the

KNRC EEE 4
VOICE CONTROLLED ROBOTIC CAR USING 2022-
option of testing the application in an emulator which is very similar to
the real device but with some limitations. From the Blocks

Editor, the user can connect the application to the emulator available
via the connect option and test how the application functions in real
world. Apart from the emulator, the user can also directly connect the
android phone to the computer via USB connecter and test the
application.
Real time testing is definitely the best option for monitoring the
5.5 Mobot Application
Mobot is the name of the android application designed for this thesis. It
was designed through App Inventor. The basic function of the
application is to control the robot (created with Arduino and Magician
Chassis). Mobot has different buttons integrated to it and each button has
different functions.

FIG 5.5 MOBOT APPLICATION


5.6 BUTTONS
There is a total of eight buttons in the application. Two
of them are for preparing the device to communicate with the robot. Four
of them are for commanding the directions
5.7 Set Device And Connect Buttons
The first button is the set device button. When the button is
tapped the application takes the user to a window with the list of
Bluetooth devices available. Tapping the right device allows the user to
come back to the main window which awaits the user with the activated
connect button which when clicked connects the application to the robot

KNRC EEE 4
VOICE CONTROLLED ROBOTIC CAR USING 2022-
allowing the user to use other buttons available.

KNRC EEE 4
VOICE CONTROLLED ROBOTIC CAR USING 2022-

Fig 5.7 Set Device And Connect


Buttons

5.8 Direction And Stop Buttons


There are four direction buttons in the application. Tapping each button
allows the user to direct the robot to the respective direction. The
directions available are left, right, front, and back. There is also a stop
button available to stop the motion of the robot. Tapping the stop button
stops the motion of robot irrespective of the direction it is heading
towards. The buttons also have pictures integrated to them for the
purpose of convenience to the users.

Fig 5.8 Direction And Stop Buttons

5.9 Speak Button


The last button is the speak button. This button allows users to control
the robot with voice commands. When the speak button is tapped, it
initiates the Google speech to text function which is integrated in most of
the android devices today. After the function is initiated, users are asked
to give some commands which will decide the direction of the robot.

KNRC EEE 4
VOICE CONTROLLED ROBOTIC CAR USING 2022-

Fig 5.9 speak button


5.10 Robot’s Working Mechanism
The working mechanism of the robot is based on the information
passed from the phone via Bluetooth connection to the robot using

Fig 5.10 Robot’s Working Mechanism

5.11 Advantages
 One of the advantages of a voice controlled robot is the fact
that you do not have to carry around anything else. You simply
speak and the robot responds.
 We can access the robot from the distance of 30 meters as we are
using blue-tooth for the connection between robot and the mobile
phone.
 The robot is small in size, so space required for it is small.
 Cost of system is low as we are using smart phone which is nearby

KNRC EEE 4
VOICE CONTROLLED ROBOTIC CAR USING 2022-

5.12 Disadvantages
 Even the best speech recognition systems sometimes make
errors. If there is noise or some other sound in the room
the number of errors will increase.
 Speech Recognition works best if the microphone is close
to the user will tend to increase the number of errors.
 In Speech recognition system, there is a possibility of
unauthorized usage. Since this doesnot depends upon
which person is speaking.

5.13 Applications
 The robot is useful in places where humans find difficult
to reach but human voice reaches. E.g. in fire situations, in
highly toxic areas.
 It is the one of the important stage of Humanoid robots.

KNRC EEE 5
VOICE CONTROLLED ROBOTIC CAR USING 2022-

CHAPTER 6
RESULT
The voice controlling commands are successfully transmitted via
Bluetooth technology and on reception; the desired operations
successfully take place. This project reduces human efforts at places or
situations where human interventions are difficult. Such systems can be
brought into use at places such as industries, military and defense,
research purposes, etc.

6.1 Pictures of Voice Controlling Robotic Vehicle By Using


Arduino

Fig 6.1 Result Of Voice Controlling Robotic Vehicle By


Using Arduino

KNRC EEE 5
VOICE CONTROLLED ROBOTIC CAR USING 2022-

CONCLUSION
The proposed system shows how the android smart phone can be
used as remote controller for robot and various embedded technologies
with the help of the Bluetooth technology. At the same time, this
program uses blue-tooth connection to communicate with robot. The
proposed system also shows that how a robot can be used for travelling
purpose. The operating system of smart phone is Android, and it can
develop effective remote control program and by using blue-tooth, the
communication between smart phone and robot.
 This research work has been narrowed down to short range
Bluetooth module. Using a long range modules and other
connectivity devices will result in connectivity with the robot for
long distances.
 Power Optimization such sleep and wakeup schedules can be
incorporated.
 3. Image processing can be implemented in the robot to detect the
color and the objects.
 A thermal camera can be installed to sense the heat emitted by
bodies useful in military purposes to detect enemies on the lines.

 Automatic Targeting System can be implemented in the robot for


tracking the target.

KNRC EEE 5
VOICE CONTROLLED ROBOTIC CAR USING 2022-

REFERENCES:

1. Byoung-Kyun Shim ; Yoo-Ki Cho ; Jong-Baem Won;Sung-HyunHan Control,


Automation and Systems (ICCAS),2011 A study on real-time control of
mobile robot with based on voice command, 11th International Conference on
Publication Year: 2011 www.migi.com for selecting motors and other robotic
concepts.
2. Sung-Won Jung ; Ki-Won Sung ; Moon-Youl Park ; Eon-Uck Kang ;Won-Jun
Hwang ; Jong-Dae Won; Woo-Song Lee ; Sung-Hyun Han Robotics (ISR),
2013 A study on precise control of autonomous driving robot by voice
recognition ,44th International, Symposium on
DOI:10.1109/ISR.2013.6695640 Publication Year: 2013
3. A paper on Arduino Based Voice Controlled Robot, K. Kannan,PG Scholar,
Embedded System Technology, SRM University, Tamilnadu, India, Dr. J.
Selvakumar, AP (S.G), ECE Department, SRM University, Tamilnadu, India
4. Chopra and Harshad Dange, A report on Voice Controlled Robot by Pratik

KNRC EEE 5

You might also like