Project Report on
Solar Based Assistive Technology for Voice
Impaired
Submitted in partial fulfillment of the requirements
of the degree of
BACHELOR OF ENGINEERING
in
ELECTRONICS AND TELECOMMUNICATION
by
Aayush Misra (Roll No. 62)
Rishabh Dubey (Roll No.70)
Mitch Fernandes (Roll No. 71)
Under the guidance of
Ms. Lakshmi G. Prabhu
Department of Electronics and Telecommunication Engineering
St. Francis Institute of Technology, Mumbai
University of Mumbai
(2017-2018)
4
ABSTRACT
Voice impaired people have difficulty in communicating with normal people because
hand gestures used by them to communicate their information is not easily understandable;
only trained people can understand these. Most expressions and emotions remains un-
conveyed sometimes even misinterpreted. So hand gestures are not an effective method for the
speech impaired people. To take care of this issue, an assistive technology can be used to
enhance communication. This is done by using ATmega328 microcontroller. The assistive
technology consist of specialized keypad in which each key corresponds to a pre-
assigned recorded audio that can be played to convey the message by the voice impaired
person.
Keywords: Voice Impairment, Assistive Technology, Solar Power.
5
Contents
Chapter 1 Introduction 01
1.1 Motivation 01
1.2 Problem Statement 02
1.3 Methodology 02
1.4 Organization of Project Report 02
Chapter 2 Literature Review 04
2.1 Electronic Speaking Glove for Speechless Patients 04
2.2 Development of an Assistive Aid for Speech Impaired 04
2.3 Speaking Gloves for Speechless Person 05
2.4 Extraction of Vocal-Tract System Characteristics from Speech 05
Signals
Chapter 3 Design Methodology 06
3.1 Working 06
3.1.1 Transmitter 06
3.1.2 Receiver 07
3.2 Circuit Diagram 08
3.2.1 Transmitter 08
3.2.2 Receiver 09
3.2 Component List and Description 10
3.2.1 ATmega328 12
3.2.2 aPR33A3 Voice IC 16
3.2.3 HT12E Encoder 17
3.2.4 HT12D Decoder 18
3.2.5 IC7805 19
3.2.6 RF Module (Transmitter And Receiver) 20
3.2.7 Solar Panel 21
3.3 Software Support Overview 23
6
3.3.1 Proteus 23
3.3.2 Arduino IDE 23
3.4 Program Code 24
3.4.1 Transmitter 24
3.4.2 Receiver 30
Chapter 4 Simulation and Experimental Results 32
4.1 Simulation on PCB 32
4.1.1 Transmitter 32
4.1.2 Receiver 33
Chapter 5 Conclusion 34
5.1 Conclusion 34
5.2 Future Scope 34
Appendix Timeline 35
References 37
Acknowledgement 38
vii
List of Figures
Figure
No.
Figure Captions Page
No.
3.1 Transmitter Block Diagram 06
3.2 Receiver Block Diagram 07
3.3 Transmitter Circuit Diagram 08
3.4 Receiver Block Diagram 09
3.5 Block diagram of Atmega328 14
3.6 Pin diagram of Atmega328 15
3.7 Pin diagram of aPR33A3 Voice IC 16
3.8 Pin diagram of HT12E 17
3.9 Pin diagram of HT12D 18
3.10 Pin diagram of LM7805 19
3.11 Pin diagram of RF Module for Transmitter and Receiver 20
3.12 Solar Cell Structure 21
3.13 Solar Panel Used for the Project 22
4.1 Simulation Result for Transmitter 32
4.2 Simulation Result for Receiver 33
9
List of Abbreviations
AAC Alternative and Augmentative Communication
IC Integrated Circuit
LED Light Emitting Diode
AVR Alf and Vegard’s RISC processor
RISC Reduced Instruction Set Computer
EPROM Electrically Programmable Read Only memory
SRAM Static Random Access Memory
USART Universal Synchronous/Asynchronous Receiver ...
SPI Serial Peripheral Interface
JTAG Joint Test Action Group
RF Radio Frequency
PCB Printed Circuit Board
IDE Integrated Development Environment
11
Chapter 1
Introduction
“More important than the right to speech is the right to speak.” The world renowned British
theoretical physicist Stephen Hawking knows this exactly to be true. Having been robbed of
his ability to speak to a motor neuron disease, Stephen Hawking had to struggle with crude
communication systems just to be able to tell his wants and needs. How frequently do
we meet a voice impaired person in normal life? How visible are they in offices? The truth is
that there is often little room for these people in the workplaces. Voice impairment is
a communication problem in which the normal speech is disrupted due to
articulation problems.
1.1 Motivation
People with complex communication needs often struggle with verbal language and require an
Alternative and Augmentative Communication (AAC) strategy. Suffering from voice
impairment can have negative social effects, especially among young children.
Generally voice impaired people communicate in sign languages which is not understood by
majority of people so they are not an effective method of communication. To take care of this
issue, an assistive device can be used to enhance the passage of communication. The assistive
device would consist of a specialized keypad in which each key would correspond to a pre-
assigned recorded audio that can be played to convey the message by
the voice-impaired person. The keypad matrix that would consist of a pre-assigned recorded
audio would be an element of the transmitter, so whenever the person wants to communicate a
specific word or a speech, he would press the specific input on the keypad matrix
with respect to that particular speech. The output for that particular speech would be heard on
the receiver section via a speaker.
12
1.2 Problem Statement
Voice impaired people have difficulty in communicating with normal people because hand
gestures used by them to communicate their information is not easily understandable, only
trained people can understand these. Most expressions and emotions remains un-
conveyed sometimes even misinterpreted. So hand gestures are not an effective method for
the speech impaired people. To take care of this issue, an assistive technology can be used to
enhance the communication.
1.3 Methodology
We intend to design an assistive technology consisting of transmitter and receiver sections.
This assistive device could be useful for voice impaired and partially paralyzed people
to remove the communication barrier between them and the society. The main reason
to use solar as a power source is that it does not cause pollution and carbon emissions and it
has potential to harness infinitely.
1.4Organization of Project Report
This project report is organized as follows:
(i) Chapter 2: This chapter comprises of the literature survey of the project and contains
a list of various papers read along with the abstract regarding the proposed system discussed
in the respective papers.
(ii) Chapter 3: This chapter comprises of the methodology of the device which consists of
the block diagram and circuit diagrams of the transmitter and receiver sections component list
and a description of the important integrated circuits required for the project, the
software support required and the program code implemented for the project.
(iii) Chapter 4: This chapter comprises of the simulation results obtained during the
implementation of the project.
13
(iv) Chapter 5: This chapter comprises of the conclusion drawn from the
project implementation and the future scope of the project in which we describe about
further modifications possible for the device.
14
Chapter 2
Literature Survey
In this section, we give a description about the various papers that we had read for
the research of our project. The list of the references read along with the authors of the papers
is given in the following
2.1 Electronic Speaking Glove for Speechless Patients, A Tongue to a
Dumb by Syed Faiz Ahmez [1]
Generally, a speechless person communicates through sign language which is not understood
by the majority of people. This project is designed to solve this problem. Finger gestures of a
user will be converted into synthesized speech to convey an audible message to others, for
example in a critical communication with doctors. A glove is used for this purpose. The glove
is internally equipped with multiple flex sensors that are made up of "bend-sensitive
resistance elements".
2.2 Development of an Assistive Aid for Speech Impaired by Aparna
P, Mohana Priya P, Usha Rani T, Jeba Jaculin B, Pradeep Raja B [2]
This system is implemented in real time to express the basic needs of speech impaired. The
proposed system is a user dependent system in which the speech IC is trained by the
individual who will be using the system. It employs an acoustic plate to sense the
vocal vibration. These vibrations are amplified and processed by the speech IC. The speech IC
is trained with certain words. When the trained words are spoken by the user, the
vibrations produced are recognized and compared by the speech IC. The PIC controller
is interfaced with recording and playback IC. The recording and playback IC is capable of
recording up to
8 messages. The PIC controller is programmed in such a way it directs the output of
the speech IC to the corresponding pins of the playback IC and audio output is
produced by means of speaker.
15
2.3 Speaking Gloves for Speechless Person by Abjhijt Auti, V. G. Puranik,
Dr. A. K. Kureshi [3]
A speechless person communicates through sign language which is not understood by the any
people. The proposed system in this paper is designed to solve the problem. In this system
they have used IVR341N which is a 8-bit MCU based Voice chip. It can store 341sec voice
message with 4-bit ADPCM compression at 6KHz sampling rate and it requires an external
memory for voice storing.
2.4 Extraction of Vocal-Tract System Characteristics from Speech Signals
by B. Yegnanarayana and Raymond N. J. Veldhuis [4]
This paper concentrates in the cases where vocal characteristics vary over time, as happens in
dynamic sounds such as consonant-vowel transitions. These instants are obtained by a
method based on the average group-delay property of minimum-phase signals. In
voiced speech, they correspond to the instants of glottal closure. The vocal-tract
system is characterized by its formant parameters, which are extracted from the analysis
segments.
16
Chapter 3
3.1 Working
3.1.1 Transmitter
Design Methodology
Fig 3.1 Transmitter Block Diagram
There are two separate microcontrollers for transmitter and receiver. In the transmitter section,
the keypad matrix is connected to digital input/output pins of micro-controller, which is used as
the input device. The microcontroller on board scans the key being pressed and sends a 4-bit
code representing the key pressed to I/O of board.
These four bits are transferred to HT12E encoder for conversion of parallel data into serial data,
which is fed into the RF transmitter. It then transmits the serial data at 433MHz using ASK
modulation. The 750kΩ resistor determines the oscillator frequency of the transmitter side.
17
3.1.2 Receiver
Fig 3.2 Receiver Block Diagram
In the receiver section, the 4-bit code is received using the RF receiver and data bits
are decoded if and only if the extracted address from the transmitted code matches the
pre- programmed address in HT12D decoder address pins. If the decoded address and
pre- programmed address matches, the LED corresponding to HT12D (at pin 17) glows. The 33
kΩ resistor determines the oscillator frequency of the receiver.
The decoded output from HT12D is then sent to the microcontroller to generate a binary code
corresponding to it. This output is further from the microcontroller is further sent to 74HCT154
decoder to further trigger aPR33A3 voice IC. In response to the trigger from the decoder, the
voice IC generates corresponding audio messages programmed earlier.
74HCT154, a 4-to-16 line decoder is used to drive the select pins of the voice IC as the number
of input/output pins on the microcontroller is insufficient to drive the voice IC.
20
3.3 Component List and Description
Specification Component Name
(a) Semiconductors
IC1, IC3 7805 voltage regulator
IC2 HT12E encoder
IC4 HT12D decoder
IC5 74HCT154, 4-to-16 line decoder
IC6 APR33A3 voice record and play back IC
IC7 LM386 low-voltage audio power amplifier
LED1 5mm LED
TX1 433MHz RF transmitter module
RX1 433MHz RF receiver module
BOARD1, BOARD2 Arduino UNO board
(b) Resistors
R1 750-kilo-ohm
R2-R7, R12, R13 1-kilo-ohm
R8 33-kilo-ohm
R9 47-kilo-ohm
R10, R11, R14 4.7-kilo-ohm
(c) Capacitors
C1, C2, C9 1uF, 16V electrolytic
21
C3 10uF,16V electrolytic
C4, C5, C10 100uF,16V electrolytic
C6, C7, C11 100nF ceramic
C8, C12 1nF ceramic
(d) Miscellaneous
CON1, CON3 2-pin connector
CON2 12-pin connector
CON4 5-pin connector
CON5 6-pin connector
LS1 4-ohms, 0.5W speaker
MIC1 Electret condenser microphone
ANT1, ANT2 30cm-long single-strand wire antenna
BATT1, BATT2 Solar Powered Battery
S1-S16, S18 Tactile switch
S17 On/Off toggle switch, USB A-B cable
Table 3.1
The Arduino UNO Board contains the ATmega328 microcontroller.
22
3.3.1 ATmega328
The ATmega328 is a single chip micro-controller created by Atmel and belongs to the mega
AVR series. The Atmel 8-bit AVR RISC - based microcontroller combines 32 KB ISP flash
memory with read-write capabilities, 1KB EPROM, 2KB SRAM, 23 general purpose
I/0 lines, 32 general purpose registers, three flexible timer/counters with compare modes,
internal and external interrupts, serial programmable USART , a byte-oriented 2-wire serial
interface, SPI serial port, 6-channel 10-bit A/D converter (8-channels in TQFP and
QFN/MLF packages), programmable watchdog timer with internal oscillator, and
five software selectable power saving modes. The device operates between 1.8-5.5
volts. The device ATmega32 microcontroller which belongs to Atmel’s AVR series
micro controller family. ATmega32 is based on RISC (Reduced Instruction Set
Computing) architecture with 131 powerful instructions. Most of the instructions execute in
one machine cycle. ATmega32 can work on a maximum frequency of 16MHz. By
executing powerful instructions in a single clock cycle, the ATmega32 achieves
throughputs approaching 1 MIPS per MHz allowing the system designer to optimize power
consumption versus processing speed.
Features of ATmega 328 microcontroller:
(i) PIN count: Atmega32 has got 40 pins. Two for Power (pin no.10: +5v, pin no.
11: ground), two for oscillator (pin 12, 13), one for reset (pin 9), three for providing necessary
power and reference voltage to its internal ADC, and 32 (4×8) I/O pins.
(ii) About I/O pins: ATmega32 is capable of handling analogue inputs. Port A can be used as
either DIGITAL I/O Lines or each individual pin can be used as a single input channel to the
internal ADC of ATmega32, plus a pair of pins AREF, AVCC & GND together can make an
ADC channel.
No pins can perform and serve for two purposes (for an example: Port A pins cannot work as
a Digital I/O pin while the Internal ADC is activated) at the same time. It’s the programmers
responsibility to resolve the conflict in the circuitry and the program. Programmers are
advised to have a look to the priority tables and the internal configuration from the datasheet.
23
(iii) Digital I/O pins: ATmega32 has 32 pins (4portsx8pins) configurable as Digital I/O pins.
(iv) Timers: 3 Inbuilt timer/counters, two 8 bit (timer0, timer2) and one 16 bit (timer1).
(v) ADC: It has one successive approximation type ADC in which total 8 single
channels are selectable. They can also be used as 7 (for TQFP packages) or 2 (for
DIP packages) differential channels. Reference is selectable, either an external reference can
be used or the internal 2.56V reference can be brought into action. There external
reference can be connected to the AREF pin.
(vi) Analog Comparator: On-chip analog is available. An interrupt is assigned for different
comparison result obtained from the inputs.
(vii) External Interrupt: 3 External interrupts are accepted. Interrupt sense is configurable.
(viii) Programming: ATmega32 can be programmed either by In-System Programming via
Serial Peripheral Interface or by Parallel programming. Programming via JTAG interface is
also possible. Programmer must ensure that SPI programming and JTAG are not
diasbled using fuse bits; if the programming is supposed to be done using SPI or JTAG.
26
3.3.2 aPR33A3 Voice IC
The aPR33A3 is a powerful audio processor along with high performance audio analog-to-
digital converters (ADCs) and digital-to-analog converters (DACs). It is a fully
integrated solution offering high performance and unparalleled integration with analog
input, digital processing and analog output functionality. The aPR33A3 incorporates all the
functionality required to perform demanding audio/voice applications.
High quality audio/voice systems with lower bill-of-material costs can be implemented with
the aPR33A3 because of its integrated analog data converters and full suite of quality-
enhancing features such as sample-rate convertor. The aPR33A3 Q7.0 is specially designed
for simple key trigger, user can record and playback the messages in random seven sections
by switch. It is suitable in simple interface, e.g. toys, leave messages system,
answering machine etc. Meanwhile, this mode provides the power-management system.
Users can let the chip enter power-down mode when unused. It can effectively reduce
electric current consuming to 15uA and increase the using time in any projects powered by
batteries.
Fig 3.7 Pin Diagram of aPR33A3 Voice IC
27
3.3.3 HT12E Encoder
HT12E is an encoder integrated circuit of 212 series of encoders. They are paired with
212 series of decoders for use in remote control system applications. It is mainly used
in interfacing RF and infrared circuits. The chosen pair of encoder/decoder should have same
number of addresses and data format. Simply put, HT12E converts the parallel inputs
into serial output. It encodes the 12 bit parallel data into serial for transmission through
an RF transmitter. These 12 bits are divided into 8 address bits and 4 data bits.
HT12E has a transmission enable pin which is active low. When a trigger signal is received
on TE pin, the programmed addresses/data are transmitted together with the header bits
via an RF or an infrared transmission medium. HT12E begins a 4-word transmission cycle
upon receipt of a transmission enable. This cycle is repeated as long as TE is kept low. As
soon as TE returns to high, the encoder output completes its final cycle and then stops.
Fig 3.8 Pin Diagram of HT12E[5]
28
3.3.4 HT12D Decoder
HT12D is a decoder integrated circuit that belongs to 212 series of decoders. This series
of decoders are mainly used for remote control system applications, like burglar alarm, car
door controller, security system etc. It is mainly provided to interface RF and
infrared circuits. They are paired with 212 series of encoders. The chosen pair of
encoder/decoder should have same number of addresses and data format. In simple terms,
HT12D converts the serial input into parallel outputs. It decodes the serial addresses and data
received by, say, an RF receiver, into parallel data and sends them to output data pins.
The serial input data is compared with the local addresses three times continuously. The
input data code is decoded when no error or unmatched codes are found. A valid
transmission in indicated by a high signal at VT pin. HT12D is capable of decoding 12 bits,
of which 8 are address bits and 4 are data bits. The data on 4 bit latch type output pins remain
unchanged until new is received.
Fig 3.9 Pin Diagram of HT12D[6]
29
3.3.5 IC 7805
7805 is a voltage regulator integrated circuit. It is a member of 78xx series of fixed linear
voltage regulator ICs. The voltage source in a circuit may have fluctuations and would not
give the fixed voltage output. The voltage regulator IC maintains the output voltage at
a constant value. Capacitors of suitable values can be connected at input and output
pins
depending upon the respective voltage levels.
Fig 3.10 Pin Diagram of LM 7805
Voltage sources in a circuit may have fluctuations resulting in not giving fixed voltage
outputs. Voltage regulator IC maintains the output voltage at a constant value. 7805, a
voltage regulator integrated circuit (IC) is a member of 78xx series of fixed linear voltage
regulator ICs used to maintain such fluctuations. The xx in 78xx indicates the fixed output
voltage it provides. IC 7805 provides +5 volts regulated power supply with provisions to add
heat sink as well
The difference between the input and output voltage appears as heat. The greater the
difference between the input and output voltage, the more heat is generated. If too much heat
is generated, through high input voltage, the regulator can overheat. If the regulator does not
have a heat sink to dissipate this heat, it can be destroyed and malfunction. Hence, it
is advisable to limit the voltage to a maximum of 2-3 volts higher than the output voltage. So
the two options are to design the circuit so that the input voltage going into the regulator is
limited to 2-3 volts above the output regulated voltage or place an appropriate heatsink that
can efficiently dissipate heat.
30
3.3.6 RF Module (Transmitter and Receiver)
The RF module, as the name suggests, operates at Radio Frequency. The corresponding
frequency range varies between 30 kHz & 300 GHz. In this RF system, the digital data is
represented as variations in the amplitude of carrier wave. This kind of modulation is known
as Amplitude Shift Keying (ASK).
Fig 3.11 Pin Diagram RF Module for Transmitter and Receiver
Transmission through RF is better than IR (infrared) because of many reasons. The signals
through RF can travel through larger distances making it suitable for long range applications.
While IR mostly operates in line-of-sight mode, RF signals can travel even when there is an
obstruction between transmitter and receiver. The RF transmission is more strong and reliable
than IR transmission. RF communication uses a specific frequency unlike IR signals which
are affected by other IR emitting sources.
This RF Module comprises of an RF Transmitter and an RF Receiver. The
transmitter/receiver (Tx/Rx) pair operates at a frequency of 433 MHz. An RF
transmitter receives serial data and transmits it wirelessly through RF through its antenna
connected at pin4. The transmission occurs at the rate of 1Kbps - 10Kbps.The transmitted data
is received by an RF receiver operating at the same frequency as that of the transmitter.
The RF Module is often used along with a pair of encoder/decoder. The encoder is used for
encoding parallel data for transmission feed while reception is decoded by a decoder.
31
3.3.6 Solar Cell
Solar cell, also called photovoltaic cell, any device that directly converts the energy of light
into electrical energy through the photovoltaic effect. The overwhelming majority of
solar cells are fabricated from silicon with increasing efficiency and lowering cost as the
materials range from amorphous (noncrystalline) to polycrystalline to crystalline (single
crystal) silicon forms. Unlike batteries or fuel cells, solar cells do not utilize chemical
reactions or require fuel to produce electric power, and, unlike electric generators, they do not
have any moving parts.
Fig 3.12 Solar Cell Structure
Solar cells can be arranged into large groupings called arrays. These arrays, composed
of many thousands of individual cells, can function as central electric power stations,
converting sunlight into electrical energy for distribution to industrial, commercial, and
residential users. Solar cells in much smaller configurations, commonly referred to as solar
cell panels or simply solar panels, have been installed by homeowners on their rooftops to
replace or augment their conventional electric supply.
33
3.4 Software Support Overview
3.4.1 Proteus
Proteus combines ease of use with powerful features to help you design, test and
layout professional PCBs like never before. With nearly 800 microcontroller variants
ready for simulation straight from the schematic, one of the most intuitive professional
PCB layout packages on the market and a world class shape based autorouter included
as standard, Proteus Design Suite delivers the complete software package for today
and tomorrow's engineers. Proteus is a a software which accepts only hex files. Once
the machine code is converted into hex code, that hex code has to be dumped into the
Microcontroller and this is done by the Proteus. Proteus is a programmer which itself
contains a Microcontroller in it other than the one which is to be programmed. Different
Microcontrollers can be loaded in the Proteus software by importing their respective
libraries. This Microcontroller has a program in it written in such a way that it accept
the hex file and dumps it in the Microcontroller which is to be programmed.
3.4.2 Arduino IDE
The open-source Arduino Software IDE (short for Integrated Development
Environment) makes it easy to write code and upload it to the board. It runs on Windows,
Mac OS X, and Linux. The environment is written in Java and based on Processing and
other open-source software. The Arduino IDE is a cross-platform application which originated
from the IDE for the languages Processing and Wiring. It includes a code editor with
features such as text cutting and pasting, searching and replacing text, automatic
indenting, brace-matching and syntax highlighting, and provides simple one-click
mechanisms to compile and upload programs to an Arduino board. It also contains a
message area, a text console, a toolbar with buttons for common functions and a hierarchy of
operation menus.
34
3.5 Program Code
3.5.1 Transmitter:
The source code of the transmitter side contains a 2D array for the pressed key. Initially, the
code configures the column pins and row pins for the keypad and then in the setup
{} function, it configures the output pins for Arduino. The loop function is used to output the
data bits corresponding to read character.
Source Code:
#include <Keypad.h>
char hexaKeys[4][4] = { //keypad map
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[4] = {0,1,2,3}; //pins 0,1,2,3 connected row pins of keypad
byte colPins[4] = {4,5,6,7}; //pins 4,5,6,7 connected column pins of keypad
byte out[4]={10,11,12,13}; //pins 10,11,12,13 to send the four bit code to the encoder
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins,
colPins,4,4);
//Configure the keypad
void setup(){
for(int i=0;i<4;i++)
{
pinMode(out[i],OUTPUT); //pins 10,11,12,13 as output
}
pinMode(A0,OUTPUT); //A0(to transmit enable pin) as output
digitalWrite(A0,1); //set transmit enable pin high
}
35
void loop(){
char kp = customKeypad.waitForKey(); //read the keypad
if(kp)
{
switch(kp)
{
case '0':
digitalWrite(out[0],0); //outputing the data bits cooresponding to the read character
digitalWrite(out[1],0);
digitalWrite(out[2],0);
digitalWrite(out[3],0);
digitalWrite(A0,0); //set transmit enable pin low
delay(200);
digitalWrite(A0,1); //set transmit enable pin low
break;
case '1':
digitalWrite(out[0],1);
digitalWrite(out[1],0);
digitalWrite(out[2],0);
digitalWrite(out[3],0);
digitalWrite(A0,0);
delay(150);
digitalWrite(A0,1);
break;
case '2':
digitalWrite(out[0],0);
digitalWrite(out[1],1);
digitalWrite(out[2],0);
digitalWrite(out[3],0);
digitalWrite(A0,0);
delay(150);
digitalWrite(A0,1);
break;
case '3':
digitalWrite(A0,1);
36
digitalWrite(out[0],1);
digitalWrite(out[1],1);
digitalWrite(out[2],0);
digitalWrite(out[3],0);
digitalWrite(A0,0);
delay(150);
digitalWrite(A0,1);
break;
case '4':
digitalWrite(out[0],0);
digitalWrite(out[1],0);
digitalWrite(out[2],1);
digitalWrite(out[3],0);
digitalWrite(A0,0);
delay(150);
digitalWrite(A0,1);
break;
case '5':
digitalWrite(out[0],1);
digitalWrite(out[1],0);
digitalWrite(out[2],1);
digitalWrite(out[3],0);
digitalWrite(A0,0);
delay(150);
digitalWrite(A0,1);
break;
case '6':
digitalWrite(out[0],0);
digitalWrite(out[1],1);
digitalWrite(out[2],1);
digitalWrite(out[3],0);
digitalWrite(A0,0);
delay(150);
digitalWrite(out[2],0);
digitalWrite(out[3],1);
digitalWrite(A0,0);
37
break; case '7':
digitalWrite(out[0],1);
digitalWrite(out[1],1);
digitalWrite(out[2],1);
digitalWrite(out[3],0);
digitalWrite(A0,0);
delay(150);
digitalWrite(A0,1);
break;
case '8':
digitalWrite(out[0],0);
digitalWrite(out[1],0);
digitalWrite(out[2],0);
digitalWrite(out[3],1);
digitalWrite(A0,0);
delay(150);
digitalWrite(A0,1);
break;
case '9':
digitalWrite(out[0],1);
digitalWrite(out[1],0);
digitalWrite(out[2],0);
digitalWrite(out[3],1);
digitalWrite(A0,0);
delay(150);
digitalWrite(A0,1);
break;
case 'A':
digitalWrite(out[0],0);
digitalWrite(out[1],1);
digitalWrite(out[0],0);
digitalWrite(out[1],1);
digitalWrite(out[2],1);
38
delay(150);
digitalWrite(A0,1);
break;
case 'B':
digitalWrite(out[0],1);
digitalWrite(out[1],1);
digitalWrite(out[2],0);
digitalWrite(out[3],1);
digitalWrite(A0,0);
delay(150);
digitalWrite(A0,1);
break;
case 'C':
digitalWrite(out[0],0);
digitalWrite(out[1],0);
digitalWrite(out[2],1);
digitalWrite(out[3],1);
digitalWrite(A0,0);
delay(150);
digitalWrite(A0,1);
break;
case 'D':
digitalWrite(out[0],1);
digitalWrite(out[1],0);
digitalWrite(out[2],1);
digitalWrite(out[3],1);
digitalWrite(A0,0);
delay(150);
digitalWrite(A0,1);
break;
case '*':
int buff[4];
void setup()
//temporary variable
39
digitalWrite(out[3],1);
digitalWrite(A0,0);
delay(150);
digitalWrite(A0,1);
break;
case '#':
digitalWrite(out[0],1);
digitalWrite(out[1],1);
digitalWrite(out[2],1);
digitalWrite(out[3],1);
digitalWrite(A0,0);
delay(150);
digitalWrite(A0,1);
break;
}
kp='j';
}
}
3.5.2 Receiver:
In the receiver secion code, the I/O pins are configured for Arduino. The loop function {} is
used to read the receiving bits and convert these from binary to decimal values and send the
received data to the output pins.
Source Code:
byte ip[4] = {8,9,10,11}; //List of input pins from the HT12D
byte op[4]={3,4,5,6}; //List of output pins to the 74HCT154 decoder
int i; //loop variable
boolean b[4],rf; //variable for storing the received 4 bit code and RF reception flag
int key; //To store the integer value of received code
40
{
Serial.begin(9600); //configure serial port
for(i=0;i<4;i++) //set pins 8,9,10,11 as input
pinMode(ip[i],INPUT);
pinMode(12,INPUT); //Reception acknowledgement pin(12) as input
for(i=0;i<4;i++){
pinMode(op[i],OUTPUT); //set pins 3,4,5,6 as output
buff[i]=0;
pinMode(2,OUTPUT); //Enable pin(2) to the decoder(74HCT154) as output
digitalWrite(2,1);
}
}
void loop()
{
rf=digitalRead(12); //Read the reception acknowledgement pin
if(rf)
{
delay(200);
b[0]=digitalRead(ip[0]); // reading the received bits
b[1]=digitalRead(ip[1]);
b[2]=digitalRead(ip[2]);
b[3]=digitalRead(ip[3]);
key=(b[3]&1)+((b[2]&1)*2)+((b[1]&1)*4)+((b[0]&1)*8); //binary to decimal calculation
delay(100);
Serial.println(key); //displaying the key number(0-15) in serial
for(i=0;i<4;i++)
{
digitalWrite(op[i],b[i]); //To sent the read data to the ouput pins
}
digitalWrite(2,0); //Enable decoder(74HCT154)
delay(100);
digitalWrite(2,1); //Disable decoder(74HCT154)
}
41
Chapter 4
Simulation and Experimental Results
4.1 Simulation on PCB
4.1.1 Transmitter
Fig 4.1 Simulation Result for Transmitter
43
Chapter 5
Conclusion
5.1 Conclusion
The source code for the transmitter section was implemented such a way that as many
as sixteen voice inputs could be stored, while the hardware was succesfully implemented
using only eight voice inputs. The blinking of the LED in the transmitter section represented
that data could be successfully transmitted to the receiver if there is any voice data stored in the
voice IC. The receiver support of the device plays an important role in this device as it
mainly consists of voice IC that is important to record and edit the speech. The blinking of the
LED in the receiver section represented that the decoded address and the pre-prograamed
address in the receiver matched successfully.
5.2 Future Scope
The project proposes an assistive device with help of solar energy to decrease the
communication barrier for the voice impaired people so that they can express their views in
front of the society. The assistive device is easy to use and is helpful to not only
voice impaired people but also those who suffer from partial paralysis. Further
implementation can be done for more number of word storage in the device. The assistive
device can also be used for home applications such as leaving a reminder, etc. Moreover,
it can also be useful for improving the speech and language of young children and hence
could further be used in various schools, etc.
44
Appendix
Timeline Chart of the Project
TIMELINE CHART FOR SEMESTER VII
MONTH JULY AUGUST SEPTEMBER OCTOBER
WEEK NO. W1 W2 W3 W4 W1 W2 W3 W4 W5 W1 W2 W3 W4 W1 W2 W3 W4
WORK TASKS
1.Problem
Definition
Search for topics
Identify the goal of
the project
2.Preparation
Study of related
IEEE papers and
books
Study of Proteus
professional
Software
Study of Arduino
IDE software
3.Implementation of
Transmitter part on
proteus
professional.
4.Implementation
of Transmitter
section
45
TIMELINE CHART FOR SEMESTER VIII
MONTH JANUARY FEBRUARY MARCH APRIL
WEEK NO. W1 W2 W3 W4 W1 W2 W3 W4 W1 W2 W3 W4 W1 W2 W3 W4
WORK TASKS
1. Execution of
Transmitter Section
in Breadboard
2. Implementation
of Receiver in
Arduino IDE
3. Execution of
Receiver Section in
Breadboard
4. Execution for
Circuits in PCB
5. Work on
Blackbook
46
References
[1] B. Ali, S. Munawwar, B. Nadeem, "Electronic Speaking Glove for Speechless Patients",
IEEE ,August 2010.
[2] T.H. Falk, J. Chan, P. Duez, G. Teachman, and T. Chau, “.Development of an Assistive
Aid for Speech Impaired,” IEEE transactions on neural systems and
rehabilitation engineering : a publication of the IEEE Engineering in Medicine and Biology
Society, vol.
18, pp. 159- 63, Apr. 2010.
[3] “Speaking Gloves for Speechless Person” by Abjhijt Auti, V. G. Puranik, Dr. A. K.
Kureshi, IARJSET, Vol. 4, Special Issue 3, January 2017
[4] K.Rajeswari,E.Jeevitha, M.Meenakshi, “Extraction of Vocal-Tract System Characteristics
from Speech Signals”, IEEE, August 2011.
[5] HT12E2^12 Series of Encoders Datasheet April 11,2000
[6] HT12D2^12 Series of Decoders Datasheet April 11,2000
[7] 2017 Communication Matters,VOCAs