0% found this document useful (0 votes)
43 views

Project Based Lab Report On Speech Recognition With Arduino: K.L.E.F

This document is a project report submitted by three students for their Bachelor of Technology degree. It describes a project on speech recognition with Arduino. The project uses a microphone to input speech and converts it to text using Google's speech recognition server. The recognized text is then displayed on an LCD screen connected to an Arduino board. The report includes sections on the components used, circuit diagram, source code, and conclusions from the project.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views

Project Based Lab Report On Speech Recognition With Arduino: K.L.E.F

This document is a project report submitted by three students for their Bachelor of Technology degree. It describes a project on speech recognition with Arduino. The project uses a microphone to input speech and converts it to text using Google's speech recognition server. The recognized text is then displayed on an LCD screen connected to an Arduino board. The report includes sections on the components used, circuit diagram, source code, and conclusions from the project.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

PROJECT BASED LAB REPORT

On
SPEECH RECOGNITION WITH ARDUINO
Submitted in partial fulfilment of the

Requirements for the award of the Degree of

Bachelor of Technology
In
ELECTRONICS AND COMMUNICATION ENGINEERING

By
C. SASIDHAR - 160040154

CH. VENKATESWARA RAO - 160040164


D. GOVARDHAN - 160040194

Under the guidance of


Dr. B. Murali Krishna
Professor, Dept. of ECE

DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING

K.L.E.F
Green Fields, Vaddeswaram, Guntur District-522 502

2019-2020.

1|P a g e
K.L.E.F
DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING

CERTIFICATE

This is to certify that this project based lab report entitled “SPEECH RECOGNITION WITH
ARDUINO” is a bonfide work done by C.SASIDHAR (160040154), CH. VENKATESWARA
RAO (160040164), and D.GOVARDHAN (160040194) in partial fulfilment of the requirements
for the award of degree in BACHELOR OF TECHNOLOGY in ELECTRONICS AND
COMMUNICATION ENGINEERING during the Academic year 2019-2020.

Project guide: Head of the Department:

2|P a ge
K.L.E.F
DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING

DECLARATION

We hereby declare that this project based lab report titled “SPEECH RECOGNITION WITH
ARDUINO” has been prepared by us in partial fulfilment of the requirements for the award of
degree “BACHELOR OF TECHNOLOGY in ELECTRONICS AND COMMUNICATION
ENGNEERING” during the Academic year 2019-2020.

We also declare that this project based lab report is of our own efforts and it has not been
submitted to any other university for the award of any degree.

3|P a ge
ACKNOWLEDGEMENT

Our sincere thanks to Dr.B.MURALI KRISHNA in the Lab for their outstanding support
throughout the project for the successful completion of the work.

We express our gratitude to Dr.S.ARUN METHA Course Coordinator of Embedded Systems &
Applications for providing us with adequate facilities, ways and means by which we are able to
complete this project based work.

We would like to place on record the deep sense of gratitude to the honourable Vice chancellor

K.L.E.F, for providing the necessary facilities to carry the project based Lab.

Last, but not the least, we thank all Teaching and Non-Teaching Staff of our department and
especially my classmates and my friends for their support in the completion of our project based
Lab.

C.SASIDHAR - 160040154

CH.VENKATESWARA RAO - 160040939

D.GOVARDHAN - 160040957

4|P a ge
CONTENTS

S.NO CONTENT
1. ABSTRACT
2. INTRODUCTION

3. DESCRIPTION
4. INTERFACING LCD TO ARDUINO

5. CIRCUIT DIAGRAM
6. SOURCE CODE
7. OUTPUT

8. CONCLUSION
9. REFERENCES

5|P a ge
ABSTRACT

Now a day’s notice board has become an important thing in institutes/organization or


public places like railway stations, bus stands and hospitals. But to use the paper notices stacked
on a notice board is a time taking and expensive process and there is wastage lot of time, paper
and labour. The notice board is used to display the information in an effective way to the people,
but to update the messages instantly is not easy on the notice board. In this project we have
proposed and implemented an advanced Hi-Tech Wireless Notice Board. An Android application
of smart phones or tablet which is connected to Bluetooth (HC-05) can be used to display the latest
information by enhancing the system. A low cost programmed microcontroller (Arduino Uno) is
used at the receiver to receive and display messages in the LCD display. Instead of sticking notices
manually on a notice board the authorized user can speak and the verbalized voice is sent through
a Bluetooth and displayed on the LCD screen. In this project we are using a flexible and most
successful speech recognize technique called as Hidden Markov Model(HMM) to recognize the
speech for voice and then that recognized sampled speech voice are processed identified as a
verbalized text done by connecting to a Google’s server via internet. And the speech is inputted
from a microphone and only an English message has taken as an input for our application and it is
online speech to text conversion.

6|P a ge
INTRODUCTION

The idea behind voice operated electronic board exploits to point out the messages and
regulate them by exploit our own voice. We have already used GSM primarily based Electronic
board, but speech controlled board has extra advantage. User needs to formulate command in
his/her own voice to regulate the messages displayed on electronic board. User has to install
automation applications in his/her smart phones, it is easy to use, assure and durable devices that
helps in performing day to day tasks, voice recognition is finished within the automaton
application. A wireless technology and embedded systems are used to communicate with
peripheral devices. There are various different applications were proposed and implemented using
GSM based wireless communications. A notice board of wireless simple low cost smart phone is
developed and implemented. In this a wireless serial data communications are used in displaying
the messages via Bluetooth connection on a digital notice board. The devices like personal digital
assistant (PDA) are utilized for sending a text of alpha numeric information by accessing the
Android based application programs via Bluetooth based serial data communication port, and a
programmable microcontroller board (Arduino Uno) has been used at the receiver, which receives
alphanumeric text information in the Bluetooth mode. The resources like the human effort, paper,
printer ink and cost for manual changing of the notices in the notice board will be reduced using
our proposed system. The communication arena of Bluetooth wireless technology is a quickest
growing field with simple technique in the wireless technologies. A wireless communication
channel is used to handle the communication in a Bluetooth technology; it is utilized in this project
to transmit and receive data between devices. Whereas, a phone is just quite a phone recently, it is
good phone the quantity of applications being engineered on a good varies of platforms for smart
phone is astounding. A speech synthesizer and software or hardware products can be implemented
using a computer system with an artificial production of human speech.

7|P a ge
DESCRIPTION
ARDUINO-UNO:
The Arduino Uno is a microcontroller board based on the ATmega328 (datasheet). It has 14 digital
input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz crystal
oscillator, a USB connection, a power jack, an ICSP header, and a reset button. It contains
everything needed to support the microcontroller; simply connect it to a computer with a USB
cable or power it with a AC-to-DC adapter or battery to get started. The Uno differs from all
preceding boards in that it does not use the FTDI USB-to-serial driver chip. Instead, it features the
Atmega8U2 programmed as a USB-to-serial converter. "Uno" means one in Italian and is named
to mark the upcoming release of Arduino 1.0. The Uno and version 1.0 will be the reference
versions of Arduino, moving forward. The Uno is the latest in a series of USB Arduino boards,
and the reference model for the Arduino platform; for a comparison with previous versions, see
the index of Arduino boards.

Microcontroller ATmega328
Operating Voltage 5V
Input Voltage (recommended) 7-9V
Input Voltage (limits) 6-20V
Digital I/O Pins 14 (of which 6 provide PWM output)
Analog Input Pins 6
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 32 KB (ATmega328) (0.5 KB used by bootloader)
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock Speed 16 MHz

8|P a g e
POWER:
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 centre-
positive plug into the board's power jack. Leads from a battery can be inserted in the Gnd and Vin
pin headers 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.

The power pins are as follows:

• VIN: The input voltage to the Arduino board when it's using an external power source (as
opposed to 5 volts from the USB connection or other regulated power source). You can
supply voltage through this pin, or, if supplying voltage via the power jack, access it
through this pin.
• 5V: The regulated power supply used to power the microcontroller and other components
on the board. This can come either from VIN via an on-board regulator, or be supplied by
USB or another regulated 5V supply.
• GND. Ground pins.

MEMORY:
The ATmega328 has 32 KB (with 0.5 KB used for the bootloader). It also has 2 KB of SRAM
and 1 KB of EEPROM (which can be read and written with the EEPROM library).

INPUT AND OUTPUT:


Each of the 14 digital pins on the Uno can be used as an input or output, using pinMode(),
digitalWrite(), and digitalRead() functions. They operate at 5 volts. Each pin can provide or
receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of 20-
50 ohms. In addition, some pins have specialized functions:

9|P a g e
• Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data. These
pins are connected to the corresponding pins of the ATmega8U2 USB-to-TTL Serial chip.
• External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on a
low value, a rising or falling edge, or a change in value. See the attach Interrupt() function
for details.
• PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analogWrite() function.
• SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI communication
using the SPI library.
• LED: 13. There is a built-in LED connected to digital pin 13. When the pin is HIGH value,
the LED is on, when the pin is LOW, it's off.

The Uno has 6 analog inputs, labelled A0 through A5, each of which provide 10 bits of resolution
(i.e. 1024 different values). By default they measure from ground to 5 volts, though is it possible
to change the upper end of their range using the AREF pin and the analogReference() function.
Additionally, some pins have specialized functionality:

• I2C: 4 (SDA) and 5 (SCL). Support I2C (TWI) communication using the Wire library.

• AREF. Reference voltage for the analog inputs. Used with analogReference().
• Reset. Bring this line LOW to reset the microcontroller. Typically used to add a reset
button to shields which block the one on the board.

COMMUNICATION:
The Arduino Uno has a number of facilities for communicating with a computer, another Arduino,
or other microcontrollers. The ATmega328 provides UART TTL (5V) serial communication,
which is available on digital pins 0 (RX) and 1 (TX). An ATmega8U2 on the board channels this
serial communication over USB and appears as a virtual com port to software on the computer.
The '8U2 firmware uses the standard USB COM drivers, and no external driver is needed.
However, on Windows, a .inf file is required. The Arduino software includes a serial monitor
which allows simple textual data to be sent to and from the Arduino board. The RX and TX LEDs
on the board will flash when data is being transmitted via the USB-to-serial chip and USB
connection to the computer (but not for serial communication on pins 0 and 1).

10 | P a g e
A Software Serial library allows for serial communication on any of the Uno's digital pins.

The ATmega328 also supports I2C (TWI) and SPI communication. The Arduino software
includes a Wire library to simplify use of the I2C bus; see the documentation for details. For SPI
communication, use the SPI library.

PROGRAMMING:
The Arduino Uno can be programmed with the Arduino software (download). Select "Arduino
Uno from the Tools > Board menu (according to the microcontroller on your board). For details,
see the reference and tutorials. The ATmega328 on the Arduino Uno comes preburned with a
bootloader that allows you to upload new code to it without the use of an external hardware
programmer. It communicates using the original STK500 protocol (reference, C header files).

You can also bypass the bootloader and program the microcontroller through the ICSP (In-Circuit
Serial Programming) header; see these instructions for details. The ATmega8U2 firmware source
code is available. The ATmega8U2 is loaded with a DFU bootloader, which can be activated by
connecting the solder jumper on the back of the board (near the map of Italy) and then resetting
the 8U2. You can then use Atmel's FLIP software (Windows) or the DFU programmer (Mac OS
X and Linux) to load a new firmware. Or you can use the ISP header with an external programmer
(overwriting the DFU bootloader). See this user-contributed tutorial for more information.

AUTOMATIC (SOFTWARE) RESET:

Rather than requiring a physical press of the reset button before an upload, the Arduino Uno is
designed in a way that allows it to be reset by software running on a connected computer. One of
the hardware flow control lines (DTR) of the ATmega8U2 is connected to the reset line of the
ATmega328 via a 100 Nano farad capacitor. When this line is asserted (taken low), the reset line
drops long enough to reset the chip. The Arduino software uses this capability to allow you to
upload code by simply pressing the upload button in the Arduino environment. This means that
the bootloader can have a shorter timeout, as the lowering of DTR can be well-coordinated with
the start of the upload.

11 | P a g e
This setup has other implications. When the Uno is connected to either a computer running Mac
OS X or Linux, it resets each time a connection is made to it from software (via USB). For the
following half second or so, the bootloader is running on the Uno. While it is programmed to
ignore malformed data (i.e. anything besides an upload of new code), it will intercept the first few
bytes of data sent to the board after a connection is opened. If a sketch running on the board
receives one-time configuration or other data when it first starts, make sure that the software with
which it communicates waits a second after opening the connection and before sending this data.

The Uno contains a trace that can be cut to disable the auto-reset. The pads on either side of the
trace can be soldered together to re-enable it. It's labelled "RESET-EN". You may also be able to
disable the auto-reset by connecting a 110 ohm resistor from 5V to the reset line; see this forum
thread for details.

USB OVERCURRENT PROTECTION:


The Arduino Uno has a resettable polyfuse that protects your computer's USB ports from shorts
and overcurrent. Although most computers provide their own internal protection, the fuse provides
an extra layer of protection. If more than 500 mA is applied to the USB port, the fuse will
automatically break the connection until the short or overload is removed.

LCD (LIQUID CRYSTAL DISPLAY):

12 | P a g e
A liquid crystal display or LCD draws its definition from its name itself. It is combination of two
states of matter, the solid and the liquid. LCD uses a liquid crystal to produce a visible image.
Liquid crystal displays are super-thin technology display screen that are generally used in laptop
computer screen, TVs, cell phones and portable video games. LCD’s technologies allow displays
to be much thinner when compared to cathode ray tube (CRT) technology.
Liquid crystal display is composed of several layers which include two polarized panel filters and
electrodes. LCD technology is used for displaying the image in notebook or some other electronic
devices like mini computers. Light is projected from a lens on a layer of liquid crystal. This
combination of coloured light with the grayscale image of the crystal (formed as electric current
flows through the crystal) forms the coloured image. This image is then displayed on the screen.

An LCD is either made up of an active matrix display grid or a passive display grid. Most of the
Smartphone’s with LCD display technology uses active matrix display, but some of the older
displays still make use of the passive display grid designs. Most of the electronic devices mainly
depend on liquid crystal display technology for their display. The liquid has a unique advantage
of having low power consumption than the LED or cathode ray tube.

Liquid crystal display screen works on the principle of blocking light rather than emitting light.
LCD’s requires backlight as they do not emit light by them. We always use devices which are
made up of LCD’s displays which are replacing the use of cathode ray tube. Cathode ray tube
draws more power compared to LCD’s and are also heavier and bigger.

13 | P a g e
HC-05 BLUETOOTH MODULE:

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.

HC-05 Default Settings:

Default Bluetooth Name: “HC-05”


Default Password: 1234 or 0000
Default Communication: Slave
Default Mode: Data Mode
Data Mode Baud Rate: 9600, 8, N, 1
Command Mode Baud Rate: 38400, 8, N, 1
Default firmware: LINVOR

HC-05 Technical Specifications:


Serial Bluetooth module for Arduino and other microcontrollers

Operating Voltage: 4V to 6V (Typically +5V)

Operating Current: 30mA

Range: <100m

Works with Serial communication (USART) and TTL compatible

Follows IEEE 802.15.1 standardized protocol

Uses Frequency-Hopping Spread spectrum (FHSS)

Can operate in Master, Slave or Master/Slave mode

Can be easily interfaced with Laptop or Mobile phones with Bluetooth

Supported baud rate: 9600,19200,38400,57600,115200,230400,460800.

14 | P a g e
POTENTIOMETER:
A potentiometer is a three-terminal resistor with a sliding or rotating contact that forms an
adjustable voltage divider. If only two terminals are used, one end and the wiper, it acts as
a variable resistor or rheostat.

The measuring instrument called a potentiometer is essentially a voltage divider used for
measuring electric potential (voltage); the component is an implementation of the same principle,
hence its name.

Potentiometers are commonly used to control electrical devices such as volume controls on audio
equipment. Potentiometers operated by a mechanism can be used as position transducers, for
example, in a joystick. Potentiometers are rarely used to directly control significant power (more
than a watt), since the power dissipated in the potentiometer would be comparable to the power in
the controlled load.

Potentiometers consist of a resistive element, a sliding contact (wiper) that moves along the
element, making good electrical contact with one part of it, electrical terminals at each end of the
element, a mechanism that moves the wiper from one end to the other, and a housing containing
the element and wiper.

15 | P a g e
RESISTORS:
Resistors are circuit elements that resist the flow of current. When this is done a voltage appears
across the resistor's two wires. A pure resistor turns electrical energy into heat. Devices similar
to resistors turn this energy into light, motion, heat, and other forms of energy. A resistor is
considered to be a passive two-terminal element that introduces a certain level of resistance into
the electrical circuit. The primary roles that a resistor plays in any given electrical circuit are to
reduce the flow of current, divide voltage level and adjust the signals, among many other uses.

V=I*R
The fundament electrical law, known as Ohms Law, has a fundamental connection to resistors in
general. This is because the ideal resistor is dictated by its relationship to Ohm’s law, which is
demonstrated as follows:

Ohms Law states that the voltage across a resistor is proportional to the current flowing through
it, where R remains as the constant of proportionality. Another practical way to visualize this is to
compare the electric current with a hydraulic analogy. Let’s assume a tank that has a clogged pipe.
The clogged pipe has a smaller pathway for the water to flow. This means that the amount of force
required for the water to flow out of the pipe is more significant. However, if the pipe were not
clogged, then the water would flow through smoothly. This can be similarly compared to a resistor
with a high level of resistance. In that case, the voltage required to push a certain amount of current
would be higher than a resistor that has a lower resistor, in which case less voltage is needed to
move the same amount of current.

16 | P a g e
JUMPERS:
A jumper is a short length of conductor used to close, open or bypass part of an electronic circuit.
They are typically used to set up or configure printed circuit boards, such as
the motherboards of computers. The process of setting a jumper is often called strapping.

When a jumper is placed over two or more jumper pins, an electrical connection is made between
them, and the equipment is thus instructed to activate certain settings accordingly. For example,
with older PC systems, CPU speed and voltage settings were often made by setting jumpers.

17 | P a g e
INTERFACING LCD TO ARDUINO:

CIRCUIT DIAGRAM:

18 | P a g e
SOURCE CODE:

#include <LiquidCrystal.h> //to use LCD function download this library from
arduino site
LiquidCrystal lcd(2,3,4,5,6,7); //create an object for LCD
String voice; //to store the command
char c; //to get characters from the command
void setup() {
Serial.begin(9600); //for serial terminal
lcd.begin(16,2); //initialize LCD
}
void loop() {
while(Serial.available())
{
delay(10); //delay added to make it stable
lcd.clear(); //clear LCD
c = Serial.read(); //get new command
voice += c; //to make a string of command
}
if(voice.length() > 0)
{
Serial.println(voice); //print the command in Serial Terminal
if(voice == "clear") //to clear the LCD send "clear" command
{
lcd.clear();
}
lcd.print(voice); //print the command on LCD
voice = ""; // to end the command
}
}

19 | P a g e
OUTPUT:

20 | P a g e
CONCLUSION:
In this proposed system, suggested approach for controlling speech recognition based on voice
control. The prototype which has been developed can control the various voices as a input and
displays the output as voice message i.e; that we give as input and can be used in any place. It can
be concluded this work depending on Arduino microcontroller a successful system. This system
consists of an Arduino-Uno board, a voice controller, HC05- Module, LCD, Resistors and
Potentiometer. It is user sociality and it is cost effective. Low power consumption, it reduces risk.
Low cost operating system using Arduino module [ATmega328] in C programming language.
Also overall cost effective and parts are easily available on the market.

REFERENCES:
[1]. Pankaj Bhardwaj, Ashvani Kr Sharma, Meghna Saxena, Saurabh Chaudhari, Arshit Gupta,
Home Automation By Voice Recognition Using Zigbee, International Journal of Scientific
Research and Management Studies (IJSRMS),(2016)Vol. 2 Issue 12, P.P( 481-486).

[2]. Marius Branzila, Constantin Sarmasanu, Gabriel Fanaru, ROBOTVOICE - Voice command
of a robot”, IEEE, International Conference and Exposition on Electrical and Power Engineering
(EPE),(2014).

[3]. Sonali Sen, Shamik Chakrabarty, Raghav Toshniwal, Ankita Bhaumik, Design of an
Intelligent Voice Controlled Home Automation System”, International Journal of Computer
Applications, (2015), Vol. 121 – No.15, P.P(39-42).

[4]. Kharka Bahadur Rai, Jeetendra Thakur, Nirmal Rai, Voice Controlled Wheel Chair Using
Arduino, International Journal of Science, Technology & Management, (2015), Vol.04, Issue.
06,P.P(6-13).

[5]. Theodore Ramli, Natashia Nabiha Dabimel, Mazlina Mamat, Norfarariyanti Parimon Rosalyn
R. Porle, Simple Speech Controlled Home Automation System Using Android Devices, Journal
of Scientific Research and Development (JSRAD), (2016), P.P(33-38).

21 | P a g e

You might also like