Professional Documents
Culture Documents
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
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
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
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
11
12
14
Ideally
the
output
voltage
is
given
by
15
16
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.
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
of
chips,
specifically
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
(Diecimila-only)
Bring
this
line
LOW
to
reset
the
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
25
26
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
29
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
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
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
36
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.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
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
43
or
if
the
recording
time
exceeds
7.5seconds.
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
General Description:
47
PIN DIAGRAM
48
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.
50
message trigger pin during playback, playback of the current message stops
immediately.
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
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
setup(): a function that runs once at the start of a program and that can
initialize settings.
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.
(<ARDUINO>/hardware/tools/avr/avr/include/),
as
well
as
any
library
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
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
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
66