You are on page 1of 66

RFID BASED VOICE BANK ALERT SYSTEM FOR BLIND PEOPLE

ABSTRACT
We propose a new technology based assistive material reading framework
to help blind persons and product packaging from hand-held objects in their
daily lives. First we propose a camera input database which is processed by mat
labs. The proof-of-concept prototype is also evaluated on a dataset collected
using ten blind persons to evaluate the effectiveness of the systems hardware.
There are few devices that can provide good access to common hand-held
objects such as product packages, and objects printed with text such as
prescription medication bottles.
Then we propose a Voice bank APR 9600 IC for voice recording and
playback solution. It can record voice with the help of on-board microphone or
via any audio input. Camera acts as main vision in detecting the lable image of
the product or board then image is processed internally and separates label from
image by using open CV library and finally identifies the product and identified
product name is pronounced through voice. Now it identifies received label
image is converted to text by using tesseract library. Once the identified label
name is converted to text and converted text is displayed on display unit
connected to controller. Now converted text should be converted to voice to
hear label name as voice through ear phones connected to audio jack port using
file library.

CHAPTER 1
INTRODUCTION
Although many research done in historical document collection analysis
and recognition has focused on detection and analyzing scanned document.
Obstruct readability and decrease the performance because of large degradation
in document text images. Documents text reading is become difficult due to
aging of document, poor quality of ink, physical deterioration, blur. To avoid the
researches must be choose advance techniques for historical document image
text analysis. This document images text analysis not limited to only historical
document analysis one can have license number plate image, street name, sign
recognition and translation, electricity meters and so many area where text
reorganization is essential.
Reading is obviously essential in todays society. Printed text is
everywhere in the form of reports, receipts, bank statements, restaurant menus,
classroom handouts, product packages, instructions on medicine bottles, etc.
And while optical aids, video magnifiers, and screen readers can help blind
users and those with low vision to access documents, there are few devices that
can provide good access to common hand-held objects such as product
packages, and objects printed with text such as prescription medication bottles.
The ability of people who are blind or have significant visual
impairments to read printed labels and product packages will enhance
independent living and foster economic and social self-sufficiency. Today, there
are already a few systems that have some promise for portable use, but they
cannot handle product labeling. For example, portable bar code readers
designed to help blind people identify different products in an extensive product
database can enable users who are blind to access information about these
products through speech. But a big limitation is that it is very hard for blind
2

users to find the position of the bar code and to correctly point the bar code
reader at the bar code.
Some reading-assistive systems such as pen scanners might be employed
in these and similar situations. However, these systems are generally designed
for and perform best with document images with simple backgrounds, standard
fonts, a small range of font sizes, and well-organized characters rather than
commercial product boxes with multiple decorative patterns. Most state-of-theart OCR software cannot directly handle scene images with complex
background.
However, the document to be read must be nearly flat, placed on a clear,
dark surface, and contains mostly text. Furthermore, Reader Mobile accurately
reads black print on a white background, but has problems recognizing coloured
text or text on a coloured background. It cannot read text with complex
backgrounds, text printed on cylinders with warped or incomplete images (such
as soup cans or medicine bottles).
Furthermore, these systems require a blind user to manually localize areas
of interest and text regions on the objects in most cases. Although a number of
reading assistants have been designed specifically for the visually impaired, to
our knowledge, no existing reading assistant can read text from the kinds of
challenging patterns and backgrounds found on many everyday commercial
products.such text information can appear in multiple scales, fonts, colours, and
orientations.
Our proposed algorithm can effectively handle complex background and
multiple patterns, and extract text information from both hand-held objects and
nearby signage, In assistive reading systems for blind persons, it is very
challenging for users to position the object of interest within the centre of the
cameras view. As of now, there is still no acceptable solution.
3

We approach the problem in stages. To make sure the hand-held object


appears in the camera view, we use a camera with sufficiently wide angle to
accommodate users with only approximate aim. This may often result in other
text objects appearing in the cameras view (for example, while shopping at a
supermarket). To extract the hand-held object from the camera image.
We can use text detection, localization, and extraction interchangeably. In
this paper differentiate between these terms. Text detection consist of
determination of the presence of text in a given images. Text localization is the
process of determining the location of text in the image. Although the specific
location of text in an image can be getting, the text still needs to be segmented
from the background to make possible its recognition. In stage of text extraction
where the text components in images are segmented from the background. The
text region usually has low-resolution thats why enhancement of the
components is essential. After, the extracted text images can be converted
variable text patterns, we here propose a text localization algorithm that
combines rule based layout analysis and learning-based text classifier training,
which define novel feature maps based on stroke orientations and edge
distributions. These, in turn, generate representative and discriminative text
features to distinguish text characters from background outliers.
This system receives an input in the form of an image or video. The
images can be in color or gray scale, un-compressed or compressed, orientation.
This problem can be divided into the following sub-problems: (i) detection, (ii)
localization, (iii) extraction and enhancement and (iv) recognition.

CHAPTER 2
LITERATURE REVIEW
2. 1 Detecting and Reading Text in Natural Scene
It gives an algorithm for detecting and reading text in natural images. The
algorithm is intended for use by blind and visually impaired subjects walking
through city scenes. We first obtain a dataset of city images taken by blind and
normally sighted subjects. From this dataset, we manually label and extract the
text regions. Next we perform statistical analysis of the text regions to
determine which image features are reliable indicators of text and have low
entropy (i.e. feature response is similar for all text images).We obtain weak
classifiers by using joint probabilities for feature responses on and off text.
These weak classifiers are used as input to an AdaBoost machine learning
algorithm to train a strong classifier. In practice, we trained a cascade with 4
strong classifiers containing 79 features. An adaptive binarization and extension
algorithm is applied to those regions selected by the cascade classifier. A
commercial software is used to read the text or reject it as a non-text region. The
overall algorithm has a success rate of over 90%.
2.2 Automatic Detection and Recognition
We present an approach to automatic detection and recognition of signs
from natural scenes, and its application to a sign translation task. The proposed
approach embeds multiresolution and multiscale edge detection, adaptive
searching, colour analysis, and affine rectification in a hierarchical framework
for sign detection, with different emphases at each phase to handle the text in
different sizes, orientations, colour distributions and backgrounds. We use affine
rectification to recover deformation of the text regions caused by an
inappropriate camera view angle.
5

The procedure can significantly improve text detection rate accuracy.


Instead of using binary information, we extract features from an intensity image
directly.
We propose a local intensity normalization method to effectively handle
lighting variations, followed by a Gabor transform to obtain local features, and
finally a linear discriminator analysis (LDA) method for feature selection. We
have applied the approach in developing a Chinese sign translation system,
which can automatically detect and recognize Chinese signs as input from a
camera, and translate the recognized text into English.
2.3 Wearable Obstacle Avoidance
The last decades a variety of portable or wearable navigation systems
have been developed to assist visually impaired people during navigation in
known or unknown, indoor or outdoor environments. There are three main
categories of these systems: electronic travel aids (ETAs), electronic orientation
aids (EOAs), and position locator devices (PLDs). This paper presents a
comparative survey among portable/wearable obstacle detection/avoidance
systems (a subcategory of ETAs) in an effort to inform the research community
and users about the capabilities of these systems and about the progress in
assistive technology for visually impaired people. The survey is based on
various features and performance parameters of the systems that classify them
in categories, giving qualitative-quantitative measures.
Finally, it offers a ranking, which will serve only as a reference point and
not as a critique on these systems. Texture-based approach for text detection in
images using support vector machines and continuously adaptive mean shift
algorithm.The current paper presents a novel texture-based method for detecting
texts in images. A support vector machine (SVM) is used to analyze the textural
properties of texts. No external texture feature extraction module is used, but
6

rather the intensities of the raw pixels that make up the textural pattern are fed
directly to the SVM, which works well even in high-dimensional spaces. Next,
text regions are identified by applying a continuously adaptive mean shift
algorithm (CAMSHIFT) to the results of the texture analysis.
The combination of CAMSHIFT and SVMs produces both robust and
efficient text detection, as time-consuming texture analyses for less relevant
pixels are restricted, leaving only a small part of the input image to be textureanalyzed.
Context-based Indoor Object Detection as an Aid to Blind Persons
Accessing Unfamiliar Environments.Independent travel is a well known
challenge for blind or visually impaired persons. In this paper, we propose a
computer vision based indoor way finding system for assisting blind people to
independently access unfamiliar buildings. In order to find different rooms (i.e.
an office, a lab, or a bathroom) and other building amenities (i.e. an exit or an
elevator), we incorporate door detection with text recognition. First we develop
a robust and efficient algorithm to detect doors and elevators based on general
geometric shape, by combining edges and corners.
The algorithm is generic enough to handle large intra-class variations of
the object model among different indoor environments, as well as small interclass differences between different objects such as doors and elevators. Next, to
distinguish an office door from a bathroom door, we extract and recognize the
text information associated with the detected objects. We first extract text
regions from indoor signs with multiple colours.

CHAPTER 5
PROJECT DESCRIPTION

BLOCK DIAGRAM PROPOSED SYSTEM

Fig 4.1 Circuit Diagram of Proposed System


Our main contributions in this prototype system are a novel motionbased algorithm to solve the aiming problem for blind users by their simply
shaking the object of interest for a brief period; a novel algorithm of automatic
text localization to extract text regions from complex background and multiple
text pattern.

To walk safely and confidently without any human assistance in urban or


unknown environments is a difficult task for blind people. Visually impaired
people generally use either the typical white cane or the guide dog to travel
independently. But these methods are used only to guide blind people for safe
path movement.
Then received label image is converted to text. Once the identified label
name is converted to text and converted text is displayed on display unit
connected to controller.

Now converted text should be converted to voice to

hear label name as voice through ear phones connected to audio. Reading is
obviously essential in todays society. Printed text is everywhere in the form of
reports, receipts, bank statements, restaurant menus, classroom handouts,
product packages, instructions on medicine bottles, etc. And while optical aids,
video magnifiers, and screen readers can help blind users and those with low
vision to access documents, there are few devices that can provide good access
to common hand-held objects such as product packages, and objects printed
with text such as prescription medication bottles.
There are already a few systems that have some promise for portable use,
but they cannot handle product labelling. For example, portable bar code
readers designed to help blind people identify different products in an extensive
product database can enable users who are blind to access information about
these products through speech.
Atmel 89c51 microcontroller is used RFID based technology was used.It
is a challenging problem to automatically trap captured images with complex
backgrounds ,Usually the text in captured images is most likely surrounded by
multiple scales, fonts, and colors.

10

POWER SUPPLY UNIT


In most of our electronic products or projects we need a power supply for
converting mains AC voltage to a regulated DC voltage. For making a power
supply designing of each and every component is essential. Here Im going to
discuss the designing of regulated 5V Power Supply.
Lets start with very basic things the choosing of components
Component List :
1. Step down transformer
2. Voltage regulator
3. Capacitors
4. Diodes
Voltage regulator :
As we require a 5V we need LM7805 Voltage Regulator IC.
7805 IC Rating :
Input voltage range 7V- 35V
Current rating Ic = 1A
Output voltage range VMax=5.2V ,VMin=4.8V

11

OPERATION OF REGULATED POWER SUPPLY


STEP DOWN TRANSFORMER
A step down transformer will step down the voltage from the ac mains to
the required voltage level. The turns ratio of the transformer is so adjusted such
as to obtain the required voltage value. The output of the transformer is given as
an input to the rectifier circuit.
RECTIFICATION
Rectifier is an electronic circuit consisting of diodes which carries out the
rectification process. Rectification is the process of converting an alternating
voltage or current into corresponding direct (dc) quantity. The input to a rectifier
is ac whereas its output is unidirectional pulsating dc. Usually a full wave
rectifier or a bridge rectifier is used to rectify both the half cycles of the ac
supply (full wave rectification). Figure below shows a full wave bridge rectifier.

12

A bridge rectifier consists of four p-n junction diodes connected in the


above shown manner. In the positive half cycle of the supply the voltage
induced across the secondary of the electrical transformer i.e. VMN is positive.
Therefore point E is positive with respect to F. Hence, diodes D 3 and D2 are
reversed biased and diodes D1 and D4 are forward biased. The diode D3 and D2
will act as open switches (practically there is some voltage drop) and diodes D1
andD4 will act as closed switches and will start conducting.

Hence a rectified waveform appears at the output of the rectifier as shown


in the first figure. When voltage induced in secondary i.e. VMN is negative than
D3 and D2 are forward biased with the other two reversed biased and a positive
voltage appears at the input of the filter.
The rectified voltage from the rectifier is a pulsating dc voltage having
very high ripple content. But this is not we want, we want a pure ripple free dc
waveform. Hence a filter is used. Different types of filters are used such as
capacitor filter, LC filter, Choke input filter, type filter. Figure below shows a
capacitor filter connected along the output of the rectifier and the resultant
output waveform.
13

As the instantaneous voltage starts increasing the capacitor charges, it


charges till the waveform reaches its peak value. When the instantaneous value
starts reducing the capacitor starts discharging exponentially and slowly through
the load (input of the regulator in this case). Hence, an almost constant dc value
having very less ripple content is obtained.
REGULATION
This is the last block in a regulated DC power supply. The output voltage
or current will change or fluctuate when there is change in the input from ac
mains or due to change in load current at the output of the regulated power
supply or due to other factors like temperature changes. This problem can be
eliminated by using a regulator. A regulator will maintain the output constant
even when changes at the input or any other changes occur.

14

Transistor series regulator, Fixed and variable IC regulators or a zener


diode operated in the zener region can be used depending on their applications.
ICs like 78XX and 79XX are used to obtained fixed values of voltages at the
output. With ICs like LM 317 and 723 etc we can adjust the output voltage to a
required constant value. Figure below shows the LM317 voltage regulator. The
output voltage can be adjusted with adjusting the values of resistances R1 and
R2. Usually coupling capacitors of values about 0.01F to 10F needs to be
connected at the output and input to address input noise and output transients.

Ideally

the

output

voltage

is

given

by

Figure below shows the complete circuit of a regulated +5V DC power


supply using transformer, bridge rectifier, filter (smoothing) and a fixed +5 V
voltage regulator. Here we can use IC 7803(for 3V),7809(for 9 V),7812(for
12V) etc.

15

Application of Regulated Power Supply

Regulated power supply is the main component of


electrical,electronics and as well as automation equipment.
Mobile phone charger, oscilator, amplifier are needed the
regulated power supply
Understanding 7805 IC Voltage Regulator
A regulated power supply is very much essential for several electronic
devices due to the semiconductor material employed in them have a fixed rate
of current as well as voltage. The device may get damaged if there is any
deviation from the fixed rate. The AC power supply gets converted into constant
DC by this circuit. By the help of a voltage regulator DC, unregulated output
will be fixed to a constant voltage.

16

The circuit is made up of linear voltage regulator 7805 along with


capacitors and resistors with bridge rectifier made up from diodes. From giving
an unchanging voltage supply to building confident that output reaches
uninterrupted to the appliance, the diodes along with capacitors handle elevated
efficient signal conveyal.
As we have previously talked about that regulated power supply is a
device that mechanized on DC voltages and also it can uphold its output
accurately at a fixed voltage all the time although if there is a significant
alteration in the DC input voltage.ICs regulator is mainly used in the circuit to
maintain the exact voltage which is followed by the power supply. A regulator is
mainly employed with the capacitor connected in parallel to the input terminal
and the output terminal of the IC regulator.
For the checking of gigantic alterations in the input as well as in the
output filter, capacitors are used. While the bypass capacitors are used to check
the small period spikes on the input and output level. Bypass capacitors are
mainly of small values that are used to bypass the small period pulses straightly
into the Earth.A circuit diagram having regulator IC and all the above discussed
components arrangement revealed in the figure below.

As we have made the whole circuit till now to be operated on the 5V DC


supply, so we have to use an IC regulator for 5V DC. And the most generally

17

used IC regulators get into the market for 5V DC regulation use is 7805. So we
are connecting the similar IC in the circuit as U1.
IC 7805 is a DC regulated IC of 5V. This IC is very flexible and is widely
employed in all types of circuit like a voltage regulator. It is a three terminal
device and mainly called input , output and ground. Pin diagram of the IC 7805
is shown in the diagram below.

The output generated from the unregulated DC output is susceptible to


the fluctuations of the input signal.IC voltage regulator is connected with
bridge rectifier in series in these project so to steady the DC output against the
variations in the input DC voltage.To obtain a stable output of 5V, IC 7805 is
attached with 6-0-6V along with 500mA step down transformer as well as with
rectifier.To suppress the oscillation which might generate in the regulator IC, C2
capacitor of 0.1 uF value is used.
When the power supply filter is far away from the regulated IC capacitor
C2 is used.Ripple rejection in the regulator is been improved by C4
capacitor(35uf) by avoiding the ripple voltage to be amplified at the regulator
output.The output voltage is strengthen and deduction of the output voltage is
done capacitor C3(0.1uF). To avoid the chance of the input get shorted D5 diode
18

is used to save the regulator. If D5 is not presented in the circuit, the output
capacitor can leave its charge immediately during low impedance course inside
the regulators.

ARDUINO MICROCONTROLLER
The Arduino microcontroller is an easy to use yet powerful single board
computer that has gained considerable traction in the hobby and professional
market. The Arduino is open-source, which means hardware is reasonably
priced and development software is free. This guide is for students in ME 2011,
or students anywhere who are confronting the Arduino for the first time. For
advanced Arduino users, prowl the web; there are lots of resources.
The Arduino project was started in Italy to develop low cost hardware for
interaction design. An overview is on the Wikipedia entry for Arduino. The
Arduino hardware comes in several flavors. In the United States, Sparkfun
(www.sparkfun.com) is a good source for Arduino hardware. The Arduino
board, you can write programs and create interface circuits to read switches and
other sensors, and to control motors and lights with very little effort. Many of
the pictures and drawings in this guide were taken from the documentation on
the Arduino site, the place to turn if you need more information. The Arduino
section covers more on interfacing the Arduino to the real world.
The Duemilanove board features an Atmel ATmega328 microcontroller operating
at 5 V with 2 Kb of RAM, 32 Kb of flash memory for storing programs and 1 Kb
of EEPROM for storing parameters. The clock speed is 16 MHz, which translates
to about executing about 300,000 lines of C source code per second. The board has
14 digital I/O pins and 6 analog input pins. There is a USB connector for talking to
the host computer and a DC power jack for connecting an external 6-20 V power
source, for example a 9 V battery, when running a program while not connected to
19

the host computer. Headers are provided for interfacing to the I/O pins using 22 g
solid wire or header connectors.
An Arduino board historically consists of an Atmel 8-, 16- or
32-bit AVR microcontroller (although since 2015 other makers' microcontrollers
have been used) with complementary components that facilitate programming and
incorporation into other circuits. An important aspect of the Arduino is its standard
connectors, which lets users connect the CPU board to a variety of interchangeable
add-on modules known as shields.
Some shields communicate with the Arduino board directly over various
pins, but many shields are individually addressable via an IC serial busso many
shields can be stacked and used in parallel. Prior to 2015 Official Arduinos had
used

the

AtMel megaAVR series

of

chips,

specifically

the ATmega8, ATmega168, ATmega328, ATmega1280, and ATmega2560 and in


2015 units by other manufacturers were added. A handful of other processors have
also been used by Arduino compatibles. Most boards include a 5 V linear
regulator and a 16 MHz crystal oscillator (or ceramic resonator in some variants),
although some designs such as the LilyPad run at 8 MHz and dispense with the
onboard voltage regulator due to specific form-factor restrictions.
An Arduino's microcontroller is also pre-programmed with a boot
loader that simplifies uploading of programs to the on-chip flash memory,
compared with other devices that typically need an external programmer. This
makes using an Arduino more straightforward by allowing the use of an ordinary
computer as the programmer. Currently, optiboot bootloader is the default
bootloader installed on Arduino UNO.
At a conceptual level, when using the Arduino integrated development
environment, all boards are programmed over a serial connection. Its
20

implementation varies with the hardware version. Some serial Arduino boards
contain a level shifter circuit to convert between RS-232 logic levels and TTL-level
signals. Current Arduino boards are programmed via Universal Serial Bus (USB),
implemented using USB-to-serial adapter chips such as the FTDI FT232.
Some boards, such as later-model Uno boards, substitute the FTDI chip with a
separate AVR chip containing USB-to-serial firmware, which is reprogrammable
via its own ICSP header. Other variants, such as the Arduino Mini and the
unofficial Boarduino, use a detachable USB-to-serial adapter board or
cable, Bluetooth or other methods, when used with traditional microcontroller tools
instead of the Arduino IDE, standard AVR ISP programming is used.
The Arduino board exposes most of the microcontroller's I/O pins for use
by other circuits. The Diecimila, Duemilanove, and current Uno provide 14 digital
I/O pins, six of which can produce pulse-width modulated signals, and six analog
inputs, which can also be used as six digital I/O pins. These pins are on the top of
the board, via female 0.10-inch (2.5 mm) headers. Several plug-in application
shields are also commercially available.
The Arduino Nano, and Arduino-compatible Bare Bones Board [9] and Boarduino
boards may provide male header pins on the underside of the board that can plug
into solderless breadboards.
There are many Arduino-compatible and Arduino-derived boards. Some are
functionally equivalent to an Arduino and can be used interchangeably. Many
enhance the basic Arduino by adding output drivers, often for use in school-level
education to simplify the construction of buggies and small robots. Others are
electrically equivalent but change the form factor, sometimes retaining
compatibility with shields, sometimes not. Some variants use completely different
processors, with varying levels of compatibility.
21

Digital Pins
In addition to the specific functions listed below, the digital pins on an
Arduino board can be used for general purpose input and output via the
pinMode(), digitalRead(), and digitalWrite() commands. Each pin has an
internal pull-up resistor which can be turned on and off using digitalWrite() (w/
a value of HIGH or LOW, respectively) when the pin is configured as an input.
The maximum current per pin is 40 mA.
Serial: 0 (RX) and 1 (TX).
Used to receive (RX) and transmit (TX) TTL serial data. On the Arduino
Diecimila, these pins are connected to the corresponding pins of the FTDI USBto-TTL Serial chip. On the Arduino BT, they are connected to the corresponding
pins of the WT11 Bluetooth module. On the Arduino Mini and LilyPad Arduino,
they are intended for use with an external TTL serial module (e.g. the MiniUSB Adapter). 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 attachInterrupt() function for details.
22

PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analogWrite()
function. On boards with an ATmega8, PWM output is available only on pins 9,
10, and 11.
BT Reset: 7. (Arduino BT-only) Connected to the reset line of the bluetooth
module.
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI
communication, which, although provided by the underlying hardware, is not
currently included in the Arduino language.
LED: 13. On the Diecimila and LilyPad, 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.
Analog Pins
In addition to the specific functions listed below, the analog input pins
support 10-bit analog-to-digital conversion (ADC) using the analogRead()
function. Most of the analog inputs can also be used as digital pins: analog input
0 as digital pin 14 through analog input 5 as digital pin 19. Analog inputs 6 and
7 (present on the Mini and BT) cannot be used as digital pins.
I2C: 4 (SDA) and 5 (SCL). Support I2C (TWI) communication using the Wire
library .
Power Pins
VIN (sometimes labelled "9V"). 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.
Note that different boards accept different input voltages ranges, please
see the documentation for your board. Also note that the LilyPad has no VIN
pin and accepts only a regulated input. 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
23

regulated 5V supply. 3V3. (Diecimila-only) A 3.3 volt supply generated by the


on-board FTDI chip. GND. Ground pins.
Other Pins
AREF. Reference voltage for the analog inputs. Used with analogReference().
Reset.

(Diecimila-only)

Bring

this

line

LOW

to

reset

the

microcontroller.Typically used to add a reset button to shields which block the


one on the board.

DRIVER CIRCUIT
A relay is an electrically operated switch. Many relays use an
electromagnet to operate a switching mechanism mechanically, but other
operating principles are also used. Relays are used where it is necessary to
control a circuit by a low-power signal (with complete electrical isolation
between control and controlled circuits), or where several circuits must be
controlled by one signal.

The first relays were used in long distance telegraph circuits, repeating
the signal coming in from one circuit and re-transmitting it to another. Relays
were used extensively in telephone exchanges and early computers to perform
logical operations.
A type of relay that can handle the high power required to directly control
an electric motor or other loads is called a contactor. Solid-state relays control
power circuits with no moving parts, instead using a semiconductor device to
perform switching. Relays with calibrated operating characteristics and
sometimes multiple operating coils are used to protect electrical circuits from
overload or faults; in modern electric power systems these functions are
performed by digital instruments still called "protective relays".
24

Basic Design and Operation:


A simple electromagnetic relay consists of a coil of wire wrapped around
a soft iron core, an iron yoke which provides a low reluctance path for magnetic
flux, a movable iron armature, and one or more sets of contacts (there are two in
the relay pictured). The armature is hinged to the yoke and mechanically linked
to one or more sets of moving contacts.
It is held in place by a spring so that when the relay is de-energized there
is an air gap in the magnetic circuit. In this condition, one of the two sets of
contacts in the relay pictured is closed, and the other set is open. Other relays
may have more or fewer sets of contacts depending on their function. The relay
in the picture also has a wire connecting the armature to the yoke. This ensures
continuity of the circuit between the moving contacts on the armature, and the
circuit track on the printed circuit board (PCB) via the yoke, which is soldered
to the PCB.

25

When an electric current is passed through the coil it generates a


magnetic field that activates the armature, and the consequent movement of the
movable contact(s) either makes or breaks (depending upon construction) a
connection with a fixed contact. If the set of contacts was closed when the relay
was de-energized, then the movement opens the contacts and breaks the
connection, and vice versa if the contacts were open.
When the current to the coil is switched off, the armature is returned by a
force, approximately half as strong as the magnetic force, to its relaxed position.
Usually this force is provided by a spring, but gravity is also used commonly in
industrial motor starters.
Most relays are manufactured to operate quickly. In a low-voltage
application this reduces noise; in a high voltage or current application it reduces
arcing.
When the coil is energized with direct current, a diode is often placed
across the coil to dissipate the energy from the collapsing magnetic field at
deactivation, which would otherwise generate a voltage spike dangerous to
semiconductor circuit components. Some automotive relays include a diode
inside the relay case.

26

Alternatively, a contact protection network consisting of a capacitor and


resistor in series (snubber circuit) may absorb the surge. If the coil is designed
to be energized with alternating current (AC), a small copper "shading ring" can
be crimped to the end of the solenoid, creating a small out-of-phase current
which increases the minimum pull on the armature during the AC cycle.[1]
A solid-state relay uses a thyristor or other solid-state switching device,
activated by the control signal, to switch the controlled load, instead of a
solenoid. An optocoupler (a light-emitting diode (LED) coupled with a photo
transistor) can be used to isolate control and controlled circuits.
Applications:
Relays are used for:
Amplifying a digital signal, switching a large amount of power with a
small operating power. Some special cases are:
o A telegraph relay, repeating a weak signal received at the end of a
long wire
o Controlling a high-voltage circuit with a low-voltage signal, as in
some types of modems or audio amplifiers,
o Controlling a high-current circuit with a low-current signal, as in
the starter solenoid of an automobile.
Detecting and isolating faults on transmission and distribution lines by
opening and closing circuit breakers (protection relays),Switching to a
standby power supply.

27

SWITCHS
In electrical engineering, a switch is an electrical component that can
break an electrical circuit, interrupting the current or diverting it from one
conductor to another.[1][2] The mechanism of a switch may be operated directly
by a human operator to control a circuit (for example, a light switch or a
keyboard button), may be operated by a moving object such as a door-operated
switch, or may be operated by some sensing element for pressure, temperature
or flow. A relay is a switch that is operated by electricity. Switches are made to
handle a wide range of voltages and currents; very large switches may be used
to isolate high-voltage circuits in electrical substations.

28

The

most

familiar

form

of

switch

is

manually

operated electromechanical device with one or more sets of electrical contacts,


which are connected to external circuits. Each set of contacts can be in one of
two states: either "closed" meaning the contacts are touching and electricity can
flow between them, or "open", meaning the contacts are separated and the
switch is nonconducting.
The mechanism actuating the transition between these two states (open or
closed) can be either a "toggle" or "momentary" type.

A switch may be directly manipulated by a human as a control signal to a


system, such as a computer keyboard button, or to control power flow in a
circuit, such as a light switch. Automatically operated switches can be used to
control the motions of machines, for example, to indicate that a garage door has
reached its full open position or that a machine tool is in a position to accept
another workpiece.
Switches may be operated by process variables such as pressure,
temperature, flow, current, voltage, and force, acting assensors in a process and
used to automatically control a system. For example, a thermostat is a
temperature-operated switch used to control a heating process. A switch that is
operated by another electrical circuit is called a relay.

29

Large switches may be remotely operated by a motor drive mechanism.


Some switches are used to isolate electric power from a system, providing a
visible point of isolation that can be padlocked if necessary to prevent
accidental operation of a machine during maintenance, or to prevent electric
shock.
An ideal switch would have no voltage drop when closed, and would
have no limits on voltage or current rating. It would have zero rise time and fall
time during state changes, and would change state without "bouncing" between
on and off positions.
Practical switches fall short of this ideal; they have resistance, limits on
the current and voltage they can handle, finite switching time, etc. The ideal
switch is often used in circuit analysis as it greatly simplifies the system of
equations to be solved, but this can lead to a less accurate solution. Theoretical
treatment of the effects of non-ideal properties is required in the design of large
networks of switches, as for example used in telephone exchanges.

Connections
In the simplest case, a switch has two conductive pieces, often metal,
called contacts, connected to an external circuit, that touch to complete (make)
the circuit, and separate to open (break) the circuit. The contact material is
30

chosen

for

its

resistance

to corrosion,

because

most

metals

form insulating oxidesthat would prevent the switch from working. Contact
materials

are

also

chosen

on

the

basis

of electrical

conductivity, hardness (resistance to abrasive wear),mechanical strength, low


cost and low toxicity.
Sometimes the contacts are plated with noble metals. They may
be designed to wipe against each other to clean off any contamination.
Nonmetallicconductors, such as conductive plastic, are sometimes used. To
prevent the formation of insulating oxides, a minimum wetting current may be
specified for a given switch design.

In electronics, switches are classified according to the arrangement of


their contacts. A pair of contacts is said to be "closed" when current can flow
from one to the other. When the contacts are separated by an insulating air gap,
they are said to be "open", and no current can flow between them at normal
voltages. The terms "make" for closure of contacts and "break" for opening of
contacts are also widely used.
The terms pole and throw are also used to describe switch contact
variations. The number of "poles" is the number of electrically separate
switches which are controlled by a single physical actuator. For example, a "231

pole" switch has two separate, parallel sets of contacts that open and close in
unison via the same mechanism. The number of "throws" is the number of
separate wiring path choices other than "open" that the switch can adopt for
each pole. A single-throw switch has one pair of contacts that can either be
closed or open. A double-throw switch has a contact that can be connected to
either of two other contacts, a triple-throw has a contact which can be connected
to one of three other contacts, etc.
In a switch where the contacts remain in one state unless actuated, such as
a push-button switch, the contacts can either benormally open (abbreviated
"n.o." or "no") until closed by operation of the switch, or normally closed ("n.c."
or "nc") and opened by the switch action. A switch with both types of contact is
called a changeover switch. These may be "make-before-break" which
momentarily connects both circuits, or may be "break-before-make" .which
interrupts one circuit before closing the other.

Types of switches

32

Inductive loads
Incandescent loads
Wetting current
Biased switches
Rotary switch
Toggle switch
Mercury tilt switch

UART
A UART (Universal Asynchronous Receiver and Transmitter) is a device
allowing the reception and transmission of information, in a serial and
asynchronous way. A UART allows the communication between a computer and
several kinds of devices (printer, modem, etc), interconnected via an RS-232
cable.
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.

PROCESSOR

UART

RS232
CONNECTOR

33

Fig 5.2 UART Serial Communication

5.2.1 SERIAL TRANSMISSION


Data transmission is made by the UART in a serial way, by 11-bit blocks:

A 0 bit marks the starting point of the block.


Eight bits for data.
One parity bit.
A 1 bit marking the end of the block.
The transmission and reception lines should hold a 1.
Data is transmitted.
The first transmitted bit is the LSB (least significant bit).

The parity bit is set to 1 or 0, depending on the number of 1's transmitted.


if even parity is used, this number should be even .If odd parity is used, this
number should be odd. If the chosen parity is not respected in the block, a
transmission error should be detected .The transmission speed is fixed,
measured in bauds .The meaning of signals is:

parityerr: error during the block reception

Framingerr: format error during the block reception


Overrun: a new data is arrived before reading of the precedent data
Rxrdy: a new data is arrived and it's ready for reading
TXRDY: a new data is ready for sending
Read: reading of the receiver's data is activated
Write: writing of the emitter's data is activated
Data: 8-bit data, read or written
Tx: output bit
Rx: input bit
5.2.2 DIVISION OF UART
34

Data Emission
Data Reception
5.2.2.1 DATA EMISSION
To test signal TXRDY is active. If yes, a 8-bit data can be written in the
emitter. Place the 8-bit data in the input and to active the write signal .The
UART sends the 8 bits, via the TX signal. During transmission, the TXRDY
signal should be inactive. At the end of the emission, TXRDY should be active
again et TX set to 1.
5.2.2.2 DATA RECEPTION
The 8 bits of information arrive in a serial way, at any moment, via the
RX Signal. The starting point is given par a 0 value of RX. The UART places
the 8 bits in a parallel way over Data out, and announces their availability
setting rxrdy active .The information reading is made active with the read
signal.
5.2.3 RS-232 CONNECTOR
The J3 connector provides a standard RS-232 connection .The pins of J3
are directly connected to the FPGA, allowing an internal implementation of the
serial controller. It's possible to implement two UART without hardware
handshaking

35

Fig 5.2.3 RS232 Connector

5.3 MAX 232

Fig 5.3 Pin Diagram of MAX232


The MAX232 is an ic, that converts signals from an RS-232 serial port to
signals suitable for use in TTL compatible digital logic circuits. The max232 is
a dual driver/receiver and typically converts the RX, TX, CTS and RTS signals.
5.3.1 FEATURES OF DESCRIPTION

36

The MAX232 device is a dual driver/receiver that Meets or Exceeds


TIA/EIA-232-F and ITU Recommendation V.28 includes a capacitive voltage
generator to supply TIA/EIA-232-F voltage levels from a single 5-V.
Operates from a Single 5-V Power Supply With supply. Each receiver converts

TIA/EIA-232-F inputs.
1.0-F Charge-Pump Capacitors to 5-V TTL/CMOS levels.
Operates up to 120 Kbit/s typical threshold of 1.3 V, a typical hysteresis of 0.5.
Two Drivers and Two Receivers V, and can accept 30-V inputs.
TTL/CMOS input levels into TIA/EIA-232-F levels.
30-V Input Levels.
Low Supply Current: 8 mA Typical Device Information.
Upgrade With Improved ESD (15-kV HBM) and SOIC (16) 10.30 mm 7.50

mm MAX232x.
0.1-F Charge-Pump Capacitors is Available With PDIP (16) 19.30 mm 6.35
mm.
The MAX232 device is a dual driver/receiver that includes a capacitive voltage
generator.
Supply TIA/EIA-232-F voltage levels from a single 5-V supply. Each receiver
converts TIA/EIA-232-F inputs to 5-v supply.
VTTL/CMOS levels. These receivers have a typical threshold of 1.3 V, a
typical hysteresis of 0.5 V.
Accept 30-V inputs. Each driver converts TTL/CMOS input levels into
TIA/EIA-232-F levels. The driver, receiver,
Voltage generator functions are available as cells in the Texas Instruments Lin
ASIC library. Outputs are protected against shorts to ground.
5.3.2 APPLICATIONS OF MAX232

TIA/EIA-232-F
Battery-Powered Systems
Terminals
Modems
Computers

5.3.3 FEATURE DESCRIPTION


37

5.3.3.1 POWER
The power block increases and inverts the 5V supply for the RS232 driver
using a charge pump that requires four 1-F external capacitors.
5.3.4.2 RS232 DRIVER
Two drivers interface standard logic level to RS232 levels. Internal pull
up resistors on TIN inputs ensures a high input when the line is high impedance.
5.3.4.3 RS232 RECEIVER
Two receivers interface RS232 levels to standard logic levels. An open
input will result in a high output on ROUT.
5.3.4.4 VCC POWERED BY 5V
The device will be in normal operation.
5.3.4.5 VCC UNPOWERED
When MAX232 is unpowered, it can be safely connected to an active
remote RS232 device.
5.4 POWER SUPPLY MODULE
TF2, restoring electricity to the load. The transfer switch continues
to monitor utility power, and when it is restored, switches the load from the
Transformer TF2 back to the Main transformer TF1. Once the Transformer TF2
is disconnected, it goes through a cool-down routine and is automatically shut
down.

38

Fig 5.4 Block Diagram of Power Supply Source


Automatic mains changeover switch for uninterrupted power supply is an
integral part of the power control process, allowing smooth and immediate
transfer of electrical current between multiple sources and the load. Here we are
using two transformers TF1 (Main transformer) and TF2 (Backup transformer).
The transfers switch senses when utility power is interrupted, and starts up the
transformer TF2 which acts as a backup transformer. If the utility power
remains absent, the transfer switch disconnects the load from the utility and
connects it to the Transformer.
The present system is designed around two transformers. One transformer
(TF1) is used as the main supply and the other transformer (TF2) is used in the
place of the generator (for demo purpose). These two transformers are
connected with the relay which is controlled by the embedded controller. The
loads are connected to the main line (TF1) and as well as to the TF2. Initially
TF1 is connected to the load, the loads run with this power. Due to any reason
this power is interrupted, then it is identified by the controller and it
immediately switches ON to the TF2 through the relay. The controller
39

continuously monitors the TF1 (main line). When it finds the power on it again
switches the loads connection to the main line.
A power supply is a device that supplies electric power to an electrical
load. The term is most commonly applied to electric power converters that
convert one form of electrical energy to another, though it may also refer to
devices that convert another form of energy (mechanical, chemical, solar) to
electrical energy. A regulated power supply is one that controls the output
voltage or current to a specific value; the controlled value is held nearly
constant despite variations in either load current or the voltage supplied by the
power supply's energy source.
5.5 VOICE BANK MODULE
APR9600 was a low cost high performance sound record/play IC .Single chip,
high quality voice recording and playback solution.User friendly, Easy to use
operation.Non - Volatile - flash memory technology, no battery backup
required.4-8 KHz sampling rate.Can record voice with the help of on-board
microphone or via any audio input. set up to create a specific interrogation zone
which can be tightly controlled. This allows a highly defined reading area for
when tags go in and out of the interrogation zone. Mobile readers may be handheld or mounted on carts or vehicle.

40

Fig 5.5 Voice Bank Module


APR9600 is a low-cost high performance sound record/replay IC
incorporating flash analogue storage technique. Recorded sound is retained even
after power supply is removed from the module. The replayed sound exhibits
high quality with a low noise level. Sampling rate for a 60 second recording
period is 4.2 kHz that gives a sound record/replay bandwidth of 20Hz to 2.1
KHZ .
This shortens the total length of sound recording to 32 seconds. Total
sound recording time can be varied from 32 seconds to 60 seconds by changing
the value of a single resistor. The IC can operate in one of two modes: serial
mode and parallel mode. In serial access mode, sound can be recorded in 256
sections. In parallel access mode, sound can be recorded in 2, 4 or 8 sections.
The IC can be controlled simply using push button keys. It is also possible to
control the IC using external digital circuitry such as micro-controllers and
computers. The APR9600 has a 28 pin DIP package. Supply voltage is between
4.5V to 6.5V.
41

During recording and replaying, current consumption is 25 MA. In idle


mode, the current drops to 1 MA. The APR9600 experimental board is an
assembled PCB board consisting of an APR9600 IC, an electrets microphone,
support components and necessary switches to allow users to explore all
functions of the APR9600 chip. The oscillation resistor is chosen so that the
total recording period is 60 seconds with a sampling rate of 4.2 kHz. The board
measures 80mm by 55mm.
During sound recording, sound is picked up by the microphone. A
microphone pre-amplifier amplifies the voltage signal from the microphone. An
AGC circuit is included in the pre-amplifier, the extent of which is controlled by
an external capacitor and resistor. If the voltage level of a sound signal is around
100 mV peak to- peak, the signal can be fed directly into the IC through ANA
IN pin (pin 20). The sound signal passes through a filter and a sampling and
hold circuit. The analogue voltage is then written into non-volatile flash
analogue RAMs. It has a 28 pin DIP package. Supply voltage is between 4.5V
to 6.5V. During recording and replaying, current consumption is 25 MA. In idle
mode, the current drops to 1 mA.
5.5.1 MODES OF APR9600 MODULE
5.5.1.1 PARALLEL MODE RECORDING AND REPLAYING
Record sound tracks is an example of recording 8 sound tracks. The mode
switch should have the following pattern: MSEL1=1(switched to left-hand side
of the mode selection switch), MSEL2=1 (left-hand side). M8=1 (left-hand
side). RE=0 (right-hand side). The maximum length of the 8 tracks is 7.5
seconds. Press M1 continuously and you will see BUZY LED illuminates. The
sound signal passes through a filter and a sampling and hold circuit. The
analogue voltage is then written into non-volatile flashanalogue RAMs. It has a
28 pin DIP package.
42

Fig 5.5.1 pin diagram of APR9600

43

The output delivered in microphone. Recording will terminate if M1 is


released

or

if

the

recording

time

exceeds

7.5seconds.

Fig 5.5.1.1 APR9600 MODULE With Connector

5.5.2 SERIAL MODE RECORDING AND REPLAYING


Record sound track sequentially is an example of recording sequential
sound tracks. The mode switch should have the following pattern:
MSEL1=0(switched to right-hand side of the mode selection switch), MSEL2=0
(right-hand side). M8=1 (left-hand side). RE=0 (right-hand side). Press CE
first to reset the sound track counter to zero. Press and hold M1 down and you
will see BUZY LED illuminates. You can now speak to the microphone.
44

Recording will terminate if M1 is released or if the recording time exceeds 60


seconds (in this case you will run out the memory for your next sound track).
Press M1 again and again to record 2nd, 3rd , 4th and other consecutive sound
tracks. Each sound track may have different lengths, but the accumulated length
of all sound tracks will not exceed 60 seconds.

VOICE BANK APR 9600


Voice banking is the recording of one's natural voice for the possible
eventuality of losing one's voice. Software then uses these recordings in
a speech generating device or using software on a computer so that the user may
communicate using a facsimile of their voice. Patients diagnosed with ALS will
often eventually lose their voices, so are urged to bank their voices for this
purpose.
The APR9600 device offers true single-chip voice recording,non-volatile
storage, and playback capability for 40 to 60 seconds. The device supports both
random and sequential access of multiple messages. Sample rates are userselectable, allowing designers to customize their design for unique quality and
storage time needs. Integrated output amplifier, microphone amplifier, and AGC
circuits greatly simplify system design.

45

The device is ideal for use in portable voice recorders, toys, and many
other consumer and industrial applications.APLUS integrated achieves these
high levels of storage capability by using its proprietary analog/multilevel
storage technology implemented in an advanced Flash non-volatile memory
process, where each memory cell can store 256 voltage levels.
This technology enables the APR9600 device to reproduce voice signals
in their natural form. It eliminates the need for encoding and compression,
which often introduce distortion.
Message Management General Description Playback and record
operations are managed by on-chip circuitry. There are several available
messaging modes depending upon desired operation. These message modes
determine message management style, message length, and external parts count.
Therefore, the designer must select the appropriate operating mode before
beginning the design. Operating modes do not affect voice quality; for
information on factors affecting quality refer to the Sampling Rate & Voice
Quality section. The device supports five message management modes (defined
by the MSEL1, MSEL2 and /M8_OPTION pins ).
Random access mode with 2, 4, or 8 fixed-duration messages Tape mode,
with multiple variable-duration messages, provides two options: - Auto rewind
Normal Modes cannot be mixed. Switching of modes after the device has
recorded an initial message is not recommended. If modes are switched after an
initial recording has been made some unpredictable message fragments from the
previous mode may remain present, and be audible on playback, in the new
mode.These fragments will disappear after a Record operation in the newly
selected mode. the decoding necessary to choose the desired mode.

46

An important feature of the APR9600 Message management capabilities


is the ability to audibly prompt the user to change in the device's status through
the use of "beeps" superimposed on the device's output. This feature is enabled
by asserting a logic high level on the BE pin.
Features :
Single-chip, high-quality voice recording & playback solution
- No external ICs required
- Minimum external components
Non-volatile Flash memory technology
- No battery backup required
User-Selectable messaging options
- Random access of multiple fixed-duration messages
- Sequential access of multiple variable-duration messages
User-friendly, easy-to-use operation
- Programming & development systems not required
- Level-activated recording & edge-activated play back switches
Low power consumption
- Operating current: 25 mA typical
- Standby current: 1 uA typical
- Automatic power-down
Chip Enable pin for simple message expansion

General Description:

47

The APR9600 device offers true single-chip voice recording, non-volatile


storage, and playback capability for 40 to 60 seconds. The device supports both
random and sequential access of multiple messages. Sample rates are userselectable, allowing designers to customize their design for unique quality and
storage time needs. Integrated output amplifier, microphone amplifier, and AGC
circuits greatly simplify system design.
The device is ideal for use in portable voice recorders, toys, and many
other consumer and industrial applications. APLUS integrated achieves these
high levels of storage capability by using its proprietary analog/multilevel
storage technology implemented in an advanced Flash non-volatile memory
process, where each memory cell can store 256 voltage levels.
This technology enables the APR9600 device to reproduce voice signals
in their natural form. It eliminates the need for encoding and compression,
which often introduce distortion.

PIN DIAGRAM

48

APR9600 block diagram is included in order to describe the device's


internal architecture. At the left hand side of the diagram are the analog inputs.
A differential microphone amplifier, including integrated AGC, is included onchip for applications requiring use. The amplified microphone signals fed into
the device by connecting the ANA_OUT pin to the ANA_IN pin through an
external DC blocking capacitor. Recording can be fed directly into the ANA_IN
pin through a DC blocking capacitor, however, the connection between
ANA_IN and
ANA_OUT is still required for playback.
The next block encountered by the input signal is the internal antialiasing filter. The filter automatically adjusts its response according to the
sampling frequency Selected so Shannons Sampling Theorem is satisfied. After
anti-aliasing filtering is accomplished the signal is ready to be clocked into the
memory array. This storage is accomplished through a combination of the and
Hold circuit and the Analog Write/Read circuit.
These circuits are clocked by either the Internal Oscillator or an external
clock source. When playback is desired the previously stored recording is
retrieved from memory, low pass filtered, and amplified as shown on the right
hand side of the diagram. The signal can be heard by connecting a speaker to
the SP+ and SP- pins. Chip-wide management is accomplished through the
device control block. The upper right hand corner. Message management is
49

provided through the message control block represented in the lower center of
the block diagram.
More detail on actual device application can be found in the Sample
Application section. More detail on sampling control can be found in the
Sample Rate and Voice Quality section. More detail on Message management
and device control can be found in the Message Management section.

CIRCUIT DIAGRAM FOR APR 9600


Functional Description of Playback Random Access Mode
On power up, the device is ready to record or playback, in any of the
enabled message segments. To playback,/CE must be set low to enable the
device and /RE must be set high to disable recording & enable playback. You
initiate playback by applying a high to low edge on the message trigger pin that
represents the message segment you intend to playback. Playback will continue
until the end of the message is reached. If a high to low edge occurs on the same

50

message trigger pin during playback, playback of the current message stops
immediately.

If a different message trigger pin pulses during playback, playback of the


current message stops immediately (indicated by one beep) and playback of the
new message segment begins. A delay equal to 8,400 cycles of he sample clock
will be encountered before the device starts playing the new message. If a
message trigger pin is held low, the selected message is played back repeatedly
as long as the trigger pin stays low. A period of silence, of duration equal to
8,400 cycles of the sampling clock, will be inserted during looping as an
indicator to the user of the transition between the end and the beginning of the
message.
Tape Mode :
Tape mode manages messages sequentially much like traditional cassette
tape recorders. Within tape mode two options exist, auto rewind and normal.
Auto rewind mode configures the device to automatically rewind to the
beginning of the message immediately following recording or playback of the
message. In tape mode, using either option, messages must be recorded or
played back sequentially, much like a traditional cassette tape recorder
Function Description of Recording in Tape Mode using the Auto Rewind
Option
On power up, the device is ready to record or playback, starting at the
first address in the memory array. To record, /CE must be set low to enable the
device and /RE must be set low to enable recording. A falling edge of the
/M1_MESSAGE pin initiates voice recording (indicated by one beep).A
subsequent rising edge of the /M1_MESSAGE pin during recording stops the
recording (also indicated by one beep).
51

If the M1_MESSAGE pin is held low beyond the end of the available
memory, recording will stop automatically (indicated by two beeps). The device
will then assert a logic low on the /M7_END pin until the /M1 Message pin is
released. The device returns to standby mode when the /M1_MESSAGE pin
goes high again.
After recording is finished the device will automatically rewind to the
beginning of the most recently recorded message and wait for the next user
input. The auto rewind function is convenient because it allows the user to
immediately playback and review the message without the need to rewind.
However, caution must be practiced because a subsequent record operation will
overwrite the last recorded message unless the user remembers to pulse the
/M2_Next pin in order to increment the device past the current message.
A subsequent falling edge on the /M1_Message pin starts a new record
operation, overwriting the previously existing message. You can preserve the
previously recorded message by using the /M2_Next input to advance to the
next available message segment.
To perform this function, the /M2_NEXT pin must be pulled low for at
least 400 cycles of the sample clock. The auto rewind mode allows the user to
record over the just recorded message simply by initiating a record sequence
without first toggling the /M2_NEXT pin To record over any other message
however requires a different sequence. You must pulse the /CE pin low once to
rewind the device to the beginning of the voice memory.
The /M2_NEXT pin must then be pulsed low for the specified number of
times to move to the start of the message you wish to overwrite. Upon arriving
at the desired message a record sequence can be initiated to overwrite the
previously recorded material. After you overwrite the message it becomes the
last available message and all previously recorded messages following this
message become inaccessible. If during a record operation all of the available
memory is used, the device will stop recording automatically,(double beep) and
52

set the /M7_END pin low for a duration equal to 1600 cycles of the sample
clock.

Playback can be initiated on this last message, but pulsing the /M2_Next
pin will put the device into an "overflow state".Once the device enters an
overflow state any subsequent pulsing of /M1_MESSAGE or /M2_NEXT will
only result in a double beep and setting of the /M7_END pin low for a duration
equal to 400 cycles of the sample clock. To proceed from this state the user
must rewind the device to the beginning of the memory array. This can be
accomplished by toggling the /CE pin low or cycling power. All inputs, except
the /CE pin,are ignored during recording.
Parameter
Voltage: 4.5-5.5V
Current: <40mA
Digital Interface: 5V TTL level for UART interface and GPIO
Analog Interface: 3.5mm mono-channel microphone connector + microphone
pin interface
Size: 31mm x 50mm
Recognition accuracy: 99% (under ideal environment)
Feature
Support maximum 80 voice commands, with each voice 1500ms (one or two
words speaking)
Maximum 7 voice commands effective at same time
Arduino library is supplied
Easy Control: UART/GPIO
User-control General Pin Output

53

SPEAKERS
Digital speakers are a form of loudspeaker technology. Not to be
confused with modern digital formats and processing, they are a mature
technology, having been experimented with extensively by Bell Labs as far
back.
Function
The least significant bit drives a tiny speaker driver, of whatever physical
design is chosen; a value of "1" causes this driver to be driven full amplitude, a
value of "0" causes it to be off. This allows for high efficiency in the amplifier,
which at any time is either passing zero current, or required to drop the output
voltage by zero volts, therefore in a theoretical ideal amplifier dissipating no
power as heat at any time. The next least significant bit drives a speaker of
twice the area (most often, but not necessarily, a ring around the previous
driver), again to either full amplitude, or off. The next least significant bit drives
a speaker of twice this area, and so on.
Other approaches are possible. For example, instead of doubling the area
of the next most significant diaphragm segment, it could simply be driven so it
stroked twice as far. The digital principle of operation and attendant amplifier
efficiency benefits would remain.
Ultrasonic output
To work properly, all of the individual diaphragm elements would have to
operate cleanly at the clock frequency. The natural frequency response of the
various elements will vary with their size. This creates a DAC where the various

54

bits have different bandpass characteristics. Large short-term errors can be


expected.
Since this system is converting digital signal to analog, the effect
of aliasing is unavoidable, so that the audio output is "reflected" at equal
amplitude in the frequency domain, on the other side of the sampling frequency.
One solution would be to overclock the conversion elements, introduce a digital
filter and follow them with an acoustical low pass filter. Even accounting for the
vastly lower efficiency of speaker drivers at such high frequencies, the result
was to generate an unacceptably high level of ultrasonics accompanying the
desired output.
In electronic digital to analog conversion, this is addressed by the use
of low-pass filters to eliminate the spurious upper frequencies produced. Since
these frequencies are eliminated in the electrical signal, they are not passed to
the speaker and thus ultrasonic airwaves are not generated. However, electronic
filtering is inherently unable to solve this problem with the digital loudspeaker.
The speaker elements must operate ultrasonically to avoid introducing (high
levels of) audible artifacts, and this means ultrasonic airwaves are inevitable.
Electronics can filter electrical signals, but can not remove ultrasonic
frequencies already in the air.
Efficiency
Although amplifier efficiency is good with this system, moving coil
speakers operate at relatively low efficiency in the ultrasonic frequency region.
Thus the original aim of the method is defeated. Modern speakers marketed as
'digital' are always analog speakers, in most cases driven by an analog amplifier.

55

The widespread use of the term 'digital' with speakers is a marketing ploy
intended

to

claim

better

suitability

with

'digital'

source

material

(e.g., MP3 recordings), or impute 'higher technology' than some other speaker,
and perhaps higher price. If pressed, manufacturers may claim the term means
the product is 'ready' for input from digital players; this is true of essentially all
speaker systems.
There are also a minority of Class D and Class T digital amplifier driven analog
speakers, though these are not normally found in separate computer speakers or
home stereo systems. These are common in laptops, where their higher cost is
justified by battery power savings. The speakers in such equipment are still
analog.

56

SOFTWARE DESCRIPTION
ARDUINO
Arduino is a cross-platform IDE that works in conjunction with an
Arduino controller in order to write, compile and upload code to the board.The
software provides support for a wide array of Arduino boards, including
Arduino Uno, Nano, Mega, Esplora, Ethernet, Fio, Pro or Pro Mini, as well as
LilyPad Arduino.
The universal languages for Arduino are C and C++, thus the software is fit for
professionals who are familiar with these two. Features such as syntax
highlighting, automatic indentation and brace matching makes it a modern
alternative to other IDEs.Wrapped inside a streamlined interface, the software
features both the looks and the functionality that appeal to Arduino developers,
paving the way to a successful output via the debugging modules.
All of its features are hosted inside a few buttons and menus that are easy
to navigate and understand, especially for professional programmers. Also, the
built-in collection of examples might be of great help for Arduino first
timers.Provided that youve connected the Arduino board to the computer and
installed all the necessary drivers, one of the first steps we see fit is to choose
the model youll be working with using the Tools menu of the application.
Then, you can start writing the programs using the comfortable
environment that Arduino offers. The program includes a rich array of built-in
57

libraries such as EEPROM, Firmata, GSM, Servo, TFT, WiFI, etc, but adding
your own is also possible. Designs can be verified and compiled, with an error
log displayed in the lower part of the UI that allows you to review the code.
If the debugging process returns no errors, you can start the upload
process and have your program delivered to the board so you can proceed with
further testing.All in all, Arduino comes across as an extremely useful asset,
providing the essentials that Arduino developers need in order to streamline the
testing process.
Arduino is an open-source computer hardware and software company,
project and user community that designs and manufacturesmicrocontrollerbased kits for building digital devices and interactive objects that can sense and
control objects in the physical world. The project is based on microcontroller
board

designs,

manufactured

by

several

vendors,

using

various

microcontrollers. These systems provide sets of digital and analog I/O pins that
can be interfaced to various expansion boards ("shields") and other circuits.
The boards feature serial communications interfaces, including USB on
some models, for loading programs from personal computers. For programming
the microcontrollers, the Arduino project provides an integrated development
environment (IDE) based on the Processing project, which includes support for
the C and C++ programming languages.
The first Arduino was introduced in 2005, aiming to provide an
inexpensive and easy way for novices and professionals to create devices that
interact with their environment using sensors and actuators. Common examples
of

such

devices

intended

for

beginner

hobbyists

include

simple robots, thermostats, and motion detectors. Arduino boards are available
commercially in preassembled form, or as do-it-yourself kits. The hardware
58

design specifications are openly available, allowing the Arduino boards to be


manufactured by anyone.

Arduino programs may be written in any programming language with a


compiler that produces binary machine code. Atmel provides a development
environment for their microcontrollers, AVR Studio and the newer Atmel
Studio.

The Arduino project provides the Arduino integrated development

environment (IDE), which is a cross-platform application written inJava. It


originated from the IDE for the Processing programming language project and
the Wiring project. It is designed to introduce programming to artists and other
newcomers unfamiliar with software development. It includes a code editor
with features such assyntax highlighting, brace matching, and automatic
indentation, and provides simple one-click mechanism for compiling and
loading programs to an Arduino board. A program written with the IDE for
Arduino is called a "sketch".
The Arduino IDE supports the C and C++ programming languages using
special rules of code organization. The Arduino IDE supplies a software
library called "Wiring" from the Wiring project, which provides many common
input and output procedures. A typical Arduino C/C++ sketch consists of two
functions that are compiled and linked with a program stub main () into an
executable cyclic program:

setup(): a function that runs once at the start of a program and that can
initialize settings.

loop(): a function called repeatedly until the board powers off.

59

After compilation and linking with the GNU tool chain, also included
with the IDE distribution, the Arduino IDE employs the programavrdude to
convert the executable code into a text file in hexadecimal coding that is loaded
into the Arduino board by a loader program in the board's firmware
ARDUINO BUILD PROCESS
OVERVIEW
A number of things have to happen for your Arduino code to get onto the
Arduino board. First, the Arduino environment performs some small
transformations to make sure that the code is correct C or C++ (two common
programming languages). It then gets passed to a compiler (avr-gcc), which
turns the human readable code into machine readable instructions (or object
files). Then, your code gets combined with (linked against), the standard
Arduino libraries that provide basic functions like digitalWrite() or
Serial.print().
The result is a single Intel hex file, which contains the specific bytes that
need to be written to the program memory of the chip on the Arduino board.
This file is then uploaded to the board: transmitted over the USB or serial
connection via the bootloader already on the chip or with external programming
hardware.
Multi-file sketches
A sketch can contain multiple files (tabs). To manage them, click on the
right-facing arrow just above the scroll bar near the top of the environment.
Tabs have one of four extensions: no extension, .c, .cpp, or .h (if you provide
any other extension, the period will be converted to an underscore). When your
sketch is compiled, all tabs with no extension are concatenated together to form
60

the "main sketch file". Tabs with .c or .cpp extensions are compiled separately.
To use tabs with a .h extension, you need to #include it (using "double quotes"
not <angle brackets.

The Arduino environment performs a few transformations to your main


sketch file (the concatenation of all the tabs in the sketch without extensions)
before passing it to the avr-gcc compiler.First, #include "Arduino.h", or for
versions less than 1.0, #include "WProgram.h" is added to the top of your
sketch. This header file (found in <ARDUINO>/hardware/cores/<CORE>/)
includes all the defintions needed for the standard Arduino core.
Next, the environment searches for function definitions within your main
sketch file and creates declarations (prototypes) for them. These are inserted
after any comments or pre-processor statements (#includes or #defines), but
before any other statements (including type declarations). This means that if you
want to use a custom type as a function argument, you should declare it within a
separate header file. Also, this generation isn't perfect: it won't create prototypes
for functions that have default argument values, or which are declared within a
namespace or class.
TARGETS
The Arduino environment supports multiple target boards with different
chips (currently, only AVRs), CPU speeds, or bootloaders. These are defined in
a board preferences file. Relevant variables include:
<BOARD>.name: the name to display in the Boards menu
<BOARD>.build.mcu: the microcontroller on the board (normally "atmega8" or
"atmega168").
61

<BOARD>.f_cpu: the clock speed at which the microcontroller operates


(normally "16000000L", or, for an ATmega168running on its internal clock,
"8000000L").
<BOARD>.core: which sub-directory of the hardware/cores/ directory to link
sketches against (normally "arduino").
Also useful is this setting in the main preferences.txt file:
build.verbose: whether or not to print debugging messages while building a
sketch (e.g. "false"). If true, will print the complete command line of each
external command executed as part of the build process.
Note: that in Arduino 0004 and later, build.extension is unused - the main sketch
file is always treated as a .cpp file.
Build process
Sketches are compiled by avr-gcc.
The include path includes the sketch's directory, the target directory
(<ARDUINO>/hardware/core/<CORE>/)

and the avr include directory

(<ARDUINO>/hardware/tools/avr/avr/include/),

as

well

as

any

library

directories (in <ARDUINO>/hardware/libraries/) which contain a header file


which is included by the main sketch file.
When you verify a sketch, it is built in a temporary directory in the system temp
directory (e.g. /tmp on the Mac). When you upload it, it is built in the applet/
subdirectory of the sketch's directory (which you can access with the "Show
Sketch Folder" item in the "Sketch" menu).

62

The .c and .cpp files of the target are compiled and output with .o
extensions to this directory, as is the main sketch file and any other .c or .cpp
files in the sketch and any .c or .cpp files in any libraries which are #included in
the sketch. These .o files are then linked together into a static library and the
main sketch file is linked against this library. Only the parts of the library
needed for your sketch are included in the final .hex file, reducing the size of
most sketches.
The

.hex file is the final output of the compilation which is then

uploaded to the board. During a "Verify" the .hex file is written to /tmp (on Mac
and Linux) or \Documents and Settings\<USER>\Local Settings\Temp (on
Windows). During upload, it's written to the applet sub-directory of the sketch
directory (which you can open with the "Show Sketch Folder" item in the
Sketch menu).
Upload process
Sketches are uploaded by avrdude. The upload process is also controlled by
variables in the boards and main preferences files. Those in the boards file
include:
<BOARD>.upload. Protocol: the protocol that avrdude should use to talk to the
board (typically "stk500").
<BOARD>.upload. Speed: the speed (baud rate) avrdude should use when
uploading sketches (typically "19200").
<BOARD>.upload.maximum_size: the maximum size for a sketch on the board
(dependent on the chip and the size of the boot loader).

63

CHAPTER 7
CONCLUSION
In this project, we have described MATLab program to read printed text
on hand-held objects for assisting blind persons. In order to solve the common
aiming problem for blind users, we have proposed a database method to detect
the

product

name

by

using

MATLab

programme.The

PIC16F877A

microcontroller is a family of modified hardware architecture.PIC is an


inexpensive microcontroller.In this project, we use Open CV library to process
the images so that the features for each letter could be extracted. Image
localization is then performed on the database image. Conversion to gray-scale
can be done in Open CV.
The reason we had to convert our image to gray-scale was because
thresholding could be applied to monochrome pictures only. Once the identified
label name is converted into text and converted text is displayed on display unit
connected to controller. Now converted text should be converted to voice to
hear label name as voice through earphones connected to audio jack port using
file library.In this project, we are using voice bank module APR9600 which was
a low cost high performance . We can use it for both play IC and sound record.
It is user friendly and easy to use operation. The sampling rate of voice bank is
4-8 kHz. By using this voice bank, we can record voice with the help of onboard microphone or via any audio input.
64

CHAPTER 8
REFERENCE

[1] P. Viola and M. Jones. Rapid object detection using a boosted cascade of
simple features. In CVPR, 2009.
[2] X. Chen and A. L. Yuille Detecting and Reading Text in Natural Scenes.
In CVPR, 2004.
[3] Simon M. Lucas. ICDAR 2005 text locating competition results.
Proceedings of International Conference on Document Analysis and
Recognition (ICDAR), 2005.
[4] Keechul Jung and Kwang In Kim and Anil K. Jain. Text information
extraction in images and video: a survey Pattern Recognition,2004.
[5] Ching-Tung Wu. Embedded-Text Detection and Its Application to AntiSpam Filtering. Master Thesis at the University of California, Santa Barbara,
2005.
[6]

C_eline

Mancas-Thillou,

Bernard

Gosselin.

Natural

Scene

Text

Understanding.Vision Systems: Segmentation and Pattern Recognition, ISBN


978-3-902613-05-9, pp, 307-333, 2007.
[7] Yoav Freund and Robert E. Schapire. A decision-theoretic generalization
of on-line learning and an application to boosting. European Conference on
Computational Learning Theory, pp. 23-37, 2005.
[8] Robert E. Schapire and Yoav Freund and Peter Bartlett and Wee Sun Lee.
65

Boosting the margin: a new explanation for the activeness of voting


methods. Proc. 14th International Conference on Machine Learning, 2007.
[9] Viktor Peters. E_zientes Training ansichtsbasierter Gesichtsdetektoren.
Diplomarbeit im Fach Naturwissenschaftliche Informatik: Technische Fakultat
Universitat Bielefeld, 2006.

66