MULTISENSOR STRATEGIES TO SUPPORT BLIND PEOPLE-A CLEAR-PATH INDICATOR
#3
[attachment=3839]

1. INTRODUCTION

In this project of Multisensor Strategies to Support Blind People: A Clear-Path Indicator we propose a system which can detect obstacles for the blind people. In this new system we increase the range of the operating device to about 40 to 240cm which is possible only through obstacle Sensors. Here we are using ultrasonic sensor for detecting the obstacle. Ultrasonic Receiver is placed in the spectacle. And the transmitter placed in the walking stick. When the obstacle detect the receiver receives the signal from the transmitter. And indicate by voice. Two sensors are placed in the right and left side of the stick. For any obstacle detected we warn the person through Voice Board which gives warning for left and right side.

In this project we trying to define the criteria required for the development for the sensing devices. Now we are presenting a kit which is prototype of this sensing device.
For this project we are using Rabbit processor, ultra sonic sensors, voice recorder and 8 ohms speaker.

2. BLOCK DIAGRAM


3. COMPONENTS USED

1. RABBIT PROCESSOR-RCM 3100
2. ULTRA SONIC SENSORS

3. VOICE RECORDER
4. SPEAKER
4. HARDWARE SET UP
4.1 RABBIT PROCESSOR


4.1.1 INTRODUCTION

The Rabbit 3000 is a modern 8-bit microprocessor that is the central element of a complete and fully supported embedded design system that includes development tools, software libraries, core modules, sample designs, a parts store, and readily available expert, human support. This Development Kit has the essentials that you need to design your own microprocessor-based system, and includes a complete Dynamic C software development system. This Development Kit contains a powerful Rabbit Core module (the RCM3110) and Prototyping Board that will allow you to evaluate the Rabbit 3000 and to prototype circuits that interfaces to a Rabbit 3000 microprocessor. You will also be able to write and test software for the RCM3100 series Rabbit Core modules. The Rabbit 3000 has an extensive array of on-chip peripherals including 6 serial ports, 56 parallel I/O pins, motion control interfaces, a time/date clock, glue less memory and I/O interfacing, a slave interface, and in-circuit programming.
The RCM3100 Rabbit Core microprocessor core module is the ideal option for designers who want to rapidly develop and implement embedded systems. Powered by the new Rabbit® 3000 microprocessor, the compact RCM3100 boasts powerful features and a small footprint“1.85" × 1.65" (47 × 42 mm)“to simplify integration.
The RCM3100 has 6 serial ports and operates at 29.4 MHz and 3.3 V (with 5 V-tolerant I/O). Built-in low-EMI features, including a clock spectrum spreader, help designers eliminate the kind of emissions-related problems that frequently derail tight development schedules.
Available in two models, the RCM3100 is equipped with up to 512K each of Flash and SRAM, quadrature encoder inputs, PWM outputs, and pulse capture and measurement capabilities. Two 34-pin connection headers provide 54 digital I/O shared with the 6 serial ports and alternate I/O features. The RCM3100 features a battery-back able real-time clock, glue less memory and I/O interfacing, and low power "sleepy" modes (<2mA). A fully enabled 8-bit slave port permits easy master-slave interfacing with another processor-based system, and an alternate I/O bus can be configured for 8 data lines and 6 address lines (shared with parallel I/O). The Rabbit 3000 processor's compact, C-friendly instruction set and high clock speeds produce exceptionally fast results for math, logic, and I/O.

4.1.2 RCM3100 Features

¢ Small size: 1.65" x 1.85" x 0.55"
(42 mm × 47 mm × 14 mm)
¢ Microprocessor: Rabbit 3000 running at 29.4 MHz
¢ 54 parallel 5 V tolerant I/O lines: 46 configurable for I/O, 4 fixed inputs, 4 fixed outputs
¢ Two additional digital inputs, two additional digital outputs
¢ External reset input
¢ Alternate I/O bus can be configured for 8 data lines and 6 address lines (shared with
Parallel I/O lines), I/O read/write
¢ Ten 8-bit timers (six cascadable) and one 10-bit timer with two match registers
¢ 256K“512 K flash memories, 128K“512K SRAM
¢ Real-time clock
¢ Watchdog supervisor
¢ Provision for customer-supplied backup battery via connections on header J2
¢ 10-bit free-running PWM counter and four pulse-width registers
¢ Two-channel Input Capture can be used to time input signals from various port pins
¢ Two-channel Quadrature Decoder accepts inputs from external incremental encoder
Devices
¢ Six CMOS-compatible serial ports: maximum asynchronous baud rate of 3.68 Mbps,
Maximum synchronous baud rate of 7.35 Mbps. Four ports are configurable as a
Clocked serial port (SPI), and two ports are configurable as SDLC/HDLC serial ports.
¢ Supports 1.15 Mbps IrDA transceiver
Appendix A, Rabbit Core RCM3100 Specifications, provides detailed specifications for
The RCM3100.
Two different RCM3100 models are available. In addition, the RCM3100 Series Rabbit-
Core modules provide Ethernet connectivity.

4.1.2 Advantages of the RCM3100

¢ Fast time to market using a fully engineered, ready to run microprocessor core.
¢ Competitive pricing when compared with the alternative of purchasing and assembling
Individual components.
¢ Easy C-language program development and debugging
¢ Utility programs for rapid production loading of programs.
¢ Generous memory size allows large programs with tens of thousands of lines of code,
And substantial data storage.
RCM3100 Series Rabbit Core Modules
The RCM3100 series Rabbit Core modules are designed for use on a customer-supplied
Mother board that supplies power and interfaces to real-world I/O devices. Their two 34-
Pin connection headers provide 54 digital parallel user I/O lines, shared with five serial
ports, along with control lines. A sixth serial port and one additional I/O line are available
on the programming header.
A fully enabled slave port permits glue less master-slave interface with another Rabbit based
system. The slave port may also be used with non-Rabbit systems, although additional
logic may be required.
The RCM3100 series is equipped with 256K“512K flash memory and 128K“512K static
RAM.
There are two production models in the RCM3100 series. If the standard models do not
serve your needs, other variations can be specified and ordered in production quantities.
Contact your Z-World or Rabbit Semiconductor sales representative for details.
Table 1 below highlights the differences between the two models in the RCM3100 family.
In addition, there is an RCM3000 series of Rabbit Core modules that includes Ethernet connectivity.
The Rabbit Core modules can be programmed locally, remotely, or via a network using
appropriate interface hardware.
The RCM3100 modules have two 34-pin headers to which cables can be connected, or
which can be plugged into matching sockets on a production device. The pin outs for these
connectors are shown in Figure 1 below.

4.1.3 PIN DIAGRAM:

Headers J1 and J2 are standard 2 × 34 headers with a nominal 2 mm pitch.
The signals labeled PD0“PD3, PD6, and PD7 on header J1 (pins 29“34) and the pin that is
not connected (pin 33 on header J2) are reserved for future use on other Rabbit Core modules.
The Prototyping Board is actually both a demonstration board and a prototyping board.
As a demonstration board, it can be used to demonstrate the functionality of the RCM3100
right out of the box without any modifications to either board. There are no jumpers or dip
switches to configure or misconfigure on the Prototyping Board so that the initial setup is
very straightforward.
The Prototyping Board comes with the basic components necessary to demonstrate the
operation of the RCM3100. Two LEDs (DS1 and DS2) are connected to PG6 and PG7,
and two switches (S2 and S3) are connected to PG1 and PG0 to demonstrate the interface
to the Rabbit 3000 microprocessor. Reset switch S1 is the hardware reset for the
RCM3100.
The Prototyping Board provides the user with RCM3100 connection points brought out conveniently to labeled points at headers J2 and J4 on the Prototyping Board. Small to medium circuits can be prototyped using point-to-point wiring with 20 to 30 AWG wire between the
prototyping area and the holes at locations J2 and J4. The holes are spaced at 0.1" (2.5 mm),
and 40-pin headers or sockets may be installed at J2 and J4. The pinouts for locations J2 and
J4, which correspond to headers J1 and J2

PIN DESCRIPTION:


4.1.4 HARDWARE REFERENCE:

The ports on the Rabbit 3000 microprocessor used in the RCM3100 Series are configurable,
and so the factory defaults can be reconfigured. Table 1 lists the Rabbit 3000 factory
defaults and the alternate configurations.

4.1.4 HARDWARE SET UP:

This chapter describes the RCM3100 hardware in more detail, and explains how to set up and use the accompanying Prototyping Board.
NOTE: These chapters (and this manual) assume that you have the RCM3100 Development Kit. If you purchased an RCM3100 module by itself, you will have to adapt the information in this chapter and elsewhere to your test and development setup.

4.1.4.1 DEVELOPMENT KIT CONTENTS:

The RCM3100 Development Kit contains the following items:
¢ RCM3110 module, 256K flash memory, and 128K SRAM.
¢ RCM3000/RCM3100 Prototyping Board.
¢ AC adapter, 9 V DC, 1 A. (Included only with Development Kits sold for the North
American market. A header plug leading to bare leads is provided to allow overseas
Users to connect a power supply compatible with their local mains power.)
¢ 10-pin header to DE9 programming cable with integrated level-matching circuitry.
¢ Dynamic C CD-ROM, with complete product documentation on disk.
¢ This Getting started manual.
¢ A bag of accessory parts for use on the Prototyping Board.
¢ Registration card.

4.1.4.2 PROTOTYPING BOARD

The Prototyping Board included in the Development Kit makes it easy to connect an
RCM3100 series module to a power supply and a PC workstation for development. It also
Provides some basic I/O peripherals (switches and LEDs), as well as a prototyping area for
More advanced hardware development. For the most basic level of evaluation and development, the Prototyping Board can be used without modification. As you progress to more sophisticated experimentation and hardware development, modifications and additions can be made to the board without modifying or damaging the RCM3100 module itself. The Prototyping Board is shown below in Figure 2, with its main features identified.

Prototyping Board Features

¢ Power Connection”A power-supply jack and a 3-pin header are provided for connection
to the power supply. Note that the 3-pin header is symmetrical, with both outer
pins connected to ground and the center pin connected to the raw V+ input. The cable
of the AC adapter provided with the North American version of the Development Kit
Ends in a plug that connects to the power-supply jack. The header plug leading to bare
Leads provided for overseas customers can be connected to the 3-pin header in either
Orientation. Users providing their own power supply should ensure that it delivers 8“24 V DC at
1 A. The voltage regulators will get warm while in use.
¢ Regulated Power Supply”The raw DC voltage provided at the POWER IN jack is
routed to a 5 V switching voltage regulator, then to a separate 3.3 V linear regulator.
The regulators provide stable power to the RCM3100 series module and the Prototyping
Board.
¢ Power LED”The power LED lights whenever power is connected to the Prototyping
Board.
¢ Reset Switch”A momentary-contact, normally open switch is connected directly to the
RCM3100â„¢s /RESET_IN pin. Pressing the switch forces a hardware reset of the system.
¢ I/O Switches and LEDs”Two momentary-contact, normally open switches are connected
to the PG0 and PG1 pins of the master RCM3100 module and may be read as
inputs by sample applications.
Two LEDs are connected to the PG6 and PG7 pins of the master module, and may be
driven as output indicators by sample applications.
¢ Prototyping Area”A generous prototyping area has been provided for the installation
of through-hole components. +3.3 V, +5 V, and Ground buses run around the edge of
this area. Several areas for surface-mount devices are also available. (Note that there
are SMT device pads on both top and bottom of the Prototyping Board.) Each SMT pad
is connected to a hole designed to accept a 30 AWG solid wire.
¢ Slave Module Connectors”A second set of connectors is pre-wired to permit installation
of a second, slave RCM3100 series or RCM3100 series module. This capability
is reserved for future use, although the schematics in this manual contain all of the
details an experienced developer will need to implement a master-slave system.
¢ Module Extension Headers”The complete pin sets of both the MASTER and
SLAVE RabbitCore modules are duplicated at these two sets of headers. Developers
can solder wires directly into the appropriate holes, or, for more flexible development,
26-pin header strips can be soldered into place. See Figure 1 for the header pinouts.
¢ RS-232”Two 3-wire or one 5-wire RS-232 serial port are available on the Prototyping
Board. Refer to the Prototyping Board schematic (090-0137) for additional details.
A 10-pin 0.1-inch spacing header strip is installed at J5 to permit connection of a ribbon
cable leading to a standard DE-9 serial connector.
¢ Current Measurement Option”Jumpers across pins 1“2 and 5“6 on header JP1 can
be removed and replaced with an ammeter across the pins to measure the current drawn
from the +5 V or the +3.3 V supplies, respectively.
¢ Motor Encoder”A motor/encoder header is provided at header J6 for future use.
¢ LCD/Keypad Module”Z-World™s LCD/keypad module (Z-World part number
101-0465) may be plugged in directly to headers J7, J8, and J10.
4.1.4.3 DEVELOPMENT HARDWARE CONNECTIONS
There are four steps to connecting the Prototyping Board for use with Dynamic C and the
sample programs:
1. Attach the RCM3100 series module to the Prototyping Board.
2. Connect the programming cable between the RCM3100 module and the workstation PC.
3. Connect the power supply to the Prototyping Board.
4.1.4.3.1 ATTACH MODULE TO PROTOTYPING BOARD
Turn the RCM3100 series module so that the mounting holes on the RCM3100 and on the
Prototyping Board line up, as shown in Figure 3 below. Align the module headers J1 and
J2 into sockets J12 and J13 on the Prototyping Board.
Although you can install a single module into either the MASTER or the SLAVE position on the Prototyping Board, all the Prototyping Board features (switches, LEDs, serial port drivers, etc.) are connected to the MASTER position. We recommend you install the RCM3100 module in the MASTER position unless you plan to use it as a slave with another RCM3000 or RCM3100 series board.

4.1.4.3.2 CONNECT PROGRAMMING CABLE

The programming cable connects the Rabbit Core module to the PC running Dynamic C to
download programs and to monitor the Rabbit Core module for debugging. Connect the 10-pin connector of the programming cable labeled PROG to header J1 on the RCM3100 series module as shown in Figure 4. Be sure to orient the marked (usually red) edge of the cable towards pin 1 of the connector. (Do not use the DIAG connector, which is used for a normal serial connection.)
When all other connections have been made, you can connect power to the RCM3000/RCM3100 Prototyping Board.

4.1.5 MEMORY

SRAM
The RCM3100 is designed to accept 128K to 512K of SRAM packaged in a 32-pin TSOP
or sTSOP case.
Flash EPROM
The RCM3100 is also designed to accept 256K to 512K of flash EPROM packaged in a
32-pin TSOP or sTSOP case.
NOTE: Z-World recommends that any customer applications should not be constrained
by the sector size of the flash EPROM since it may be necessary to change the sector
size in the future.
4.1.5.1 Memory I/O Interface
The Rabbit 3000 address lines (A0“A19) and all the data lines (D0“D7) are routed internally
to the onboard flash memory and SRAM chips. I/0 write (/IOWR) and I/0 read
(/IORD) are available for interfacing to external devices.
Parallel Port A can also be used as an external I/O data bus to isolate external I/O from the
main data bus. Parallel Port B pins PB3“PB7 can also be used as an external address bus.
When using the auxiliary I/O bus instead of the default address bus, you must add the following
line at the beginning of your program.
#define PORTA_AUX_IO // required to enable auxiliary I/O bus
The STATUS output has three different programmable functions:
1. It can be driven low on the first op code fetch cycle.
2. It can be driven low during an interrupt acknowledge cycle.
3. It can also serve as a general-purpose output.

I/O Buffer Sourcing and Sinking Limit

Unless otherwise specified, the Rabbit 3000 I/O buffers are capable of sourcing and sinking 6.8 mA of current per pin at full AC switching speed. Full AC switching assumes a
29.4 MHz CPU clock and capacitive loading on address and data lines of less than 70 pF
Per pin. The maximum Vcc is 3.6 V, and the absolute maximum operating voltage on all
Parallel I/O is 5.5 V.
Table A-6 shows the AC and DC output drive limits of the parallel I/O buffers when the
Rabbit 3000 is used in the RCM3100.
Under certain conditions, the maximum instantaneous AC/DC sourcing or sinking current
may be greater than the limits outlined in Table A-6. The maximum AC/DC sourcing current
can be as high as 12.5 mA per buffer as long as the number of sourcing buffers does
not exceed three per VDD or VSS pad, or up to six outputs between pads. Similarly, the
maximum AC/DC sinking current can be as high as 8.5 mA per buffer as long as the number
of sinking buffers does not exceed three per VDD or VSS pad, or up to six outputs
between pads. The VDD bus can handle up to 35 mA, and the VSS bus can handle up to
28 mA. All these analyses were measured at 100°C.

4.1.6 Serial Communication

The RCM3100 Series board does not have an RS-232 or an RS-485 transceiver directly on
the board. However, an RS-232 or RS-485 interface may be incorporated on the board the
RCM3100 is mounted on. For example, the Prototyping Board has a standard RS-232
transceiver chip.

4.1.6.1 Serial Ports

There are six serial ports designated as Serial Ports A, B, C, D, E, and F. All six serial
ports can operate in an asynchronous mode up to the baud rate of the system clock divided
by 16. An asynchronous port can handle 7 or 8 data bits. A 9th bit address scheme, where
an additional bit is sent to mark the first byte of a message, is also supported. Serial Ports
A, B, C, and D can also be operated in the clocked serial mode. In this mode, a clock line
synchronously clocks the data in or out. Either of the two communicating devices can supply
the clock. When the Rabbit 3000 provides the clock, the baud rate can be up to 80% of
the system clock frequency divided by 128, or 183,750 bps for a 29.4 MHz clock speed.
Serial Ports E and F can also be configured as SDLC/HDLC serial ports. The IRDA protocol
is also supported in SDLC format by these two ports. Serial Port A is available only on the programming port, and so is likely to be inconvenient
to interface with.

4.1.6.2 PROGRAMMING PORTS

Serial Port A has special features that allow it to cold-boot the system after reset. Serial
Port A is also the port that is used for software development under Dynamic C.
The Rabbit Core RCM3100 Series has a 10-pin program header labeled J3. The Rabbit
3000 startup-mode pins (SMODE0, SMODE1) are presented to the programming port so
that an externally connected device can force the RCM3100 to start up in an external bootstrap
mode. The Rabbit 3000 Microprocessor Userâ„¢s Manual provides more information
related to the bootstrap mode. The programming port is used to start the Rabbit Core RCM3100 in a mode where it will download a program from the port and then execute the program. The programming port transmits information to and from a PC while a program is being debugged in-circuit. The Rabbit Core RCM3100 can be reset from the programming port via the /RESET_IN line. The Rabbit 3000 status pin is also presented to the programming port. The status pin is an
output that can be used to send a general digital signal. The clock line for Serial Port A is presented to the programming port, which makes synchronous serial communication possible.
Alternate Uses of the Programming Port
The programming port may also be used as an application port with the DIAG connector
on the programming cable.
All three clocked Serial Port A signals are available as
¢ a synchronous serial port
¢ an asynchronous serial port, with the clock line usable as a general CMOS input
¢ two general CMOS inputs and one general CMOS output.
Two startup mode pins, SMODE0 and SMODE1, are available as general CMOS inputs
after they are read during the initial boot-up. The logic state of these two pins is very
important in determining the startup procedure after a reset.
/RES_IN is an external input used to reset the Rabbit 3000 microprocessor.
The status pin may also be used as a general CMOS output.
See Appendix E, Programming Cable, for more information.

4.1.7 Other Hardware

4.1.7.1 Clock Doubler
The RCM3100 takes advantage of the Rabbit 3000 microprocessorâ„¢s internal clock doubler.
A built-in clock doubler allows half-frequency crystals to be used to reduce radiated
Emissions. The 29.4 MHz frequency specified for the RCM3100 is generated using a
14.7456 MHz crystal.
The clock doubler may be disabled if 29.4 MHz clock speeds are not required. Disabling
the Rabbit 3000 microprocessorâ„¢s internal clock doubler will reduce power consumption
and further reduce radiated emissions. The clock doubler is disabled with a simple change
to the BIOS as described below.
4.1.7.2 Spectrum Spreader
The Rabbit 3000 features a spectrum spreader, which helps to mitigate EMI problems. By
default, the spectrum spreader is on automatically, but it may also be turned off or set to a
stronger setting. The means for doing so is through a simple change to the following BIOS
line in a way that is similar to the clock doubler described above.
#define ENABLE_SPREADER 1 // Set to 0 to disable spectrum spreader,
// 1 to enable normal spreading, or
// 2 to enable strong spreading.
NOTE: The strong spectrum-spreading setting is not recommended since it may limit the
maximum clock speed or the maximum baud rate.
1. Open the BIOS source code file, RABBITBIOS.C in the BIOS directory.
2. Change the line
#define CLOCK_DOUBLED 1 // set to 1 to double clock if
// Rabbit 2000: crystal <= 12.9024 MHz,
// Rabbit 3000: crystal <= 26.4192 MHz,
// or to 0 to always disable clock doubler
to read as follows.
#define CLOCK_DOUBLED 0
3. Save the change using File > Save.

4.1.8 Other Inputs and Outputs

Two status mode pins, SMODE0 and SMODE1, are available as inputs. The logic state of these two pins determines the startup procedure after a reset. /RESET_IN is an external input used to reset the Rabbit 3000 microprocessor and the RabbitCore RCM3100 memory. /RES is an output from the reset circuitry that can be used to reset other peripheral devices.

4.1.9 5 V Tolerant Inputs

The RCM3100 operates over a voltage from 3.15 V to 3.45 V, but most RCM3100 input
pins, except /RESET_IN, VRAM, VBAT_EXT, and the power-supply pins, are 5 V tolerant.
When a 5 V signal is applied to 5 V tolerant pins, they present a high impedance even if
the Rabbit power is off. The 5 V tolerant feature allows 5 V devices that have a suitable
switching threshold to be connected directly to the RCM3100. This includes HCT family
parts operated at 5 V that have an input threshold between 0.8 and 2 V.
NOTE: CMOS devices operated at 5 V that have a threshold at 2.5 V are not suitable for
direct connection because the Rabbit 3000 outputs do not rise above VDD, and is often
specified as 3.3 V. Although a CMOS input with a 2.5 V threshold may switch at 3.3 V,
it will consume excessive current and switch slowly.
In order to translate between 5 V and 3.3 V, HCT family parts powered from 5 V can be
used, and are often the best solution. There is also the LVT family of parts that operate
from 2.0 V to 3.3 V, but that have 5 V tolerant inputs and are available from many suppliers.
True level-translating parts are available with separate 3.3 V and 5 V supply pins, but
these parts are not usually needed, and have design traps involving power sequencing.

4.1.8 SPECIFICATIONS


4.1.11 RABBIT PROCESSOR DC CHARACTERSTICS


4.1.12 POWER SUPPLY

The RCM3100 requires a regulated 3.3 V ± 0.15 V DC power source to operate. Depending on the amount of current required by the application, different regulators can be used
To supply this voltage.
The AC adapter supplied with the RCM3100 Development Kit provides 9 V at up to 1 A
As the input to the voltage regulator on the Prototyping Board. The Prototyping Board has
An onboard +5 V switching power regulator from which a +3.3 V linear regulator draws
Its supply. Thus both +5 V and +3.3 V are available on the Prototyping Board.
The Prototyping Board itself is protected against reverse polarity by a Shottky diode at D2
As shown in Figure B-2.

4.1.13 BATTERY BACK UP CIRCUITS

The RCM3100 does not have a battery, but there is provision for a customer-supplied battery
to back up SRAM and keep the internal Rabbit 3000 real-time clock running.
Header J2, shown in Figure D-1, allows access to the external battery. This header makes
it possible to connect an external 3 V power supply. This allows the SRAM and the internal
Rabbit 3000 real-time clock to retain data with the RCM3100 powered down.
A lithium battery with a nominal voltage of 3 V and a minimum capacity of 165 mA¢h is
recommended. A lithium battery is strongly recommended because of its nearly constant
nominal voltage over most of its life.
The drain on the battery by the RCM3100 is typically 7.1 μA when no other power is supplied. If a 165 mA¢h battery is used, the battery can last almost 3 years:
The actual life in your application will depend on the current drawn by components not on
the RCM3100 and the storage capacity of the battery. Note that higher capacity lithium ion
batteries are available and that the shelf life of a lithium ion battery is ultimately 10 years.
The RCM3100 does not drain the battery while it is powered up normally.

4.2 VOICE RECORDER


4.2.1 General Description:

This circuit offers true single-chip voice recording, non volatile storage, and Playback capability for 40 to 60 seconds. It supports both random and sequential access of multiple messages. It can be used in three different modes. The APR96 00 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 user-selectable, 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.
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. However, by changing an oscillation resistor, a sampling rate as high as 8.0 kHz can be achieved. 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. During recording and replaying, current consumption is 25 mA. In idle mode, the current drops to 1 A. 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.

4.2.2 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

4.2.3 DESCRIPTION OF RECORDING

On power up , the device is ready to record or playback. To record, the chip enable pin, Pin no 23 has to be set low to enable the device and there is a slide switch which is connected to pin no 27 must be set low to enable the Recording. To initiate the recording apply the low signal on the message trigger pins. The message trigger pin is M1, M2, M3, M4, M5, M6, M7, M8. Recording continues as long as the message trigger pin is kept LOW. Actual recording begins, & the device responds with a single beep at the speaker output, to indicate that it has started recording. Busy Indicator LED (CONNECTED AT PIN NO 10) glows till the message trigger pin is kept low. Also the LED connected at strobe pin flashes while recording. A beep is heard when message trigger pin is made high (indicates message recording is over), & both the LEDS goes off. Two beeps are heard as an indication of memory overflow of current recording segment.

4.2.4 PIN DIAGRAM

4.2.5 PIN FUNCTIONS

4.2.6 FUNCTIONAL DESCRIPTION
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 on-chip 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 anti-aliasing filter. The filter automatically adjusts its response according to the sampling frequency selected so Shannonâ„¢s 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 Sample 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 shown in the upper right hand corner. Message management is 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.

4.2.7 APR 9600 IC PROTOTYPE DIAGRAM


4.2.8 COMPONENTS USED IN APR 9600 IC
4.2.9 APPLICATION TIPS

Tips for better sound replay quality:
1. Use a good quality 8 Ohm speaker with a cavity such as speakers for computer sound systems.
Do not use a bare speaker which gives you degraded sound.
2. For better sound replay quality, speak with a distance to the on-board microphone and speak
clearly. Also keep the background noise as low as possible.
3. For even better sound replay quality, use microphone input or Audio Line In input. If Audio
Line In is used, the amplitude of input signal should be < 100 mV p-p.

3.4 ULTRA SONIC SENSORS
4.3.1 ULTRA SONIC SENSOR CIRCUIT
4.3.2 ABOUT ULTRA SONIC SENSOR:

Its compact size, higher range and easy usability make it a handy sensor for distance measurement and mapping.
Ultrasonic sensors (also known as transceivers when they both send and receive) work on a principle similar to radar or sonar which evaluate attributes of a target by interpreting the echoes from radio or sound waves respectively. Ultrasonic sensors generate high frequency sound waves and evaluate the echo which is received back by the sensor. Sensors calculate the time interval between sending the signal and receiving the echo to determine the distance to an object.
This technology can be used for measuring: wind speed and direction (anemometer), fullness of a tank and speed through air or water. For measuring speed or direction a device uses multiple detectors and calculates the speed from the relative distances to particulates in the air or water. To measure the amount of liquid in a tank, the sensor measures the distance to the surface of the fluid. Further applications include: humidifiers, sonar, medical ultrasonography, burglar alarms and non-destructive testing. Systems typically use a transducer which generates sound waves in the ultrasonic range, above 20,000 hertz, by turning electrical energy into sound, then upon receiving the echo turn the sound waves into electrical energy which can be measured and displayed. The technology is limited by the shapes of surfaces and the density or consistency of the material. For example foam on the surface of a fluid in a tank could distort a reading.

Transducers

Sound field of a non focusing 4MHz ultrasonic transducer with a near field length of N=67mm in water. The plot shows the sound pressure at a logarithmic db-scale.
Sound pressure field of the same ultrasonic transducer (4MHz, N=67mm) with the transducer surface having a spherical curvature with the curvature radius R=30mm
An ultrasonic transducer is a device that converts energy into ultrasound, or sound waves above the normal range of human hearing. While technically a dog whistle is an ultrasonic transducer that converts mechanical energy in the form of air pressure into ultrasonic sound waves, the term is more apt to be used to refer to piezoelectric transducers that convert electrical energy into sound. Piezoelectric crystals have the property of changing size when a voltage is applied, thus applying an alternating current (AC) across them causes them to oscillate at very high frequencies, thus producing very high frequency sound waves. The location at which a transducer focuses the sound, can be determined by the active transducer area and shape, the ultrasound frequency and the sound velocity of the propagation medium. The example shows the sound fields of an unfocused and a focusing ultrasonic transducer in water.
Detectors
Since piezoelectric crystals generate a voltage when force is applied to them, the same crystal can be used as an ultrasonic detector. Some systems use separate transmitter and receiver components while others combine both in a single piezoelectric transceiver.
Alternative methods for creating and detecting ultrasound include magnetostriction and capacitive actuation.

4.3.3 THEORY OF OPERATION:

The PING))) sensor detects objects by emitting a short ultrasonic burst and then "listening" for the echo. Under control of a host microcontroller (trigger pulse), the sensor emits a short 40 kHz (ultrasonic) burst. This burst travels through the air at about 1130 feet per second, hits an object and then bounces back to the sensor. The PING))) sensor provides an output pulse to the host that will terminate when the echo is detected, hence the width of this pulse corresponds to the distance to the target.

4.3.4 FEATURES

¢ï Minimum range 10 centimeters
¢ï Maximum range 400 centimeters (4 Meters)
¢ï Accuracy of +-1 cm
¢ï Resolution 0.1 cm
¢ï 5V DC Supply voltage
¢ï Compact sized SMD design
¢ï Modulated at 40 kHz
¢ï Serial data of 9600 bps TTL level output for easy interface with any microcontroller

4.3.5 SPECIFICATIONS AND PIN DETAILS

Pin Details
Output format
The serial output data consist of nine ASCII bytes as per table below
Sample outputs strings
100.00cm
080.01cm
075.96cm
010.56cm

4.3.6 ULTRA SONIC SENSORS APPLICATIONS:

Use in medicine
Medical ultrasonic transducers (probes) come in a variety of different shapes and sizes for use in making pictures of different parts of the body. The transducer may be passed over the surface of the body or inserted into a body opening such as the rectum or vagina. Clinicians who perform ultrasound-guided procedures often use a probe positioning system to hold the ultrasonic transducer.
Use in industry
Ultrasonic sensors are used to detect the presence of targets and to measure the distance to targets in many automated factories and process plants. Sensors with an on or off digital output are available for detecting the presence of objects, and sensors with an analog output which varies proportionally to the sensor to target separation distance are commercially available.
Because ultrasonic sensors use sound rather than light for detection, they work in applications where photoelectric sensors may not. Ultrasonicâ„¢s are a great solution for clear object detection and for liquid level measurement, applications that photoelectric struggle with because of target translucence. Target color and/or reflectivity don't affect ultrasonic sensors which can operate reliably in high-glare environments.[1]
Other types of transducers are used in commercially available ultrasonic cleaning devices. An ultrasonic transducer is affixed to a stainless steel pan which is filled with a solvent (frequently water or isopropanol) and a square wave is applied to it, imparting vibration energy on the liquid.

4.4 SPEAKER

Here we are using 8 ohms speaker. It is connected to the voce recorder and it spokes out the corresponding voice when ultra sonic sensor detects the obstacle. For example if right side sensor detects some obstacle on its side it sends the signal to the Rabbit processor and program is executed and it sends the signal to voice recorder control and master pin and the voice already recorded in voice recorder will speaks out through the speaker right right right right¦¦.

4.5 SCHEMATIC DIAGRAM


HARDWARE CONNECTIONS

In this project we have Rabbit processor, three ultra sonic sensors and voice recorder which are connected as shown in the schematic diagram.
Ultra sonic sensor has 3 pins, they are Vcc, Gnd and output pin. The Vcc is given to Vcc of processor in J2 header. The output pin is connected to the port B of processor and these are pulling down with 1k ohms resistors. And Gnd of ultra sonic sensor is connected to Gnd of processor as shown in schematic diagram. Here we are using Port B bits PB0, PB2, PB3. If we observe the pin diagram of Rabbit processor, we donâ„¢t have PB1 bit.
Here to indicate the voice we using voice recorder in which we recording the voice left,
right and front.
Here we are using a condenser which receives the voice which we speak out and converts is to digital i.e., it acts as a transducer and it stores in the memory voice analyzer. It contains 8 pages so we have 8 ways of storing voce. Here we have one master and 8 control pins of which we are using three control pins for left, right and front sensors. Here master is active high and
Control pins are active low.

5. SOFTWARE SET UP
5.1 DEVELOPMENT SOFTWARE

The RCM3100 module uses the Dynamic C development environment for rapid creation and debugging of runtime applications. Dynamic C provides a complete development environment with integrated editor, compiler and debugger. It interfaces directly with the target system, eliminating the need for complex and unreliable in-circuit emulators. Dynamic C must be installed on a Windows workstation with at least one free serial USB or COM port for communication with the target system.
NOTE: An RS-232/USB converter is required if you intend to use a USB port on your computer. Z-World and Rabbit Semiconductor offer a suitable converter”more information is available at rabbitsemiconductor.com, or you may telephone your Z-World/Rabbit Semiconductor sales representative or authorized distributor.
NOTE: The RCM3100 module requires Dynamic C v7.25 or later for development. A
compatible version is included on the Development Kit CD-ROM.

5.1.1 OVER VIEW OF DYNAMIC C

Dynamic C integrates the following development functions into one program:
¢ Editing
¢ Compiling
¢ Linking
¢ Loading
¢ In-Circuit Debugging
In fact, compiling, linking and loading are one function. Dynamic C does not use an In-
Circuit Emulator; programs being developed are downloaded to and executed from the
target system via an enhanced serial-port connection. Program development and debugging
take place seamlessly across this connection, greatly speeding system development.
Other features of Dynamic C include:
¢ Dynamic C has an easy-to-use built-in text editor. Programs can be executed and
debugged interactively at the source-code or machine-code level. Pull-down menus and
keyboard shortcuts for most commands make Dynamic C easy to use.
¢ Dynamic C also supports assembly language programming. It is not necessary to leave
C or the development system to write assembly language code. C and assembly language
may be mixed together.
¢ Debugging under Dynamic C includes the ability to use printf commands, watch
expressions, breakpoints and other advanced debugging features. Watch expressions
can be used to compute C expressions involving the targetâ„¢s program variables or
functions. Watch expressions can be evaluated while stopped at a breakpoint, single stepping,
or while the target is running its program.
16 Rabbit Core RCM3100
¢ Dynamic C provides extensions to the C language (such as shared and protected variables,
co statements and co functions) that support real-world embedded system development.
Dynamic C supports cooperative and preemptive multi-tasking.
¢ Dynamic C comes with many function libraries, all in source code. These libraries support
real-time programming, machine level I/O, and provide standard string and math
functions.
¢ Dynamic C compiles directly to memory. Functions and libraries are compiled and
linked and downloaded on-the-fly. On a fast PC, Dynamic C can load 30,000 bytes of
code in 5 seconds at a baud rate of 115,200 bps.
5.1.2 HARDWARE REQUIREMENTS
To install and run Dynamic C, your system must be running one of the following operating
systems:
¢ Windows 95
¢ Windows 98
¢ Windows NT
¢ Windows Me
¢ Windows 2000
¢ Windows XP
The PC on which you install Dynamic C for development of RCM3100-based systems
should have the following hardware:
¢ A Pentium or later microprocessor
¢ 32 MB of RAM
¢ At least one free COM (serial) port for communication with the target systems
¢ A CD-ROM drive (for software installation)

5.1.3 INSTALLING DYNAMIC C

Insert the Dynamic C CD-ROM in the drive on your PC. If autorun is enabled, the CD
installation will begin automatically. If autorun is disabled or the installation otherwise does not start, use the Windows Start | Run menu or Windows Disk Explorer to launch SETUP.EXE from the root folder of the CD-ROM. The installation program will guide you through the installation process. Most steps of the process are self-explanatory and not covered in this section. Selected steps that may be confusing to some users are outlined below. (Some of the installation utility screens may vary slightly from those shown.)

5.1.3.1 PROGRAM & DOCUMENTATION FILE LOCATION

Dynamic Câ„¢s application, library and documentation files can be installed in any convenient
location on your workstationâ„¢s hard drives.
The default location, as shown in the example above, is in a folder named for the version of Dynamic C, placed in the root folder of the C: drive. If this location is not suitable, enter a different root path before clicking Next >. Files are placed in the specified folder, so do not set this location to a driveâ„¢s root directory.

5.1.3.2 INSTALLATION TYPE

Dynamic C has two components that can be installed together or separately. One component
is Dynamic C itself, with the development environment, support files and libraries.
The other component is the documentation library in HTML and PDF formats, which may
be left uninstalled to save hard drive space or installed elsewhere (on a separate or network
drive, for example).
The installation type is selected in the installation menu shown above. The options are:
¢ Typical Installation ” Both Dynamic C and the documentation library will be
installed in the specified folder (default).
¢ Compact Installation ” Only Dynamic C will be installed.
¢ Custom Installation ” You will be allowed to choose which components are
installed. This choice is useful to install or reinstall just the documentation.

5.1.3.3 SELECT COM PORT

Dynamic C uses a COM (serial) port to communicate with the target development system.
The installation allows you to choose the COM port that will be used.
The default selection, as shown in the example above, is COM1. You may select any available port for Dynamic Câ„¢s use. If you are not certain which port is available, select COM1.
This selection can be changed later within Dynamic C.

5.1.3.4 DESKTOP ICONS

Once your installation is complete, you will have up to three icons on your PC desktop, as
shown below.
One icon is for Dynamic C, one opens the documentation menu, and the third is for the Rabbit Field Utility, a tool used to download precompiled software to a target system.

5.1.4 STARTING DYNAMIC C

Once the RCM3100 is set up and connected as described in Chapter 2 and Dynamic C has
been installed, start Dynamic C by double-clicking on the Dynamic C icon. Dynamic C
should start, then look for the target system on the COM port you specified during installation
(by default, COM1). Once detected, Dynamic C should go through a sequence of
steps to cold-boot the module and compile the BIOS.
If you receive the message beginning "BIOS successfully compiled" you are
ready to continue with the sample programs.
Communication Error Messages
If you receive the message "No Rabbit Processor Detected," the programming
cable may be connected to a different COM port, a connection may be faulty, or the target
system may not be powered up. First, check to see that the power LED on the Prototyping
Board is lit and that the jumper across pins 5“6 of header JP1 on the Prototyping Board is
installed. If the LED is lit, check both ends of the programming cable to ensure that it is
firmly plugged into the PC and the RCM3100 series moduleâ„¢s programming port. If you
are using the Prototyping Board, ensure that the module is firmly and correctly installed in
its connectors.
If there are no faults with the hardware, select a different COM port within Dynamic C.
From the Options menu, select Communications. The dialog shown should appear.
Select another COM port from the list, then click OK. Press <Ctrl-Y> to force Dynamic C to recompile the BIOS. If Dynamic C still reports it is unable to locate the target system, repeat the above steps until you locate the active COM port.
If Dynamic C appears to compile the BIOS successfully, but you then receive a communication
error message, it is possible that your PC cannot handle the 115,200 bps baud rate.
Try changing the baud rate to 57,600 bps as follows.
¢ Locate the Serial Options dialog in the Dynamic C Options > Communications
menu. Change the baud rate to 57,600 bps.

5.1.5 DYNAMIC C LIBRARIES

With Dynamic C running, click File > Open, and select Lib. The following list of
Dynamic C libraries will be displayed.
There is no unique library that is specific to the RCM3100. The functions in the above
libraries are described in the Dynamic C Premier Userâ„¢s Manual.
I/O
The RCM3100 was designed to interface with other systems, and so there are no drivers
written specifically for the I/O. The general Dynamic C read and write functions allow
you to customize the parallel I/O to meet your specific needs. For example, use
WrPortI(PEDDR, &PEDDRShadow, 0x00);
to set all the Port E bits as inputs, or use
WrPortI(PEDDR, &PEDDRShadow, 0xFF);
to set all the Port E bits as outputs.
When using the auxiliary I/O bus on the Rabbit 3000 chip, add the line
#define PORTA_AUX_IO // required to enable auxiliary I/O bus
to the beginning of any programs using the auxiliary I/O bus.
The sample programs in the Dynamic C SAMPLES/RCM3100 directory provide further
examples.
Serial Communication Drivers
Library files included with Dynamic C provide a full range of serial communications support.
The RS232.LIB library provides a set of circular-buffer-based serial functions. The
PACKET.LIB library provides packet-based serial functions where packets can be delimited
by the 9th bit, by transmission gaps, or with user-defined special characters. Both
libraries provide blocking functions, which do not return until they are finished transmitting
or receiving, and no blocking functions, which must be called repeatedly until they
are finished. For more information, see the Dynamic C Premier Userâ„¢s Manual and Technical

5.1.6 SAMPLE PROGRAMS

Sample programs are provided in the Dynamic C Samples folder, which is shown below
The various folders contain specific sample programs that illustrate the use of the corresponding
Dynamic C libraries. For example, the sample program PONG.C demonstrates
the output to the Dynamic C STDIO window.
One folders contain sample programs that illustrate features unique to the RCM3100.
¢ RCM3100”Demonstrates the basic operation of the RCM3100.
Other sample folders that do not have board names contain genereic sample programs,
which will run on all boards.
Follow the instructions included with the sample program to connect the RCM3100 and
the other hardware identified in the instructions.
To run a sample program, open it with the File menu (if it is not still open), compile it
using the Compile menu (or press F5), and then run it by selecting Run in the Run menu
(or press F9). The RCM3100 must be in Program Mode (see Figure 4) and must be connected
to a PC using the programming cable.

5.1.7 UPGRADING DYNAMIC C

Dynamic C patches that focus on bug fixes are available from time to time. Check the Web sites
¢ zworldsupport/
Or
¢ rabbitsemiconductorsupport/
for the latest patches, workarounds, and bug fixes. The default installation of a patch or bug fix is to install the file in a directory (folder) different from that of the original Dynamic C installation. Z-World recommends using a different directory so that you can verify the operation of the patch without overwriting the existing Dynamic C installation. If you have made any changes to the BIOS or to libraries, or if you have programs in the old directory (folder), make these same changes to the BIOS or libraries in the new directory containing the patch. Do not simply copy over an entire file since you may overwrite a bug fix; of course, you may copy over any programs you have written.
Upgrades
Dynamic C SE (Special Edition) versions are designed for use with select Rabbit products,
and are included free as part of our low-cost development kits. Dynamic C SE is a complete
software development system, but does not include all of Dynamic C Premier's features
and upgrade path. Dynamic C Premier includes the popular μC/OS-II real-time
operating system, as well as PPP, Advanced Encryption Standard (AES), and other select
libraries. Dynamic C Premier includes a one-year maintenance agreement for telephone
tech support and an upgrade path for all new releases. Serious users and OEMs are encouraged
to buy Dynamic C Premier.

5.2 PROGRAM DUMPED IN OUR PROJECT

Code:
#define    YES    1
#define    NO        0
nodebug void waitinterval_MSec(unsigned long interval)
{
int Done;
/* Rewritten to use DelayMs function */
Done = NO;
while(1)
{
    costate
{
    waitfor(DelayMs(interval));
Done = YES;
     }
if(Done == YES)
break;
}
}
void init(void)
{
BitWrPortI(PDDDR,&PDDDRShadow,1,0); //Master    //Active Low to High to Low
waitinterval_MSec(1000);
BitWrPortI(PBDDR,&PBDDRShadow,0,0); //Left     //Active High
waitinterval_MSec(1000);
BitWrPortI(PBDDR,&PBDDRShadow,0,2); //Front      //Active High
waitinterval_MSec(1000);
BitWrPortI(PBDDR,&PBDDRShadow,0,3);    //Right     //Active High
waitinterval_MSec(1000);
}
void init1(void)
{
    BitWrPortI(PDDDR,&PDDDRShadow,1,1); //rec1    //Active High to Low to High    //Left
waitinterval_MSec(1000);
BitWrPortI(PDDDR,&PDDDRShadow,1,2); //rec2 //Active High to Low to High //Front
waitinterval_MSec(1000);
BitWrPortI(PDDDR,&PDDDRShadow,1,3); //rec3 //Active High to Low to High //Right
waitinterval_MSec(1000);
}
void reset_vr(void)
{
    BitWrPortI(PDDR,&PDDRShadow,0,0); //Master //Active Low to High to Low
waitinterval_MSec(1000);
BitWrPortI(PDDR,&PDDRShadow,1,0); //Master //Active Low to High to Low
waitinterval_MSec(1000);
BitWrPortI(PDDR,&PDDRShadow,0,0); //Master //Active Low to High to Low
waitinterval_MSec(1000);
}
void main()
{
    init();
    reset_vr();
    while(1)
{
init1();
printf("START\n\n");
waitinterval_MSec(1000);
    while(BitRdPortI(PBDR,0)==0 && BitRdPortI(PBDR,2)==0 && BitRdPortI(PBDR,3)==0);
if(BitRdPortI(PBDR,0)==1)
{
    printf("Sensor Right\n\n");
BitWrPortI(PDDR,&PDDRShadow,1,1); //rec1    //Active High to Low to High    //Left
BitWrPortI(PDDR,&PDDRShadow,0,1); //rec1    //Active High to Low to High    //Left
BitWrPortI(PDDR,&PDDRShadow,0,0); //Master //Active Low to High to Low
        BitWrPortI(PDDR,&PDDRShadow,1,0); //Master //Active Low to High to Low
waitinterval_MSec(1000);
BitWrPortI(PDDR,&PDDRShadow,1,1); //rec1    //Active High to Low to High    //Left
waitinterval_MSec(1000);
BitWrPortI(PDDR,&PDDRShadow,0,0); //Master //Active Low to High to Low
waitinterval_MSec(7000);
WrPortI(PDDR,&PDDRShadow,0x01); //Master //Active Low to High to Low
waitinterval_MSec(1000);
}
if(BitRdPortI(PBDR,2)==1)
{
    printf("Sensor Frontx\n\n");
BitWrPortI(PDDR,&PDDRShadow,1,2); //rec2    //Active High to Low to High    //Left
BitWrPortI(PDDR,&PDDRShadow,0,2); //rec2    //Active High to Low to High    //Left
BitWrPortI(PDDR,&PDDRShadow,0,0); //Master //Active Low to High to Low
        BitWrPortI(PDDR,&PDDRShadow,1,0); //Master //Active Low to High to Low
waitinterval_MSec(1000);
BitWrPortI(PDDR,&PDDRShadow,1,2); //rec2    //Active High to Low to High    //Left
waitinterval_MSec(1000);
BitWrPortI(PDDR,&PDDRShadow,0,0); //Master //Active Low to High to Low
waitinterval_MSec(7000);
WrPortI(PDDR,&PDDRShadow,0x01); //Master //Active Low to High to Low
waitinterval_MSec(1000);
}
if(BitRdPortI(PBDR,3)==1)
{
    printf("Sensor Front\n\n");
BitWrPortI(PDDR,&PDDRShadow,1,3); //rec3    //Active High to Low to High    //Left
BitWrPortI(PDDR,&PDDRShadow,0,3); //rec3    //Active High to Low to High    //Left
BitWrPortI(PDDR,&PDDRShadow,0,0); //Master //Active Low to High to Low
        BitWrPortI(PDDR,&PDDRShadow,1,0); //Master //Active Low to High to Low
waitinterval_MSec(1000);
BitWrPortI(PDDR,&PDDRShadow,1,3); //rec3    //Active High to Low to High    //Left
waitinterval_MSec(1000);
BitWrPortI(PDDR,&PDDRShadow,0,0); //Master //Active Low to High to Low
waitinterval_MSec(7000);
WrPortI(PDDR,&PDDRShadow,0x01); //Master //Active Low to High to Low
waitinterval_MSec(1000);
}
}
}

6. WORKING

In this project we have Rabbit processor, three ultra sonic sensors and voice recorder which are connected as shown in the block diagram.
Ultra sonic sensor has 3 pins, they are Vcc, Gnd and output pin. The Vcc is given to Vcc of processor in J2 header. The output pin is connected to the port B of processor and these are pulling down with 1k ohms resistors. And Gnd of ultra sonic sensor is connected to Gnd of processor. Here we are using Port B bits PB1, PB2, PB3.
Here to indicate the voice we using voice recorder in which we recording the voice left,
right and front. It consists of condenser, memory IC 9600, filter section, voltage regulator and bridge rectifier section.
Here we are using a condenser which receives the voice which we speak out and converts is to digital i.e., it acts as a transducer and it stores in the memory voice analyzer. It contains 8 pages so we have 8 ways of storing voce. Here we have one master and 8 control pins of which we are using three control pins for left, right and front sensors. Here master is active high and
Control pins are active low. Here we have two modes.
1) Recorder mode
2) Play back mode
Here, In this is recorder, we first press the control and then we trigger the master and then we recorder it for 8 seconds. Here it is manual triggering. Then we use play back mode in which we control via the software using port PD0 “ PD4 pins where 1 pin is used for master and three are for control pins. Here it is software control.
For example when left sensor detects an obstacle on the left side, the transmitted signal will get reflected back. Here the signal from PB0 port will be sent to rabbit processor and the code is executed. Here in the program If loop written for left sensor will be executed and the master pin and corresponding control pin is executed and voice will be speak out by speaker Left Left Left Left¦¦.., which is connected to voice recorder.

7. CONCLUSION
We made an attempt to create a prototype for assisting blind people to sense the objects around them so that we can reduce the probability of collisions. More over by using more efficient and reliable components we can make a reliable one which effectively visualizes the blind people.

8. REFERENCES

seminarprojects.../MULTISENSOR-STRATEGIES-TO-SUPPORT-BLIND-PEOPLE-A-CLEAR-PATH-INDICATOR
sciencestage.../multisensor-strategies-to-assist-blind-people:-a-clear-path-indicator.html
myplick.../Ieee-Embedded-Ieee-Project-Titles-2009-2010-Ncct-Final-Year-Projects
RABBIT PROCESSOR:
Z-World, Inc.
2900 Spafford Street
Davis, California 95616-6800
USA
Telephone: (530) 757-3737
Fax: (530) 757-3792
zworld.com
Rabbit Semiconductor
2932 Spafford Street
Davis, California 95616-6800
USA
Telephone: (530) 757-8400
Fax: (530) 757-8402
rabbitsemiconductor.com
rabbit.com
mousercatalog/631/51.pdf
datasheetarchive.com
090-0144 RCM3100 Schematic
rabbitsemiconductordocumentation/schemat/090-0144.pdf
090-0137 RCM3000/RCM3100 Prototyping Board Schematic
rabbitsemiconductordocumentation/schemat/090-0137.pdf
090-0156 LCD/Keypad Module Schematic
rabbitsemiconductordocumentation/schemat/090-0156.pdf
090-0128 Programming Cable Schematic
rabbitsemiconductordocumentation/schemat/090-0128.pdf
ULTRA SONIC SENSOR:
^ Ultrasonicâ„¢s Basics (Banner Engineering)
en.wikipediawiki/Ultrasonic sensor
sunrom.com
parallaxtabid/176/ProductID/92/Default.aspx
sensorsportal.com
VOICE RECORDER:
datasheetcatalog.com
http://aplusinc.com.tw
aplusinc.com.tw/data/apr9600.pdf
sunromp-342.html
Reply

Important Note..!

If you are not satisfied with above reply ,..Please

ASK HERE

So that we will collect data for you and will made reply to the request....OR try below "QUICK REPLY" box to add a reply to this page
Popular Searches: how get people to attend, strategies for rti students, technical seminar topics on blind people, multisensor strategies to assist blind people a clear path indicator flow chart, project in blind man path guidance, devices for the blind, on course strategies for college,

[-]
Quick Reply
Message
Type your reply to this message here.

Image Verification
Please enter the text contained within the image into the text box below it. This process is used to prevent automated spam bots.
Image Verification
(case insensitive)

Messages In This Thread
RE: MULTISENSOR STRATEGIES TO SUPPORT BLIND PEOPLE-A CLEAR-PATH INDICATOR - by computer science topics - 23-06-2010, 09:08 PM

Possibly Related Threads...
Thread Author Replies Views Last Post
  Mobile incoming call indicator smart paper boy 5 5,790 09-01-2016, 11:02 AM
Last Post: seminar report asees
  AUTO PATH FINDER ROBOT computer science technology 3 4,807 23-04-2014, 09:36 PM
Last Post: [email protected]
  BUS NUMBER ANNOUNCEMENT AND IDENTIFICATION FOR BLIND PEOPLE seminar class 10 6,167 31-10-2012, 12:22 PM
Last Post: Guest
  Facial recognition using multisensor images based on localized kernel eigen spaces seminar topics 2 3,291 27-02-2012, 01:48 PM
Last Post: seminar paper
  Prepaid Electricity Billing Automation & Cost Indicator project macsfoot1 10 8,493 31-12-2011, 09:36 AM
Last Post: seminar addict
  Artificial Vision System for the Blind using Ultra Sonic Wave transmission reception seminar topics 9 8,450 10-10-2011, 09:53 AM
Last Post: seminar addict
  An audiodisplay tool for visually impaired people: the sound screen system project topics 0 1,020 12-09-2011, 12:12 PM
Last Post: project topics
  Fundamental Frequency Switching Strategies of a Seven-Level Hybrid Cascaded H-Bridge smart paper boy 0 1,084 24-08-2011, 11:17 AM
Last Post: smart paper boy
  Automatic car parking indicator using Microcontroller smart paper boy 0 2,271 24-08-2011, 09:56 AM
Last Post: smart paper boy
  STRATEGIES FOR COPING WITHOUT CFC'S smart paper boy 0 635 29-07-2011, 09:35 AM
Last Post: smart paper boy

Forum Jump: