BATCH NO-08 (1) (1)
BATCH NO-08 (1) (1)
J. ALEKHYA (21RS1A0428)
JOSHUA JOHN VICTOR.M (21RS1A0429)
G. PAVANI (21RS1A0426)
B. YESUMANI (21RS1A0408)
M.SRI VINDHYA (21RS1A0444)
A. SRUTHI LAXMI (21RS1A0404)
G. SAHITH (21RS1A0422)
IN
CERTIFICATE
Date: /01/2025
This is to certify that the project work entitled ARDUINO BASED VOICE
CONTROLLED ROBOT is a Bonafide work carried out by J.ALEKHYA,JOSHUA
JOHNVICTOR.M ,G.PAVANI, B.YESUMANI, M.SRI VINDHYA, A.SRUTHI LAXMI,
and G.SAHITH bearing Roll Nos. 21RS1A0428, 21RS5A0429, 21RS1A0426,
21RS1A0408, 21RS1A0444, 21RS1A0404 and 21RS1A04522 in partial fulfillment of the
requirements for the degree of BACHELOR OF TECHNOLOGY in ELECTRONICS &
COMMUNICATION ENGINEERING by the Jawaharlal Nehru Technological
University Hyderabad during the academic year 2024-25.
The results embodied in this report have not been submitted to any other University or
Institution for the award of any degree or diploma.
i
Acknowledgements
The success in this project would not have been possible without timely help and guidance
by many people. We wish to express our sincere gratitude to all those who have helped and
It is our pleasure to thank to our Project Guide Dr. Dhiraj Sunehra, Professor,
Department of ECE, and Project Coordinator Mr. B. Ravi Kumar, Assistant Professor
(C), Department of ECE for their guidance and suggestions throughout the project,
without which we would not have been able to complete this project successfully.
We wish to express our sincere gratitude to Prof. T. Venugopal, Principal, JNTUH UCER,
for his encouragement and providing facilities to accomplish our project successfully.
We would like to thank our classmates, all faculty members and non-teaching staff of ECE
Department, JNTUH UCER for their direct and indirect help during the project work.
Finally, we wish to thank our family members and our friends for their interest and
ii
ABSTRACT
This paper presents the design and implementation of an Arduino-based voice controlled
robot, showing the potential of integrating speech recognition with microcontroller
technology. The robot responds to voice commands to perform a range of tasks, from simple
movements to complex actions. The system combines a microphone, a speech recognition
module, and various sensors and actuators, enabling the robot to interpret and act upon
spoken instructions. This robot exemplifies the seamless fusion of hardware and software
to create a playful companion.
Engaging in this mini project provides participants with valuable hands-on experience in
both hardware assembly and software programming. It serves as a practical introduction to
the field of robotics, deepening their understanding of the key components required to
develop autonomous vehicles. This Arduino based voice-controlled project offers an
interactive and educational journey into fundamental robotics principles, demonstrating
significant concepts through a compact yet effective implementation.
iii
CONTENTS
Certificate i
Acknowledgements ii
Abstract Error! Bookmark not defined.
Contents iv
List of Figures vii
Certificate i
Acknowledgements ii
Abstract iii
Contents iv
List of Figures vi
Chapter 1 Introduction 1
1.1 Introduction 1
1.3 Methodology 1
2.1 Introduction 4
iv
2.3.2 Description of Arduino Uno 7
2.4 Pin Description of Arduino Uno 8
2.5 Conclusions 9
Chapter 3 Hardware Description 10
3.1 Introduction 10
3.2 Block Diagram 10
3.3 RPS Board 11
3.3.1 Features 11
3.3.2 Description 12
3.3.3 Interfacing of RPS Board to Arduino 12
3.4 HC-05 Bluetooth Module 13
3.4.1 Features 14
3.4.2 Description 14
3.4.3 Pin Configuration 15
3.4.4 Interfacing of HC-05 to Arduino 16
3.5 Ultrasonic sensor 17
3.5.1 Features 17
3.5.2 Description 17
3.5.3 Pin Configuration 18
3.5.4 Interfacing of Ultrasonic to Arduino Uno 19
3.6 L293D Driver 20
3.6.1 Features 20
3.6.2 Description 20
3.6.3 Pin Configuration 21
3.6.4 Interfacing of L293D to Arduino 23
3.7 DC Motors 24
3.7.1 Features 24
3.7.2 Description 25
3.7.3 connecting DC motors to Arduino 25
v
3.8 Relay 26
3.8.1 Features 27
3.8.2 Description 27
3.9 LED 29
3.9.1 Features 29
3.9.2 Description 29
3.10 Buzzer 31
3.10.1 Features 31
3.10.2 Description 32
4.1 Introduction 35
4.3 Embedded C 36
4.5 Conclusions 39
5.1 Introduction 40
5.3 Flowchart 41
vi
5.5 Results 44
5.6 Conclusions 47
Chapter 6 Conclusions 48
References 49
List of Figures
vii
Chapter 1 Introduction
1.1 Introduction
The robot is capable of performing tasks like moving forward, backward, turning, stopping,
and more, all based on the user’s voice instructions. This project highlights advancements
in speech recognition technology and its applications in robotics. It has practical
implications in areas such as smart assistance, elder care, and automation systems, where
hands-free operation is essential. Through this project, the potential for seamless
integration of voice-controlled systems into everyday life is explored, emphasizing the
convenience and efficiency of such technologies.
To design and develop a voice-controlled robot using Arduino that can perform predefined
tasks and respond to user commands. The project focuses on integrating voice recognition
technology with motor control systems to create a user-friendly and cost-effective robotic
solution for applications such as home automation, assistance for differently-abled
individuals, and exploration of human-machine interaction."
1
4. Integrate sensors for obstacle detection and safety.
5. Design a user-friendly and responsive interface.
.
1.3 Methodology
The methodology for the Arduino-based voice-controlled robot involves identifying the
necessary hardware and software components, including the Arduino board, motors,
sensors, and a voice recognition module. The hardware assembly begins with constructing
the robot chassis and integrating the motors, sensors, and modules with the Arduino. Next,
the voice recognition system is implemented using a dedicated module or a Bluetoothbased
smartphone interface. Arduino programming is carried out to process voice commands and
control the robot's movements. The system is then tested to ensure accurate command
recognition and reliable performance. Finally, the robot's functionality is optimized for
better efficiency, scalability, and user experience.
2
6. Scalability: Can be expanded for advanced functionalities and applications in various
fields.
This thesis is divided into six chapters including introduction and conclusions. The block
diagram, features, pin diagram and other functional units of Arduino UNO are explained in
Chapter 2. The description of various hardware components and the software used in the
project is explained in chapter 3 and chapter 4. The schematic diagram, flowchart,
experimental setup and results are discussed in chapter 5.
3
Chapter 2 Overview of Arduino UNO
2.1 Introduction
Arduino is an open-source electronics platform based on easy-to-use hardware and
software. Arduino boards are able to read inputs like 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,
publishing something online. 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.
Over the years Arduino has been the brain of thousands of projects, from everyday objects
to complex scientific instruments. A worldwide community of makers - students, hobbyists,
artists, programmers, and professionals has gathered around this open-source platform,
their contributions have added up to an incredible amount of accessible knowledge that can
be of great help to novices and experts alike.
Arduino was born at the Ivrea Interaction Design Institute as an easy tool for fast
prototyping, aimed at students without a background in electronics and programming. As
soon as it reached a wider community, the Arduino board started changing to adapt to new
needs and challenges, differentiating its offer from simple 8-bit boards to products for loT
applications, wearable, 30 printing, and embedded environments. All Arduino boards are
completely open-source, empowering users to build them independently and eventually
adapt them to their particular needs. The software, too, is open-source, and it is growing
through the contributions of users worldwide.
Different Arduino boards available in the market, with wide specifications. Each board uses
different kinds of microcontroller with different operating voltages, CPU speed, RAM size
4
and different number of analog and digital inputs. Some of the Arduino boards are given
below:
Arduino Uno is the most preferred board among all the Arduino boards. The processor
used is ATmega328P. Its operating and input voltage are 5V and 7 to 12 V respectively,
16MHz clock frequency, 6 analog pins and 14 digital IO pins, 1 kB EEPROM, 32 kB
Flash, a regular USB and 1 UART.
First ARM based microcontroller Arduino board is the Arduino Due. It is a 32-bit
microcontroller-based Cortex-M3 Central Processing Unit. It is a very powerful
microcontroller with 54 digital I/O, 12 analog inputs, 2 analog outputs and 4 UART serial
interfaces. If we give more than 5V power supply to the Arduino, it will damage. It is
32bit ARM core, it has 512KB of flash memory, 96KB SRAM in which two banks are
there and they are 64KB and 32KB.
The Arduino Mega 2560 model is an advanced version of the previous existing model
Arduino Due. It has 256 KB of RAM memory and 54 input output pins. In that 16 pins
are used as analog pins and 14 pins are used for Pulse Wave Modulation (PWM).
The Uno is a huge option for your initial Arduino. This Arduino board depends on an
ATmega328P based microcontroller. It consists of 14-digital I/O pins, where 6-pins can
be used as PWM output pins, 6-analog inputs, a reset button, a power jack, a USB
connection, an In-Circuit Serial Programming header (ICSP) etc.
The first development board of an Arduino is the Leonardo board. This board uses one
microcontroller along with the USB. That means, it can be very simple and cheap also.
5
Because this board handles USB directly, program libraries are obtainable which let the
Arduino board follow a keyboard of the computer, mouse, etc.
Arduino Uno, which is a small board but useful for many applications.
• Arduino Uno is a microcontroller board based on the ATmega328P.
• It consists of
1. 14 digital input/output pins (of which 6 can be used as PWM outputs)
2. 6 analog inputs
3. 16 MHz quartz crystal
4. USB connection
5. Power jack
6. ICSP header
7. Reset button
6
• Input Supply Voltage (External) : 6 – 20 V DC
• SRAM (Memory) : 2 KB
• EEPROM (Memory) : 1 KB
7
2.3.3 Pin Description of Arduino UNO
The connections to the Arduino can be made through the pins. The black plastic ‘headers’
are used to plug and connect a wire into the board. The functions vary from pin to pin.
1. GND: GND means ‘Ground’. There are sufficient GND pins to connect more
modules to the Arduino board.
2. 5V & 3.3V: The power supply to the modules is the 5V and 3.3V pins. 5V pin
supplies power at 5 volts and the 3.3V pin supplies power at 3.3 volts. In general,
most of the components work at the specified voltages given above.
3. Analog Pins: A0 to A5 pins are analog. The input to these pins is analog in nature.
These pins receive the data from an analog sensor. The smoke sensor and
temperature sensor give analog values. There is an ADC to convert it into a digital
value that will be processed by the controller.
4. Digital Pins: 0 to 13 are digital. These pins take the digital input from the sensor
and give digital output to the load.
5. PWM: The tilde (~) is shown adjacent to some of the digital pins on the Arduino
board which can be used as Pulse-Width Modulation pins & also as digital pins.
6. AREF (Analog Reference): It acts as an external reference voltage.
7. Reset Button: When Reset is pressed, that pin is grounded and restarts the code
loaded to Arduino.
8. Power LED Indicator: When a power source is connected, the LED turns ON. If
the LED doesn’t turn on, the connections need to be checked. If the connections are
good then the board might have been damaged.
9. Tx Rx LEDs: The Tx (transmitter) and Rx (receiver) LEDs will glow whenever
there is data transfer between Arduino and PC. It also glows for other serial
communication data transfer.
10. Voltage Regulator: The voltage regulator controls the fluctuations in the voltage
that is supplied to the Arduino board.
11. Main IC: The main IC on the Arduino is from the ATMEL Company, usually AT
mega series.
8
2.4 Conclusions
In this chapter the history of Arduino and salient features of different types of Arduino
boards are explained. The architecture of Arduino Uno board is discussed along with its
pin configuration.
9
Chapter 3 Hardware Description
3.1 Introduction
A regulated power supply is an electrical device that provides a stable and consistent output
voltage, regardless of changes in input voltage or variations in load current. It ensures that
sensitive electronic components receive the required voltage for proper operation,
preventing damage due to fluctuations. Regulated power supplies are commonly used in
applications such as communication systems, industrial equipment, and laboratory testing,
where voltage stability is essential for performance and reliability. They come in two main
types: linear regulators (simpler but less efficient) and switching regulators (more efficient
but complex).
10
3.3 Regulated Power Supply (RPS)
3.3.1 Features
3. Short-circuit protection
4. Overvoltage protection
5. Overcurrent protection
11
3.3.2 Description
A Regulated Power Supply (RPS) board is an electronic circuit designed to provide a stable
and consistent output voltage to power various electronic devices, ensuring that
fluctuations in input voltage or load conditions do not affect the performance of the
connected components. It regulates the voltage to a fixed or adjustable value, maintaining
the desired output regardless of variations in the power source or load current.
The RPS board typically includes various protective features like short-circuit protection,
overvoltage protection, and overcurrent protection to prevent damage to both the power
supply and the connected equipment. Additionally, it may incorporate heat management
solutions like heat sinks and thermal shutdown mechanisms to prevent overheating.
RPS boards are commonly used in applications where precise voltage control is essential,
such as in communication systems, industrial machinery, laboratory testing, and embedded
systems. Depending on the design, these boards may offer adjustable output voltages to
cater to different requirements and may include multiple output channels to power different
devices simultaneously.
In summary, an RPS board is crucial for ensuring the reliability, stability, and protection of
sensitive electronics by providing regulated and safe power.
1. Check the RPS Voltage Output Ensure that the RPS is configured to output a
voltage suitable for the Arduino board:
• For most Arduino boards (e.g., Uno, Mega), use 7–12V through the barrel jack or
VIN pin.
12
2. Prepare the RPS and Arduino
• Barrel Jack Method: Connect the RPS’s positive terminal to the Arduino barrel
jack's center pin and the negative terminal to the outer sleeve.
• VIN and GND Pins: Connect the positive terminal of the RPS to the Arduino’s VIN
pin and the negative terminal to the GND pin.
4. Verify Connections
Double-check all connections to ensure there are no shorts or reversed polarities,
as these can damage the Arduino.
5. Power On the RPS
• Upload a simple program (like the Blink sketch) to verify the Arduino is functioning
correctly.
• Monitor the RPS for current draw to ensure it remains within safe limits (usually
less than 500mA for basic Arduino projects).
13
3.4.1 Features
3.4.2 Description
HC-05 Bluetooth Module is an easy-to-use Bluetooth SPP (Serial Port Protocol) module,
designed for transparent wireless serial connection setup. Its communication is via serial
communication which makes an easy way to interface with controller or PC. HC-05
Bluetooth module provides switching mode between master and slave mode which means
it able to use neither receiving nor transmitting data.
14
3.4.3 Pin Configuration
4. TXD: Transmit Serial data (wirelessly received data by Bluetooth module transmitted
out serially on TXD pin)
5. RXD: Receive data serially (received data will be transmitted wirelessly by Bluetooth
module).
15
3.4.4 Interfacing HC-05 with Arduino
1. Connect Hardware: Wire the HC-05 module to your Arduino as shown in the pin
connections table above.
2. Upload Code:
• On your phone, use a Bluetooth terminal app (e.g., Serial Bluetooth Terminal or
AMR Voice app).
16
• On your laptop, you can use a terminal program (e.g., TeraTerm or Arduino Serial
Monitor).
5. Test Communication:
• Type messages in the Serial Monitor of the Arduino IDE to send data to your phone.
• Send messages from the Bluetooth terminal app to view them in the Serial Monitor.
3.5.1 Features
• Accuracy: 0.3cm.
• Communication: Positive TTL pulse.
3.5.2 Description
An ultrasonic sensor is a kind of electronic device that uses ultrasonic sound waves to detect
the distance between two objects and transforms the reflected sound into an electrical
signal. Ultrasonic waves move quicker than audible sound (i.e., the sound that humans can
hear).
17
The transmitter (which generates sound using piezoelectric crystals) and the receiver are
the two primary components of ultrasonic sensors (which encounters the sound after it has
traveled to and from the target).
To compute the distance between the sensor and the item, the sensor measures the time it
takes from the transmitter's sound emission to its contact with the receiver. D = 12 T x C
(where D is the distance, T is the time, and C is the sound speed of 343 meters/second) is
the formula for this computation.
1. Connect the Echo pin of the sensor to the D2 pin of the Arduino.
2. Connect the Trig pin of the sensor to the D3 pin of the Arduino.
4. Verify and compile the code, then upload the code to the Arduino Uno R3 board.
5. Monitor the output in the Serial monitor (Set the baud rate as 9600). To open Serial
monitor Tools>Serial Monitor or (Ctrl+Shift+M).
18
Fig 3.7: Interfacing Ultrasonic sensor with Arduino
1. Connect the pins: Connect the sensor's pins to the Arduino's pins as follows:
2. Upload code: Open the Arduino IDE, type the code, and upload it to the Arduino
board
3. View the distance: The distance measured by the ultrasonic sensor will appear on
the serial monitor.
19
3.6 L293D Driver
L293D is a dual H-bridge motor driver integrated circuit (IC).Motor drivers act as current
amplifiers since they take a low-current control signal and provide a higher-current signal.
This higher current signal is used to drive the motors.
L293D contains two inbuilt H-bridge driver circuits. In its common mode of operation, two
DC motors can be driven simultaneously, both in forward and reverse direction. The motor
operations of two motors can be controlled by input logic at pins 2 & 7 and 10 & 15. Input
logic 00 or 11 will stop the corresponding motor. Logic 01 and 10 will rotate it in clockwise
and anticlockwise directions, respectively.Enable pins 1 and 9 (corresponding to the two
motors) must be high for motors to start operating.
3.6.1 Features
• Wide Supply-Voltage Range: 4.5 V to 36 V.
• Separate Input-Logic Supply.
• Internal ESD Protection.
• High-Noise-Immunity Inputs.
• Output Current 1 A Per Channel (600 mA for. L293D)
• Peak Output Current 2 A Per Channel (1.2 A for. L293D)
• Output Clamp Diodes for Inductive Transient. Suppression (L293D).
3.6.2 Description
A motor driver is basically a current amplifier which takes a low-current signal from the
microcontroller and gives out a proportionally higher current signal which can control and
drive a motor. In most cases, a transistor can act as a switch and perform this task which
drives the motor in a single direction.
Turning a motor ON and OFF requires only one switch to control a single motor in a single
direction. What if you want your motor to reverse its direction? The simple answer is to
reverse its polarity. This can be achieved by using four switches that are arranged in an
intelligent manner such that the circuit not only drives the motor but also controls its
20
direction. Out of many, one of the most common and clever designs is an H-bridge circuit
where transistors are arranged in a shape that resembles the English alphabet “H”.
21
Enable 1-2 (Pin No. 1)-:
This pin is an active-high when it receives high or logic 1 then it enables the left part of the
ic and when it receives active low i.e. logic 0 or low voltage then the left part of the ic
won’t work. (in short, it enablers the left part of the ic) At the end of the pin description,
there are two important notes. Please read this carefully.
This is an input pin to control the direction of the left motor. (Control signal received from
a microcontroller or microprocessor)
It’s connected to one of the terminals of the motor and it’s is high when input 1 is high else
it will be low.
Both pins are for heat sink and ground pins. (because its drive two motors that’s why it has
an extra load to compensate that load it has two pins as heat sink otherwise the ic gets
overheated and burn out)
It’s connected to the second terminals of the motor and it’s is high when input 2 is high else
it will be low.
This is an input pin to control the direction of the left motor. (Control signal received from
a microcontroller or microprocessor)
Connected to the power supply of range 4.5V to 36V. this voltage used to drive or to run
both motors
22
This pin is an active-high when it receives high or logic 1 then it enables the right part of
the IC and when it receives active low i.e. logic 0 or low voltage then the right part of the
IC won’t work. (in short, it enables the right part of the IC.)
This is an input pin to control the direction of the right motor. (Control signal received from
a microcontroller or microprocessor)
It’s connected to one of the terminals of the motor and it’s is high when input 3 is high else
it will be low.
Both pins are for heat sink and ground pins. (because its drive two motors that’s why it has
an extra load to compensate that load it has two pins as heat sink otherwise the ic gets
overheated and burn out)
It’s connected to the second terminals of the motor and it’s is high when input 4 is high else
it will be low.
This is an input pin to control the direction of the right motor. (Control signal received from
a microcontroller or microprocessor)
It provides power to the L293D IC. So, this pin should be supplied with 5V. if this pin is
not powered with 5V then the whole IC will not work.
The L293D motor driver is used to drive two motors simultaneously. Further, the direction
of each motor can be controlled independently. This IC works on the principle of the
quadruple high-current half-H bridge. H-bridge is a setup that is used to run the motor in
23
both clockwise and anticlockwise directions. You can easily drive a motor of up to 36 volts
and whose maximum current consumption is 600mA using this IC. Also, it is used to
control other inductive loads such as relays and bipolar stepping motors. This driver is used
to design DC motor drivers, stepper motor drivers, and latching relay drivers
3.7: DC Motors
A DC motor is an electrical motor that uses direct current (DC) to produce mechanical
force. The most common types rely on magnetic forces produced by currents in the coils.
Nearly all types of DC motors have some internal mechanism, either electromechanical or
electronic, to periodically change the direction of current in part of the motor.
3.7.1 Features
• High-efficiency design.
• Responsive and easy to use as speed and torque can be controlled by voltage.
24
3.7.2 Description
DC motors were the first form of motors widely used, as they could be powered from
existing direct-current lighting power distribution systems. A DC motor's speed can be
controlled over a wide range, using either a variable supply voltage or by changing the
strength of current in its field windings. Small DC motors are used in tools, toys, and
appliances. The universal motor, a lightweight brushed motor used for portable power tools
and appliances can operate on direct current and alternating current. Larger DC motors are
currently used in propulsion of electric vehicles, elevator and hoists, and in drives for steel
rolling mills. The advent of power electronics has made replacement of DC motors with
AC motors possible in many applications.
A direct current, or DC, motor is the most common type of motor. DC motors normally
have just two leads, one positive and one negative. If you connect these two leads directly
to a battery, the motor will rotate. If you switch the leads, the motor will rotate in the
opposite direction.
To control the direction of the spin of DC motor, without changing the way that the leads
are connected, you can use a circuit called an H-Bridge. An H bridge is an electronic circuit
that can drive the motor in both directions. H-bridges are used in many different
applications, one of the most common being to control motors in robots. It is called an
25
Hbridge because it uses four transistors connected in such a way that the schematic diagram
looks like an "H."
You can use discrete transistors to make this circuit, but for this tutorial, we will be using
the L298 H-Bridge IC. The L298 can control the speed and direction of DC motors and
stepper motors and can control two motors simultaneously. Its current rating is 2A for each
motor. At these currents, however, you will need to use heat sinks.
3.8 Relay
26
3.8.1 Features
3.8.2 Description
The Single Pole Double Throw SPDT relay is quite useful in certain applications because
of its internal configuration. It has one common terminal and 2 contacts in 2 different
configurations: one can be Normally Closed and the other one is opened or it can be
Normally Open and the other one closed. So basically, you can see the SPDT relay as a
way of switching between 2 circuits: when there is no voltage applied to the coil one circuit
“receives” current, the other one doesn’t and when the coil gets energized the opposite is
happening.
1. Coil End 1- Used to trigger (On/Off) the Relay, normally one end is connected to 12V
and the other end to ground.
2. Coil End 2 - Used to trigger (On/Off) the Relay, normally one end is connected to 12V
and the other end to ground.
27
4. Normally Close (NC) - The other end of the load is either connected to NO or NC. If
connected to NC the load remains connected before trigger.
5. Normally Open (NO) - The other end of the load is either connected to NO or NC. If
connected to NO the load remains disconnected before trigger.
• Connect the GND pin of the relay module to the Arduino's GND.
• Connect the relay module's IN pin to a digital output pin on the Arduino (e.g., pin 7).
• Connect the other side of the load to the power supply (e.g., mains live or positive
terminal).
28
• Connect the NO terminal to the remaining power supply terminal.
• If you want the load to be on by default, use the NC terminal instead of NO.
3.9 LED
LED stands for light emitting diode. LED lighting products produce light up to 90% more
efficiently than incandescent light bulbs. How do they work? An electrical current passes
through a microchip, which illuminates the tiny light sources we call LEDs and the result
is visible light.
3.9.1 Features
3.More efficient
4.Versatile
5.Lasts longer
3.9.2 Description:
A light-emitting diode (LED) is a semiconductor device that emits light when current flows
through it. Electronics in the semiconductor recombine with electron holes, releasing
energy in the form of Photons. The color of the light (corresponding to the energy of the
photons) is determined by the energy required for electrons to cross the band gap of the
semiconductor. White light is obtained by using multiple semiconductors or a layer of light-
emitting phospor on the semiconductor device.
29
Fig 4.6: LED
Arduino UNO has built in led available at pin no. 13. This built in led is very useful when
you want to show some signal without connecting external led.
If you want to learn how to connect led to
Arduino can connect led externally by using the resistor in between the digital pin of
Arduino to the led. While connecting the led with the Arduino make sure you know the
resistor value required. We will also discuss how to calculate the led resistance. After
finding the correct value resistor we can interface the led with Arduino.
For a single led, we need one digital output from the Arduino. We use the digital pin 13 for
interfacing the led with Arduino. We will connect the led to forward bias. Means LED’s
anode to the pin no. 13 and cathode to the GND of the Arduino.
When we are using external Led to the Arduino board, we should connect the proper value
resistor to the led to limit the current coming from the Arduino uno pin. A led requires
around 10-20mA of current but Arduino pin gives around 40mA, so due to excess current
led may damage. For protecting the led we need a current limiting resistor.
30
Fig 4.7: Connecting LED to Arduino
3.10 Buzzer
The piezo, also known as the buzzer, is a component that is used for generating sound. It is
a digital component that can be connected to digital outputs, and emits a tone when the
output is HIGH. Alternatively, it can be connected to an analog pulse-width modulation
output to generate various tones and effects.
3.10.1 Features
31
3.10.2 Description
There are many ways to communicate between the user and a product. One of the best ways
is audio communication using a buzzer IC. So during the design process, understanding
some technologies with configurations is very helpful. So, this article discusses an
overview of an audio signaling device like a beeper or a buzzer and its working with
applications.
32
3.10.3 Pin Configuration
The pin configuration of the buzzer is shown below. It includes two pins namely positive
and negative. The positive terminal of this is represented with the ‘+’ symbol or a longer
terminal. This terminal is powered through 6Volts whereas the negative terminal is
represented with the ‘-‘symbol or short terminal and it is connected to the GND terminal.
33
Fig 5.0: Connecting Buzzer to Arduino
3.10 Conclusions
In this chapter different hardware modules involved in the project are discussed and their
interfacing is explained
34
Chapter 4 Software
Tools
4.1 Introduction
The software tools which are used in this project are Arduino IDE, Embedded C, Blynk IoT
Application and Proteus Software.
35
Step 3: Provide power supply. Most Arduino boards have USB as a power source. Adaptor
can also be a choice. The power LED named PWR glows on the power supply.
Step 4: Start Arduino IDE. Open the installed software by double click.
Step 5: Initiate a project. It can be done in two ways:
1. A new project can be designed.
2. An existing project can be reviewed.
Step 6: Type of Arduino board needs to be selected. Any discrepancy can be eliminated
while uploading code if a compatible board is chosen. Board can be chosen from the
toolbar.
Step 7: Configuration of Serial port. See the port to which Arduino is connected and select
that port like COM3.
Step 8: The program can now be uploaded to the board. The code is finally dumped and
the result can be verified. Done uploading is seen on screen if upload is successful.
4.3 Embedded C
36
4.4 AMR_VOICE App Application
Introduction
AMR Voice Recorder is a powerful and user-friendly Android application that allows you
to record high-quality audio files with ease. Whether you need to capture important
meetings, interviews, or personal memos, this app has got you covered.
With its intuitive interface, AMR Voice Recorder makes recording audio a breeze. Simply
launch the app, press the record button, and start speaking. The app will automatically save
your recordings in the AMR format, ensuring optimal audio quality while keeping file sizes
small.
One of the standout features of AMR Voice Recorder is its ability to pause and resume
recordings. This means that you can easily take breaks during long recordings without
having to start a new file. Additionally, the app allows you to trim and edit your recordings,
so you can remove any unwanted parts before saving or sharing them.
AMR Voice Recorder also offers a range of customization options to enhance your
recording experience. You can choose from different audio quality settings, adjust the
microphone sensitivity, and even enable automatic gain control to ensure consistent
volume levels.
37
Once you have finished recording, you can easily share your files via email, messaging
apps, or cloud storage services. The app also provides a built-in file manager, allowing
you to organize and access your recordings with ease.
Whether you need to record lectures, interviews, or personal notes, AMR Voice Recorder
is a reliable and feature-packed solution. Download the app now and start capturing
crystal-clear audio on your Android device.
Features:
• The AMR codec uses eight source codecs with bit-rates of 12.2, 10.2, 7.95, 7.40,
6.70, 5.90, 5.15 and 4.75 kbit/s.
• Generates frame length of 95, 103, 118, 134, 148, 159, 204, or 244 bits for AMR
FR bit rates 4.75, 5.15, 5.90, 6.70, 7.40, 7.95, 10.2, or 12.2 kbit/s, respectively.
AMR HR frame lengths are different.
38
• Algorithmic delay is 20 ms per frame. For bit-rates of 12.2, there is no "algorithm"
look-ahead delay. For other rates, look-ahead delay is 5 ms. Note that there is 5 ms
"dummy" look-ahead delay, to allow seamless frame-wise mode switching with the
rest of rates.
• AMR is a hybrid speech coder, and as such transmits both speech parameters and
a waveform signal
• Linear predictive coding (LPC) is used to synthesize the speech from a residual
waveform. The LPC parameters are encoded as line spectral pairs (LSP).
• The complexity of the algorithm is rated at 5, using a relative scale where G.711 is
1 and G.279a is 15.
• PSQM testing under ideal conditions yields mean opinion scores of 4.14 for AMR
(12.2 kbit/s), compared to 4.45 for G.711 (μ-law)
• PSQM testing under network stress yields mean opinion scores of 3.79 for AMR
2.2 kbit/s), compared to 4.13 for G.711 (μ-law)
4.5 Conclusions
In this chapter, software tools like Arduino IDE, Embedded C, MIT App Inventor, Blynk
IoT App and Proteus Software are studied.
39
Chapter 5 Results and Discussion
5.1 Introduction
In this chapter we discuss the project outputs and the sequential process of the project, i.e.,
flowchart of the project, and schematic diagram of setup (by Proteus software), explanation
40
The HC-05 Bluetooth module is interfaced with Arduino. All the other components are
connected with their respective pin connections. The circuit is connected as per the
schematic diagram shown above.
5.3 Flowchart
41
1. Voice Signals: The process begins with the user providing voice commands.
2. ARM Micro-Controller: The voice signals are received and processed by an ARM
3. Arduino UNO: The processed data is sent to the Arduino UNO, which handles the
5. Control Logic: The Arduino UNO implements control logic to divide tasks into two
parts: o Robot's Body Control: Commands related to movement and navigation are
6. Outputs:
o Robot's Body: The body of the robot performs the movement or action based
on the commands.
7. Speech Output: The BitVoicer server provides appropriate audio feedback or speech
output as needed.
42
Fig 5.3: AMR_ Voice App flowchart
43
5.5 Results
The following figures show the results obtained during this project.
44
Fig 5.7 Turning Right
45
Fig 5.9 Lights ON
Figure 5.9 it can be observed that the lights are being ON.
Figure 5.10 it can be heard that the robot make sound using the buzzer.
46
5.6 Conclusions
In this chapter we have seen the schematic diagram, flowchart, experimental setup of the
project and their results during various operations.
47
Chapter 6
The Arduino-based voice-controlled robot demonstrates how innovative technology can
simplify human-machine interaction. By integrating voice recognition with hardware
components, this project highlights the potential of robotics in automating tasks and
enhancing user convenience. The use of affordable and accessible components like the
Arduino board and Bluetooth modules ensures that such projects are not only practical but
also cost-effective.
48
References
1. https://www.arduino.cc/
2. https://www.electronicshub.org/arduino-introduction/
3. https://ieeexplore.ieee.org/document/9760583
49