Hand Gesture project

99
CHAPTER 1 INTRODUCTION Human gestures have long been an important way of communication, adding emphasis to voice messages or even being a complete message by itself. Such human gestures could be used to improve human machine interface. These may be used to control a wide variety of devices remotely. Vision-based framework can be developed to allow the users to interact with computers through human gestures. This study focuses in understanding such human gesture recognition, typically hand gesture. Gesture recognition is an important area for novel human computer interaction (HCI) systems and a lot of research has been focused on it. These systems differ in basic approaches depending on the area in which it is used. Basically, the field of gestures can be separated into dynamic gestures (e.g. writing letters or numbers) and static postures (e.g. sign language). The goal of gesture analysis and interpretation is to 1

description

Hand gesture type of project

Transcript of Hand Gesture project

Page 1: Hand Gesture project

CHAPTER 1

INTRODUCTION

Human gestures have long been an important way of communication,

adding emphasis to voice messages or even being a complete message by itself.

Such human gestures could be used to improve human machine interface. These

may be used to control a wide variety of devices remotely. Vision-based

framework can be developed to allow the users to interact with computers through

human gestures. This study focuses in understanding such human gesture

recognition, typically hand gesture.

Gesture recognition is an important area for novel human computer

interaction (HCI) systems and a lot of research has been focused on it. These

systems differ in basic approaches depending on the area in which it is used.

Basically, the field of gestures can be separated into dynamic gestures (e.g.

writing letters or numbers) and static postures (e.g. sign language). The goal of

gesture analysis and interpretation is to push the advanced human-machine

communication in order to bring the performance of human-machine interaction

closer to human-human interaction.

There are Smart Assisted Living (SAIL) System [4], [5], which

consists of a body sensor network (BSN), a companion robot, a Smartphone (or

PC), and a remote health provider. The inertial sensors on the human subject

collect three-dimensional angular velocity and three-dimensional acceleration of

different body parts, such as the foot, hand, and chest. The data are transferred and

stored on a mobile device such as a Smartphone/PDA carried by the human

1

Page 2: Hand Gesture project

subject. The PDA sends the data to a PC through Wi-Fi. We currently process the

data on the PC to recognize gestures that the human subject made and send

corresponding commands to control the robot .

With the development of ubiquitous computing, current user

interaction approaches with keyboard, mouse and pen are not sufficient. Due to

the limitation of these devices the usable command set is also limited. Direct use

of hands can be used as an input device for providing natural interaction.

2

Page 3: Hand Gesture project

CHAPTER 2

LITERATURE SURVEY

Data Gathering for Gesture Recognition Systems Based on Single

Color-, Stereo Color- and Thermal Cameras - International Journal of Signal

Processing, Image Processing and Pattern Recognition Vol. 3, No. 1, March, 2010

In this paper, we present our results of automatic gesture recognition systems

using different types of cameras in order to compare them in reference to their

performances in segmentation. The acquired image segments provide the data for

further analysis. The images of a single camera system are mostly used as input

data in the research area of gesture recognition. In comparison to that, the analysis

results of a stereo color camera and a thermal camera system are used to

determine the advantages and disadvantages of these camera systems. On this

basis, a real-time gesture recognition system is proposed to classify alphabets (A-

Z) and numbers (0-9) with an average recognition rate of 98% using Hidden

Markov Models (HMM).

Activity Recognition from On-Body Sensors: Accuracy-Power Trade-Off by

Dynamic Sensor Selection - Wearable Computing Lab., ETH Z¨urich,

Switzerland

Activity recognition from an on-body sensor network enables context-

aware applications in wearable computing. A guaranteed classification accuracy is

desirable while optimizing power consumption to ensure the system’s wearability.

In this paper, we investigate the benefits of dynamic sensor selection in order to

use efficiently available energy while achieving a desired activity recognition

3

Page 4: Hand Gesture project

accuracy. For this purpose we introduce and characterize an activity recognition

method with an underlying run-time sensor selection scheme. The system relies

on a meta-classifier that fuses the information of classifiers operating on

individual sensors. Sensors are selected according to their contribution to

classification accuracy as assessed during system training. We test this system by

recognizing manipulative activities of assembly-line workers in a car production

environment. Results show that the system’s lifetime can be significantly

extended while keeping high recognition accuracies. We discuss how this

approach can be implemented in a dynamic sensor network by using the context-

recognition framework Titan that we are developing for dynamic and

heterogeneous sensor networks.

Hand Gesture Recognition: A Comparative Study - Proceedings of the

International MultiConference of Engineers and Computer Scientists 2008 Vol I

IMECS 2008, 19-21 March, 2008, Hong Kong.

This paper presents four very simple but efficient methods to implement

hand gesture recognition namely Subtraction, Gradient, Principal Components

Analysis and Rotation Invariant. We first created an Image Database consisting of

four different hand gesture images. Before populating the database for an images

of various gesture categories in Hand Gesture Recognition system, each image

was first processed i.e., the images were converted to 8-bit grayscale images and

filtering was performed to minimize any noise present in the images. The method

mentioned above were applied on the input test images captured form the sensor

device of the system to find the suitable match form the data base. The methods

used were successful to retrieve the correct matches. The results based on speed

and accuracy was analyzed.

4

Page 5: Hand Gesture project

Hand Gesture Recognition for Human-Computer Interaction - Journal of

Computer Science 6 (9): 1002-1007, 2010 ISSN 1549-3636 © 2010 Science

Publications.

With the development of ubiquitous computing, current user interaction

approaches with keyboard, mouse and pen are not sufficient. Due to the limitation

of these devices the useable command set is also limited. Direct use of hands can

be used as an input device for providing natural interaction. Approach: In this

study, Gaussian Mixture Model (GMM) was used to extract hand from the video

sequence. Extreme points were extracted from the segmented hand using star

skeletonization and recognition was performed by distance signature. Results: The

proposed method was tested on the dataset captured in the closed environment

with the assumption that the user should be in the Field Of View (FOV). This

study was performed for 5 different datasets in varying lighting conditions.

Conclusion: This study specifically proposed a real time vision system for hand

gesture based computer interaction to control an event like navigation of slides in

Power Point Presentation.

Online Hand Gesture Recognition Using Neural Network Based

Segmentation - The 2009 IEEE/RSJ International Conference on Intelligent

Robots and Systems October 11-15, 2009 St. Louis, USA.

In this paper, we propose an online hand gesture recognition algorithm for a

robot assisted living system. A neural network-based gesture spotting method is

combined with the hierarchical hidden Markov model (HHMM) to recognize hand

5

Page 6: Hand Gesture project

gestures. In the segmentation module, the neural network is used to determine

whether the HHMM-based recognition module should be applied. In the

recognition module, Bayesian filtering is applied to update the results considering

the context constraints. We implemented the algorithm using an inertial sensor

worn on a finger of the human subject. The obtained results prove the accuracy

and effectiveness of our algorithm.

A Method for Extracting Temporal Parameters Based on Hidden Markov

Models in Body Sensor Networks With Inertial Sensors - IEEE

TRANSACTIONS ON INFORMATION TECHNOLOGY IN

BIOMEDICINE, VOL. 13, NO. 6, NOVEMBER 2009 1019.

Human movement models often divide movements into parts. In walking,

the stride can be segmented into four different parts, and in golf and other sports,

the swing is divided into sections based on the primary direction of motion. These

parts are often divided based on key events, also called temporal parameters.

When analyzing a movement, it is important to correctly locate these key events,

and so automated techniques are needed. There exist many methods for dividing

specific actions using data from specific sensors, but for new sensors or sensing

positions, new techniques must be developed. We introduce a generic method for

temporal parameter extraction called the hidden Markov event model based on

hidden Markov models. Our method constrains the state structure to facilitate

precise location of key events. This method can be quickly adapted to new

movements and new sensors/ sensor placements. Furthermore, it generalizes well

to subjects not used for training. A multi objective optimization technique using

genetic algorithms is applied to decrease error and increase cross-subject

generalizability. Further, collaborative techniques are explored. We validate this

6

Page 7: Hand Gesture project

method on a walking dataset by using inertial sensors placed on various locations

on a human body. Our technique is designed to be computationally complex for

training, but computationally simple at runtime to allow deployment on resource-

constrained sensor nodes.

Development of a Human Airbag System for Fall Protection Using

MEMS Motion Sensing Technology

This paper describes the development of a human airbag system which is

designed to reduce the impact force from falls. A Micro Inertial Measurement

Unit (μIMU), based on MEMS accelerometers and gyro sensors is developed as

the motion sensing part of the system. A recognition algorithm is used for real-

time fall determination. With the algorithm, a microcontroller integrated with the

μIMU can discriminate falling-down motion from normal human motions and

trigger an airbag system when a fall occurs. Our airbag system is designed to have

fast response with moderate input pressure, i.e., the experimental response time is

less than 0.3 second under 0.4MPa. In addition, we present our progress on using

Support Vector Machine (SVM) training together with the μIMU to better

distinguish falling and normal motions. Experimental results show that selected

eigenvector sets generated from 200 experimental data sets can be accurately

separated into falling and other motions.

7

Page 8: Hand Gesture project

CHAPTER 3

PROJECT DESCRIPTION

3.1. INTRODUCTION OF THE PROJECT

This demonstrates that accelerometers can be used to effectively translate

finger and hand gestures into computer interpreted signals. To this end we

developed the Acceleration Sensing Glove (ASG) that helps deaf and dumb to

communicate with others through voice commands.

3.2. PRESENT SYSTEM

Vision-based framework can be developed to allow the users to interact with

computers through human gestures. This study focuses in understanding such

human gesture recognition, typically hand gesture. Hand gesture recognition

generally involves various stages like video acquisition, background subtraction,

feature extraction and gesture recognition. The rationale in background

subtraction is detecting the moving objects from the difference between the

current frame and a reference frame, often called the background image or

background model. Most researchers use single color cameras for data

acquisition. A big advantage of these cameras is that they are fast and simple to

control, so it is possible to realize a suitable gesture recognition system also in

real-time applications. Additionally, the color map of the image can be used for

skin color recognition in order to improve the segmentation results. However the

robustness of such a system can suffer from a complicated real background. And

8

Page 9: Hand Gesture project

the separation of region of interest will still be a challenging problem if only one

camera system is used.

Vision-based analysis of hand gestures is probably the most natural way of

constructing a human-computer gesture interface. Yet it is also the most difficult

one to implement in a satisfactory manner because of the limitations in machine

vision today. The vision-based analysis is performed by using one or more

cameras. The visual information about a person in some visual environment is

acquired and the necessary gesture is extracted. However, there are some difficult

problems: the segmentation of the moving hand from a sometimes complex

environment, the analysis of hand motions, the tracking of hand positions relative

to the environment, and finally the recognition of hand postures. To facilitate

these operations, some use markers, marked gloves, or restrictive setups: uniform

background, very limited gesture vocabulary, or just a simple posture analysis.

Many solutions for gesture spotting or data segmentation have been developed

over the years. There are two main methods: rule-based and HMM-based. Rule-

based methods are widely used in recognition through computer vision. Some

researchers use a special position to mark the start or end point of a gesture, while

others have rules to define the behavior before or after a gesture such as staying

still for several seconds.

3.3. PROPOSED SYSTEM

We developed the Acceleration Sensing Glove (ASG) that communicated

using a wireless link to a desktop computer. The glove uses three-axis

accelerometers on the back of the hand. Using gravity-induced acceleration

offsets, a program was developed to translate gestures to commands. The

accelerometer outputs an analog value corresponding to the acceleration in the

plane of acceleration through the corresponding channel. We developed a

9

Page 10: Hand Gesture project

procedure to spot and classify input gestures from continuous acceleration data

acquired by the hand held system. The recognition procedure is based on hidden

Markov models (HMM) and was fully implemented on a system on a chip. The

algorithm achieved an average recall of 79% at 93% precision in recognizing the

relevant gestures.

We present 3 axis accelerometer for measuring low speed changes in

inclination in the presence of gravity, detecting the change in the gravity vector,

and determining whether the direction is clockwise or counter clockwise. Here in

our project we develop the system that is wearable as well as inbuilt processing

capability. Our project involves a high accurate and low noise accelerometer and

on-chip analog signal processing capability enables less power and high

performance. Our method uses a wearable device, that can be used any where.

Our system is a standalone system and not affected by illumination variations.

The system here uses a MEMS accelerometer Based Gesture Recognition.

This is a Simple and economical System compared to the existing system because

here is no need for camera and computer analysis. This system is more Portable

since it simply can be placed over the hand, as Nothing external is required for

analysis .this system is Highly accurate and Faster system since the sensor used

are sophisticated and highly accurate. This system is Easy to handle and less skill

is required to operate.

3.4 PROJECT TASK

The hardware consists of a wrist controller and six accelerometers, five on

the fingertips and one on the back of the hand . Each accelerometer (1.3x1.4cm),

an Analog Devices ADXL355, contains 3axes of measurement and had a range of

10

Page 11: Hand Gesture project

with +/- 3g . Wires send signals from the accelerometers to the forearm controller.

An PIC microcontroller on the forearm controller (4.4x6.6cm) converts the analog

signal from the accelerometer to a 10 bit digital signal. In this work a MEMS 3-

axes accelerometer with a sampling rate of 20Hz was used to record acceleration

of the wearer’s arm.

For static gesture recognition the accelerometer data is calibrated and

filtered. The accelerometers can measure the magnitude and direction of gravity in

addition to movement induced acceleration. In order to calibrate the

accelerometers, we rotate the device’s sensitive axis with respect to gravity and

use the resultant signal as an absolute measurement. To reduce high frequency

noise from the sensors, we took a running average.

The recognition procedure using the recorded acceleration data. Firstly, an

informative feature was extracted from the recorded 3D-acceleration data. Figure

5 shows the acceleration of the z-axis and the corresponding derivative exemplary.

The dominant acceleration axis was determined as axis with the largest amplitude

variation within the last five sampling points. We used this derivative as feature to

characterize every sampling point. Subsequently, a sliding window of fixed size

(30 samples) was shifted over the feature data with a step size of 5 samples. In a

second stage, the Viterbi algorithm was applied to detect begin and end samples

of potential gestures. For this purpose, each gesture type was modeled by an

individual left-right discrete HMM. Six states were used for scroll gestures, nine

states for the “Select” gesture. A code-book of 13 symbols was used to represent

the derivative amplitude in strong/low increase/decrease for all acceleration axes

and calm, for small amplitudes. An initial analysis showed that a period without

movement preceded and followed each gesture. This period occurred naturally,

11

Page 12: Hand Gesture project

when the user read the next question from the screen or confirmed the completion

of the current one. Thus, the first and last states of all models were designed to

represent small acceleration variations.

3.5. FLOW DIAGRAM

Figure 3.5.1 Flow Diagram of mems hand gesture recognition

12

(PIC 16F877A)MICROCONTROLLER

MEMS-Accelerometer

(ADXL335)

LCD

VOICECHIP(APR 9600)

FILTER AMPLIFIER SPEAKER

Page 13: Hand Gesture project

3.6. CIRCUIT DIAGRAM

Figure 3.6.1.: Circuit Diagram of hand gesture regonition

13

Page 14: Hand Gesture project

CHAPTER 4

HARDWARE SYSTEM SPECIFICATION:

4.1.Accelerometer - ADXL335:

Small, Low Power, 3-Axis ±3 g i MEMS® Accelerometer ADXL335

Features:

1. 3-axis sensing

2. Small, low-profile package

3. 4 mm × 4 mm × 1.45 mm LFCSP

4. Low power

5. 180 μA at VS = 1.8 V (typical)

6. Single-supply operation

7. 1.8 V to 3.6 V

8. 10,000 g shock survival

9. Excellent temperature stability

10.BW adjustment with a single capacitor per axis

4.1.1.Application :

1. Cost sensitive, low power, motion- and tilt-sensing applications

2. Mobile devices

3. Gaming systems

4. Disk drive protection

5. Image stabilization

6. Sports and health devices

14

Page 15: Hand Gesture project

4.1.2.Pin Configuration And Function Descriptions

Figure 4.1.2.a: Pin Diagram

4.1.3.Pin Description:

Pin.no Mnemonics Description

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

EP

NC

ST

COM

NC

COM

COM

COM

ZOUT

NC

YOUT

NC

XOUT

NC

VS

VS

NC

Exposed Pad

No Connect.

Self-Test.

Common.

No Connect.

Common.

Common.

Common.

Z Channel Output.

No Connect.

Y Channel Output.

No Connect.

X Channel Output.

No Connect.

Supply Voltage (1.8 V to 3.6 V).

Supply Voltage (1.8 V to 3.6 V).

No Connect.

Not internally connected. Solder for

mechanical integrity.

Table 4..4.a: Pin Description

15

Page 16: Hand Gesture project

4.1.4.General Description

The ADXL335 is a small, thin, low power, complete 3-axis accelerometer

with signal conditioned voltage outputs, all on a single monolithic IC. The product

measures acceleration with a minimum full-scale range of ±3 g. It can measure the

static acceleration of gravity in tilt-sensing applications, as well as dynamic

acceleration resulting from motion, shock, or vibration.

The sensor is a polysilicon surface micro machined

structure built on top of a silicon wafer. Polysilicon springs suspend the structure

over the surface of the wafer and provide a resistance against acceleration forces.

Deflection of the structure is measured using a differential capacitor that consists

of independent fixed plates and plates attached to the moving mass. The fixed

plates are driven by 180° out-of-phase square waves. Acceleration deflects the

moving mass and unbalances the differential capacitor resulting in a sensor output

whose amplitude is proportional to acceleration. Phase-sensitive demodulation

techniques are then used to determine the magnitude and direction of the

acceleration.

The demodulator output is amplified and brought off-chip through a 32 kΩ

resistor. The user then sets the signal band-width of the device by adding a

capacitor. This filtering improves measurement resolution and helps prevent

aliasing.

16

Page 17: Hand Gesture project

4.1.5.Functional Block Diagram

Figure 4.1.5.a: Funtional Block diagram

SPECIFICATION:

Parameter Condition min typ max unit

SENSOR INPUT

Measurement Range

Nonlinearity

Package Alignment Error

Interaxis Alignment Error

Cross-Axis Sensitivity

Each axis

% of full scale ±3 3.6

±0.3

±1

±0.1

±1

g

%

Degrees

Degrees

%

ZERO g BIAS LEVEL

(RATIOMETRIC)

0 g Voltage at XOUT, YOUT

0 g Voltage at ZOUT

0 g Offset vs. Temperature

VS = 3 V

VS = 3 V

1.35

1.2

1.5

1.5

±1

1.65

1.8

V

V

mg/°C

FREQUENCY RESPONSE

17

Page 18: Hand Gesture project

Bandwidth XOUT, YOUT 5

Bandwidth ZOUT5

RFILT Tolerance

Sensor Resonant Frequency

No external

filter

No external

filter

1600

550

32 ±

15%

5.5

Hz

Hz

kHz

NOISE PERFORMANCE

Noise Density XOUT, YOUT

Noise Density ZOUT

150

300

μg/√Hz

rms

μg/√Hz

rms

SELF-TEST 6

Logic Input Low

Logic Input High

ST Actuation Current

Output Change at XOUT

Output Change at YOUT

Output Change at ZOUT

Self-Test 0 to

Self-Test 1

Self-Test 0 to

Self-Test 1

Self-Test 0 to

Self-Test 1

−150

+150

+150

+0.6

+2.4

+60

−325

+325

+550

−600

+600

+1000

V

V

μA

mV

mV

mV

18

Page 19: Hand Gesture project

OUTPUT AMPLIFIER

Output Swing Low

Output Swing High

No load

No load

0.1

2.8

V

V

POWER SUPPLY

Operating Voltage Range

Supply Current

Turn-On Time

VS = 3 V

No external

filter

1.8 350

1

3.6 V

μA

ms

TEMPERATURE

Operating Temperature Range −40 +85 °C

Table 4.1.5.a: Specification of ADXL 335

4.1.6.Absolute Maximum Ratings

Parameter Parameter

Acceleration (Any Axis, Unpowered)

Acceleration (Any Axis, Powered)

VS

All Other Pins

Output Short-Circuit Duration

(Any Pin to Common)

Temperature Range (Powered)

Temperature Range (Storage)

10,000 g

10,000 g

−0.3 V to +3.6 V

(COM − 0.3 V) to (VS + 0.3 V)

Indefinite

−55°C to +125°C

−65°C to +150°C

Table 4.1.6.a: Absolute maximum Ratings

19

Page 20: Hand Gesture project

4.1.7.Theory Of Operation

The ADXL335 is a complete 3-axis acceleration measurement system. The

ADXL335 has a measurement range of ±3 g mini-mum. It contains a polysilicon

surface-micro machined sensor and signal conditioning circuitry to implement an

open-loop acceleration measurement architecture. The output signals are analog

voltages that are proportional to acceleration. The Accelerometer can measure the

static acceleration of gravity in tilt-sensing applications as well as dynamic

acceleration resulting from motion, shock, or vibration.

The sensor is a polysilicon surface-micro machined structure built on top of

a silicon wafer. Polysilicon springs suspend the structure over the surface of the

wafer and provide a resistance against acceleration forces. Deflection of the

structure is measured using a differential capacitor that consists of independent

fixed plates and plates attached to the moving mass. The fixed plates are driven by

180° out-of-phase square waves. Acceleration deflects the moving mass and

unbalances the differential capacitor resulting in a sensor output whose amplitude

is proportional to acceleration. Phase-sensitive demodulation techniques are then

used to determine the magnitude and direction of the acceleration.

The demodulator output is amplified and brought off-chip through a 32 kΩ

resistor. The user then sets the signal bandwidth of the device by adding a

capacitor. This filtering improves measurement resolution and helps prevent

aliasing.

Mechanical Sensor

The ADXL335 uses a single structure for sensing the X, Y, and Z axes. As

a result, the three axes sense directions are highly orthogonal with little cross axis

sensitivity. Mechanical mis-alignment of the sensor die to the package is the chief

20

Page 21: Hand Gesture project

source of cross axis sensitivity. Mechanical misalignment can, of course, be

calibrated out at the system level.

Performance :

Rather than using additional temperature compensation circuitry, innovative

design techniques ensure that high performance is built in to the ADXL335. As a

result, there is no quantization error or non -monotonic behavior, and temperature

hysteresis is very low (typically less than 3 mg over the −25°C to +70°C

temperature range).

4.1.8.Applications Information

Power Supply Decoupling

For most applications, a single 0.1 μF capacitor, CDC, placed close to the

ADXL335 supply pins adequately decouples the accelerometer from noise on the

power supply. However, in applications where noise is present at the 50 kHz

internal clock frequency (or any harmonic thereof), additional care in power

supply bypassing is required because this noise can cause errors in acceleration

measurement.

If additional decoupling is needed, a 100 Ω (or smaller) resistor or ferrite

bead can be inserted in the supply line. Additionally, a larger bulk bypass

capacitor (1 μF or greater) can be added in parallel to CDC. Ensure that the

connection from the ADXL335 ground to the power supply ground is low

impedance because noise transmitted through ground has a similar effect to noise

transmitted through VS.

Setting The Bandwidth Using Cx, Cy, And Cz

The ADXL335 has provisions for band limiting the XOUT, YOUT, and

ZOUT pins. Capacitors must be added at these pins to implement low-pass

filtering for anti-aliasing and noise reduction. The equation for the 3 dB

21

Page 22: Hand Gesture project

bandwidth is

F−3 dB = 1/(2π(32 kΩ) × C(X, Y, Z))

F–3 dB = 5 μF/C(X, Y, Z)

The tolerance of the internal resistor (RFILT) typically varies as much as ±15% of

its nominal value (32 kΩ), and the bandwidth varies accordingly. A minimum

capacitance of 0.0047 μF for CX, CY, and CZ is recommended in all cases.

Bandwidth Capacitor (Micro farad)

1

10

50

100

200

500

4.7

0.47

0.10

0.05

0.027

0.01

Table 4.1.8.a : Filter capacitance selection Cx,Cy,Cz

Self Test

The ST pin controls the self-test feature. When this pin is set to VS, an

electrostatic force is exerted on the accelerometer beam. The resulting movement

of the beam allows the user to test if the accelerometer is functional. The typical

change in output is −1.08 g (corresponding to −325 mV) in the X-axis, +1.08 g (or

+325 mV) on the Y-axis, and +1.83 g (or +550 mV) on the Z-axis. This ST pin

can be left open-circuit or connected to common (COM) in normal use. Never

expose the ST pin to voltages greater than VS + 0.3 V. If this cannot be

guaranteed due to the system design (for instance, if there are multiple supply

voltages), then a low VF clamping diode between ST and VS is recommended.

22

Page 23: Hand Gesture project

Design Trade-Offs For Selecting Filter Characteristics: The Noise/Bw Trade-

Off

The selected accelerometer bandwidth ultimately determines the

measurement resolution (smallest detectable acceleration). Filtering can be used to

lower the noise floor to improve the resolution of the accelerometer. Resolution is

dependent on the analog filter bandwidth at XOUT, YOUT, and ZOUT.

The output of the ADXL335 has a typical bandwidth of greater than 500

Hz. The user must filter the signal at this point to limit aliasing errors. The analog

bandwidth must be no more than half the analog-to-digital sampling frequency to

minimize aliasing. The analog bandwidth can be further decreased to reduce noise

and improve resolution.

The ADXL335 noise has the characteristics of white Gaussian noise, which

contributes equally at all frequencies and is described in terms of μg/√Hz (the

noise is proportional to the square root of the accelerometer bandwidth). The user

should limit bandwidth to the lowest frequency needed by the application to

maximize the resolution and dynamic range of the accelerometer.

ADXL335 is determined by rms Noise = Noise Density × ( BW × 1.6 )

It is often useful to know the peak value of the noise. Peak-to- peak noise

can only be estimated by statistical methods. Table 5 is useful for estimating the

probabilities of exceeding various peak values, given the rms value.

Peak-to-Peak Value % of Time That Noise Exceeds

23

Page 24: Hand Gesture project

Nominal Peak-to-Peak Value

2 × rms

4 × rms

6 × rms

8 × rms

32

4.6

0.27

0.006

Table 4.1.8.b: Estimation of Peak-to-Peak Noise

Use With Operating Voltages Other Than 3 V

The ADXL335 is tested and specified at VS = 3 V; however, it can be

powered with VS as low as 1.8 V or as high as 3.6 V. Note that some performance

parameters change as the supply voltage is varied. The DXL335 output is ratio

metric , therefore, the output sensitivity (or scale factor) varies proportionally to

the supply voltage. At VS = 3.6 V, the output sensitivity is typically 360 mV/g. At

VS = 2 V, the output sensitivity is typically 195 mV/g. The zero g bias output is

also ratio metric, thus the zero g output is nominally equal to VS/2 at all supply

voltages.

The output noise is not ratio metric but is absolute in volts; therefore, the

noise density decreases as the supply voltage increases. This is because the scale

factor (mV/g) increases while the noise voltage remains constant. At VS = 3.6 V,

the X-axis and Y-axis noise density is typically 120 μg/√Hz, whereas at VS = 2 V,

the X-axis and Y-axis noise density is typically 270 μg/√Hz.

Self-test response in g is roughly proportional to the square of the supply

voltage. However, when ratiometricity of sensitivity is factored in with supply

voltage, the self-test response in volts is roughly proportional to the cube of the

supply voltage. For example, at VS = 3.6 V, the self-test response for the

ADXL335 is approximately −560 mV for the X-axis, +560 mV for the Y-axis,

24

Page 25: Hand Gesture project

and +950 mV for the Z-axis.At VS = 2 V, the self-test response is approximately

−96 mV for the X-axis, +96 mV for the Y-axis, and −163 mV for the Z-axis. The

supply current decreases as the supply voltage decreases. Typical current

consumption at VS = 3.6 V is 375 μA, and typical current consumption at VS = 2

V is 200 μA.

Axes Of Acceleration Sensitivity

Figure 4.1.8.a: Axis of acceleration sensitivity, corresponding output voltage

Figure 4.1.8.b: output response verses orientation to gravity

25

Page 26: Hand Gesture project

4.2. Voice chip APR9600:

Single-Chip Voice Recording & Playback Device 60-Second Duration

4.2.1.Features

1. Single-chip, high-quality voice recording & playback solution

a. No external ICs required

b. Minimum external components

2. Non-volatile Flash memory technology

a. No battery backup required

3. User-Selectable messaging options

a. Random access of multiple fixed-duration messages

b. Sequential access of multiple variable-duration messages

4. User-friendly, easy-to-use operation

a. Programming & development systems not required

b. Level-activated recording & edge-activated play back switches

5. Low power consumption

a. Operating current: 25 mA typical

b. Standby current: 1 uA typical

c. Automatic power-down

6. Chip Enable pin for simple message expansion

4.2.2.General Description:

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

volatile storage, and playback capability for 40 to 60 seconds. The device supports

both random and sequential access of multiple messages. Sample rates are 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.

26

Page 27: Hand Gesture project

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.

4.2.3.Functional Description

The APR9600 block diagram is included in order to give understanding of

the APR9600 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 its use. The amplified microphone

signal is fed into the device by connecting the Ana_Out pin to the Ana_In pin

levels 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

27

Page 28: Hand Gesture project

corner. Message management is controlled through the message control block

represented in the lower center of the block diagram.

4.2.4.Block Diagram:

Figure 4.2.4.a: Block Diagram of the APR 9600

4.2.5.Pin out Diagram:

Figure 4.2.5.a : Pin diagram of APR 9600

28

Page 29: Hand Gesture project

4.2.6.Pin Descrpition

Pin Name PinNo.

Functionality in Random Access Mode

Functionality in Tape Mode

Normal Option Auto Rewind Option

/M1_Messsage 1 Message 1: This pin forces a jump to message 1 for either recording or playback.

Message: A low edge on this pin plays or records the next message.

Message: A low edge on this pinplays or records the current mes-sage.

/M2_Next 2 Message 2: This pin forces a jump to message 2 for either recording or playback.

Next Message: This active low input pin force a skip to next message for either playback or recording

This pin should be left unconnected when the device is used in this mode.

/M3 3 Message 3: This pin forces a jump to message 3 for either recording or playback.

This pin should be left unconnected when the device is used in thismode.

This pin should be left unconnectedwhen the device is used in this mode.

/M4 4 Message 4: This pin forces a jump to message 4 for either recording or playback

This pin should be left unconnected when the device is used in this mode.

This pin should be left unconnectedwhen the device is used in this mode.

/M5 5 Message 5: This pin forces a jump to message 5 for either recording or playback.

This pin should be left unconnected when the device is used in thismode.

This pin should be left unconnectedwhen the device is used in this mode.

/M6 6 Message 6: This pin forces a jump to message 6 for either recording or playback.

This pin should be left unconnectedwhen the device is used in this mode.

This pin should be left unconnectedwhen the device is used in this mode.

OscR 7 Oscillator Resistor: this input allows an external resistor to be connected to the tank circuit of the internal oscillator.Refer to table X for a list ofresistors and their resultantsampling rates.

Same as Mode 1. Same as Mode 1.

29

Page 30: Hand Gesture project

Pin Name PinNo.

Functionality in Random Access Mode

Functionality in Tape Mode

Normal Option Auto Rewind Option

/M7_END 8 Message 7: This pin forces a jump to message 7 for either recording or playback.

During playback a low level on this pin indicates that all recorded messages have been played. Duringrecording a low level on this pin indicates that the end of the memory array was reached.

During playback a low level on thispin indicates that all recorded mes-sages have been played. Duringrecording a low level on this pin indicates that the end of the memoryarray was reached.

/M8_Option 9 Message 8: This pin forces a jump to message 8 for either recording or playback.

Option: This pin in conjunction withMSEL1 and MSEL2 sets record andplayback operating mode. Consulttable 1 for decoding information.

MSEL1 and MSEL2 sets record and playback operating mode. Consulttable 1 for decoding information.

/Busy 10 This pin indicates that thedevice is currently busy performing internal functions and can neither record nor playback at the current time.

Same as Mode 1. Same as Mode 1.

BE 11 If this pin is pulled high Beep is enabled. If this pin is pulled low beep is disabled

Same as Mode 1. Same as Mode 1.

VSSD 12 Digital GND Connection: Connect to system ground.

Same as Mode 1. Same as Mode 1.

VSSA 13 Analog GND Connection: Connect system ground.

Same as Mode 1. Same as Mode 1.

SP+ 14 Positive Output for SpeakerConnection: Should be con-nected to the positive terminal of the output speaker. Total output power is.1 W into 16 ohms. Do not use speaker loads lower than 8 ohms or device damage may result.

Same as Mode 1. Same as Mode 1.

SP- 15 Negative Output for Speaker Connection: Should be connected to the negative terminal of the output speaker.

Same as Mode 1. Same as Mode 1.

30

Page 31: Hand Gesture project

Pin Name PinNo.

Functionality in Random Access Mode

Functionality in Tape Mode

Normal Option Auto Rewind Option

VCCA 16 Analog Positive Power Supply:This connection suppliespower for on-chip analog circuitry. Should be connected to the positive supply rail as outlined in the reference schematics.

Same as Mode 1. Same as Mode 1.

MicIn 17 Microphone Input: Should be connected to the microphone input as outlined in the reference schematics.

Same as Mode 1. Same as Mode 1.

MicRef18 Microphone GND Reference:

Should be connected to themicrophone input as outlined in the reference schematics.

Same as Mode 1. Same as Mode 1.

AGC 19 Automatic Gain Control AttackTime: The time constant of the RC network connected to this input determines the AGC attack time. The attack time is defined as the delay present before the AGC circuit begins to adjust gain. The values shown in the reference schematics have been optimized for voice applications.

Same as Mode 1. Same as Mode 1.

Ana_In 20 Analog In: This pin must be connected to Ana_Out through a 0.1µF Capacitor.

Same as Mode 1. Same as Mode 1.

Ana_Out 21 Analog Out: This pin must be connected to Ana_In through a 0.1µF Capacitor.

Same as Mode 1. Same as Mode 1.

/Strobe 22 Strobe: This pin indicates programming of each individual recording segment. The fallingedge represents the beginning of the sector. The rising edge indicates that the sector is half full.

Same as Mode 1. Same as Mode 1.

/CE 23 Chip Select: A low level on this pin enables the device for operation. Toggling this pin also resets several message management features.

Same as Mode 1. Same as Mode 1.

MSEL1 24 Mode Select1: This pin in con-junction with MSEL2 and/M8_Option sets record andPlayback operating mode.Consult table 1 for decoding information.

Same as Mode 1. Same as Mode 1.

31

Page 32: Hand Gesture project

Pin Name PinNo.

Functionality in Random Access Mode

Functionality in Tape Mode

Normal Option Auto Rewind Option

MSEL2 25 Mode Select2: This pin in conjunction with MSEL1 and /M8_Option sets record and playback operating mode. Consult table 1 for decoding information.

Same as Mode 1. Same as Mode 1.

ExtClk 26 External Clock: This clock canbe used instead of the internalclock for greater programmingcontrol and or accuracy. Whenusing the internal clock this pinshould be tied to system GND.

Same as Mode 1. Same as Mode 1.

/RE 27 Record Enable: this pin controls whether the device is in write or read mode. Logic level high is read.

Same as Mode 1. Same as Mode 1.

VCCD 28 Digital Positive Power Supply:This connection suppliespower for on-chip digital circuitry. Should be connected to the positive supply rail as outlined in the reference

Same as Mode 1. Same as Mode 1.

Table 4.2.6.a: Pin Description of APR 9600

4.2.7.Message Management

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 three message management modes (defined

by the MSEL1, MSEL2 and /M8_Option pins shown

in Figures 1 and 2):

• Random access mode with 2, 4, or 8 fixed-duration messages

• Tape mode, with multiple variable-duration messages, provides two options:

32

Page 33: Hand Gesture project

- 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. Table 1 defines the decoding necessary to choose the desired mode. An

important feature of the APR9600 message management capabilities is the ability

to audibly prompt the user to changes in the device’s status through the use of

“beeps” superimposed on the device’s output. This feature is enabled by asserting

a logic high level on the BE pin.

Table 4.1.2.7.a: Modes of APR 9600

4.2.7.1.RANDOM ACCESS MODE

Random access mode supports 2, 4, or 8 messages segments of fixed

duration. As suggested recording or playback can be made randomly in any of the

selected messages. The length of each message segment is the total recording

length available (as defined by the selected sampling rate) divided by the total

number of segments enabled . Random access mode provides easy indexing to

message segments.

33

Page 34: Hand Gesture project

Functional Description of Recording in Random Access Mode

On power up, the device is ready to record or play back, in any of the

enabled message segments. To record, /CE must be set low to enable the device

and /RE must be set low to enable recording. You initiate recording by applying a

low level on the message trigger pin that represents the message segment you

intend to use. The message trigger pins are labeled /M1_Message - /M8_Option

on pins 1-9 (excluding pin 7) for message segments 1-8 respectively. Assume in

the other modes. In random access mode these pins should be considered purely

message trigger pins with the same functionality as /M3, /M4, /M5, and /M6. For

a more thorough explanation of the functionality of device pins in different modes

please refer to the pin description table that appears later in this document. When

actual recording begins the device responds with a single beep (if the BE pin is

high to enable the beep tone) at the speaker outputs to indicate that it has started

recording. Recording continues as long as the message pin stays low. The rising

edge of the same message trigger pin during record stops the recording operation

(indicated with a single beep).

If the message trigger pin is held low beyond the end of the maximum

allocated duration, recording stops automatically (indicated with two beeps),

regardless of the state of the message trigger pin. The chip then enters low-power

mode until the message trigger pin returns high. After the message trigger pin

returns to high, the chip enters standby mode. Any subsequent high to low

transition on the same message trigger pin will initiate recording from the

beginning of the same message segment. The entire previous message is then

overwritten by the new message, regardless of the duration of the new message.

Transitions on any other message trigger pin or the /RE pin during the record

operation are ignored until after the device enters standby mode.

34

Page 35: Hand Gesture project

Functional Description of Playback in Random Access Mode

On power up, the device is ready to record or playback, in any of the

enabled message segments. To playback, /CE must be set low to enable the device

and /RE must be set high to disable recording & enable playback. You initiate

play back by applying a high to low edge on the message trigger pin that

representing the message segment you intend to playback. Playback will continue

until the end of the message is reached. If a high to low edge occurs on the same

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

immediately.

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

current message stops immediately (indicated by one beep) and playback of the

new message segment begins. A delay equal to 8,400 cycles of the sample clock

will be encountered before the device starts playing the new message. If a

message trigger pin is held low, the selected message is played back repeatedly as

long as the trigger pin stays low. A period of silence, of a duration equal to 8,400

cycles of the sampling clock, will be inserted during looping as an indicator to the

user of the transition between the end and the beginning of the message.

4.2.7.2.TAPE MODE

Tape mode manages messages sequentially much like traditional cassette

tape recorders. Within tape mode two options exist, auto rewind and normal. Auto

rewind mode configures the device to automatically rewind to the beginning of the

message immediately following recording or playback of the message. In tape

mode, using either option, messages must be recorded or played back sequentially,

much like a traditional cassette tape recorder.

Function Description Recording in Tape Mode using the Normal Option

On power up, the device is ready to record or play back, starting at the first

address in the memory array. To record, /CE must be set low to enable the device

35

Page 36: Hand Gesture project

and /RE must be set low to enable recording. A falling edge of the /M1_Message

pin initiates voice recording (indicated by one beep). A subsequent rising edge of

the /M1_Message pin during recording stops the recording (also indicated by one

beep). 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 for a duration equal to 1600

cycles of the sample clock, regardless of the state of the /M1_Message pin 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. How ever, 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 initiate recording in

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 previous 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

36

Page 37: Hand Gesture project

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 the available memory is used the

device will stop recording automatically,(double beep) and 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.

Function Description of Playback in Tape Mode using the Normal Option

On power-up, the device is ready to record or play back, starting at the first

address in the memory array. Before you can begin playback, the /CE input must

be set to low to enable the device and /RE must be set to high to disable recording

and enable playback. The first high to low going pulse of the /M1_Message pin

initiates playback from the beginning of the current message; on power up the first

message is the current message. When the /M1_Message pin pulses low the

second time, playback of the current message stops immediately. When the

/M1_Message pin pulses low a third time, playback of the current message starts

again from its beginning. If you hold the /M1_Message pin low continuously the

same message will play continuously in a looping fashion. A 1,530 ms period of

silence is inserted during looping as an indicator to the user of the transition

between the beginning and end of the message.

37

Page 38: Hand Gesture project

Note that in auto rewind mode the device always rewinds to

the beginning of the current message. To listen to a subsequent message the

device must be fast forwarded past the current message to the next message. This

function is accomplished by toggling the /M2_Next pin from high to low.

The pulse must be low for least 400 cycles of the sampling clock. After the

device is incremented to the desired message the user can initiate playback of the

message with the play-back sequence described above. A special case exists when

the /M2_Next pin goes low during playback. Playback of the

current message will stop, the device will beep, advance to the next message and

initiate playback of the next message.(Note that if /M2_Next goes low when not

in playback mode, the device will prepare to play the next message, but will not

actually initiate playback).

If the /CE pin goes low during playback, playback of the cur-rent message

will stop, the device will beep, reset to the beginning of the first message, and

wait for a subsequent playback command.

When you reach the end of the memory array, any subsequent pulsing of

/M1_Message or /M2_Next will only result in double beep. 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.

Functional Description of Recording in Tape Mode using Auto Rewind

Option

On power-up, the device is ready to record or play back starting at the first

address in the memory array. Before you can begin recording, the /CE input must

be set to low to enable the device and /RE must be set to low to enable recording.

On a falling edge of the /M1_Message pin the device will beep once and initiate

recording. A subsequent rising edge on the /M1_Message pin will stop recording

and insert a single beep. If the /M1_Message pin is held low beyond the end of the

38

Page 39: Hand Gesture project

available memory, recording tops automatically, and two beeps are inserted;

regardless of the state of the /M1_Message pin. The device returns to the standby

mode when the /M1_Message pin is returned high.

A subsequent falling edge on the /M1_Message pin starts a new record

operation in the memory array immediately following the last recorded message,

thus preserving the last recorded message.

To record over all previous messages you must pulse the /CE pin low once

to reset the device to the beginning of the first message. You can then initiate a

record sequence, as described above, to record a new message. The most recently

recorded message will become the last recorded message and all previously

recorded messages following this message will become inaccessible.

If you wish to preserve any current messages it is recommend that Auto

Rewind option be used instead of Normal option. If Normal option is necessary

the following sequence can be used. To preserve current messages you must fast

forward past the messages you want to keep before you can record a new

message. To fast forward when using the Nor mal option you must switch to play

mode and listen to messages sequentially until you arrive at the beginning of the

message you wish to overwrite. At this stage you should switch back to record

mode and overwrite the desired message. The most recently recorded message

will become the last recorded message and all previously recorded messages

following this message will become inaccessible. All inputs, except /CE are

ignored during recording.

Functional Description of Playback in Tape Mode using Auto Rewind Option

On power-up, or after a low to high transition on /RE the device is ready to

record or play back starting at the first address in the memory array. Before you

can begin playback of messages, the /CE input must be set to low to enable the

device and /RE must be set to high to enable playback. The first high to low going

39

Page 40: Hand Gesture project

pulse of the /M1_Message pin initiates playback from the beginning of the current

message. When the /M1_Message pin pulses from high to low a second time,

playback of the current message stops immediately. When the /M1_Message pin

pulses from high to low a third time, playback of the next message starts again

from the beginning. If you hold the /M1_Message pin low continuously, the

current message and subsequent messages play until the one of the following

conditions is met: the end of the memory array is reached, the last message is

reached, the /M1_message pin is released. If the last recorded message has already

played, any further transitions on the /M1_Message pin will initiate a double beep

for warning and the /M7_END pin will go low. To exit this state you must pulse

the /CE pin low once during standby to reset the pointer to the beginning of the

first message.

4.2.8.MICROPROCESSOR CONTROLLED MESSAGE MANAGEMENT

The APR9600 device incorporates several features designed to help

simplify microprocessor controlled message management. When controlling

messages the microprocessor essentially toggles pins as described in the message

management sections describe previously. The /Busy, /Strobe, and /M7_END

pins are included to simplify handshaking between the microprocessor and the

APR 9600 The /Busy pin when low indicates to the host processor that the device

is busy and that no commands can be currently accepted. When this pin is high

the device is ready to accept and execute commands from the host. The /Strobe

pin pulses low each time a memory segments is used. Counting pulses on this pin

enables the host processor to accurately determine how much recording time has

been used, and how much recording time remains .The /M7_END pin is used as

an indicator that the device has stopped its current record or playback operation.

During recording a low going pulse indicates that all memory has been used.

During playback a low pulse indicates that the last message has played.

40

Page 41: Hand Gesture project

Microprocessor control can also be used to link several APR9600 devices

together in order to increase total available recording time. In this application

both the speaker and microphone signals can be connected in parallel. The micro

processor will then control which device currently drives the speaker by enabling

or disabling each device using the irrespective /CE pins. A continuous message

can not be recorded in multiple devices however because the transition from one

device to the next will incur a delay that is notice-able upon playback. For this

reason it is recommended that message boundaries and device boundaries always

coincide.

Signal Storage

The APR9600 samples incoming voice signals and stores the instantaneous

voltage samples in non-volatile FLASH memory cells. Each memory cell can

support voltage ranges from0 to 256 levels. These 256 discrete voltage levels are

the equivalent of 8-bit (28=256) binary encoded values. During playback the

stored signals are retrieved from memory, smoothed to form a continuous signal,

and then amplified before being fed to an external speaker.

Sampling Rate & Voice Quality

According to the Shannon’s sampling theorem, the highest possible

frequency component introduced to the input of a sampling system must be equal

to or less than half the sampling frequency if aliasing errors are to be eliminated.

TheAPR9600 automatically filters its input, based on the selected sampling

frequency, to meet this requirement. Higher sampling rates increase the

bandwidth and hence the voice quality, but they also use more memory cells for

the same length of recording time. Lower sampling rates use fewer memory cells

and effectively increase the duration capabilities of the device, but they also

reduce incoming signal bandwidth. The APR9600 accommodates sampling rates

41

Page 42: Hand Gesture project

as high as 8 kHz and as low a 4 kHz. You can control the quality/duration trade

off by controlling the sampling frequency.

An internal oscillator provides the APR9600 sampling clock. Oscillator

frequency can be changed by changing the resistance from the OscR pin to GND.

summarizes resistance values and the corresponding sampling frequencies, as well

as the resulting input bandwidth and duration.

Ref Rosc SamplingFrequency

InputBandwidth

Duration

84 K38 K24 K

4.2 kHz6.4 kHz8.0 kHz

2.1 kHz3.2 kHz4.0 kHz

60 sec40 sec32 sec

Table 4.2.8.a :Reference Rosc Value & Sampling Frequency

Sampling Application

The following reference schematics are included as examples on how a

recording system might be designed. Each reference schematic shows the device

incorporated in one of its’ three main modes, Random Access, Tape mode -

Normal option, and Tape mode - Auto Rewind option. Note that in several of the

applications either one or all of the /Busy, /Strobe, or /M7_END pins are

connected to LEDs as indicators of device status. This is possible because all of

these pins and signals were designed to have timing compatible with both

microprocessor interface and manual LED indication. Figure 4.1.2.8.a shows the

device configured in tape mode, nor-mal operation. This mode is the minimal part

count application of the APR9600 Sampling rate is determined by the resistor

value on pin 7 (OscR). The RC network on pin 19sets the AGC “attack time”. A

bias must be applied to the electrets microphone in order to power its built in

circuitry. The ground return of this bias net-work is connected to the normally

42

Page 43: Hand Gesture project

open side of the record push button. This configuration gates power to

microphones that it is biased only during recording. This configuration saves

power when not recording by shutting off power to the electrets microphone. Both

pins 18 and 19, MicIn and MicRef, must be AC couple to the microphone network

in order to block the DC biasing voltage.

Figure 4.2.8.a: Tape Mode, Normal Option

Figure 4.2.8.b shows the device configured in tape mode, using the auto rewind

option. Auto rewind is convenient for systems designed to store multiple

messages. Auto rewind option does slightly increase parts count above that

required for normal option The Busy pin, /Strobe, and /M7_END are again

connected to LEDs to offer indication to the user of device status.

Figure 4.2.8.b : Tape Modes, Auto Rewind Option

43

Page 44: Hand Gesture project

Figure 4.2.8.c shows the device configured in random access mode. The device is

using eight message segments, the maximum available, in this mode. Note that

message trigger pins that are not used, for modes with less than eight segments,

can be left unconnected with the exception of pin /M8_Option which should be

pulled to VCC through a 100k resistor.

44

Page 45: Hand Gesture project

Figure 4.2.8.c : Random Access Mode

4.2.9.Electrical Characteristics

The following tables list Absolute Maximum Ratings, DC Characteristics, and

Analog Characteristics for the APR9600 device.

45

Page 46: Hand Gesture project

Absolute Maximum Ratings

Item Symbol Condition Min Max Unit

Power Supply voltage VCC TA = 25°C -0.3 6.5 VInput Voltage VIN2 IIN<20mA -1.0 VCC + 1.0 V

Storage Temperature TSTG - -65 150 °CTemperature Under Bias TBS - -65 125 °CLead Temperature TLD <10s -0.3 300 °C

Table 4.2.9.a: Absolute Maximum Ratings

DC CharacteristicsItem Symbol Condition Min Typ Max Unit

Power Supply voltage VCC TA = 25°C 4.5 6.0 6.5 vInput High Voltage VIH - 2.0 - - VInput Low Voltage VIL - - - 0.8 VOutput High Voltage VOH IOH=-1.6mA 2.4 - - VOutput Low Voltage VOL IOL=-4.0mA - - 0.45 VInput Leakage Current IIL VIH =VCC - - 1.0

Input Leakage Current IIL VIL=VSS -1.0 - -

Output Tristate Leakage Current

IOZ VOUT=VCC OrVOUT=Vss

-1.0 - 1.0

Operating Current Consumption

ICC Internal Clock, No Load

- 25 - mA

Standby Current Consumption

ICCS No Load - 1.0 -

Table 4.2.9.b : DC Characteristics of APR 9600

Analog Characteristics

Item Symbol Condition Min Typ Max UnitMicIn Input Voltage VMI - - - 30 mVP-PMicIn Input Resistance RMI - - 15 - kWMicIn Amp Gain (1) GMI1 AGC=2.25v - 30 - dBMicIn Amp Gain (2) GMI2 AGC=3.8V - -2 - dBAnaIn Input Voltage VANI - - - 140 mVP-PAnaIn Input Resistance RANI - - 500 - kWAnaIn Amp Gain GANI AnaIn to SP+/- - 10 - dBAGC Output Resistance RAGC - - 225 - kWSp+/- Output Power PSP RSP+/-=16W - 12.2 - mWVoltage Amplitude across SP+/-

VSP RSP+/->16W - 1.4 - VP-P

Table 4.2.9.c : Analog Characteristics of APR 9600

46

Page 47: Hand Gesture project

OLD APR9600 SOP RECORDING VOICE 40" ~ 60"MODE MSEL-1( PIN-24 ) MSEL-2 ( PIN-25 ) /M8 ( PIN-9 )2 FIXED MESSAGES 0 1 Pull-high 100KOhm4 FIXED MESSAGES 1 0 Pull-high 100KOhm8 FIXED MESSAGES 1 1 /M8 trigger pin1 FIXED MESSAGES 0 0 0TAPE MODE –NEXT 0 0 0TAPE MODE – AUTO 0 0 1

Ref. ROSC Sampling Frequency Input bandwidth Voice duration84 K Ohm 4.2 KHz 2.1 KHz 60 sec.38 K Ohm 6.4 KHz 3.2 KHz 40 sec.24 K Ohm 8.0 KHz 4.0 KHz 32 sec.

Table 4.2.9.d : Various modes and parameter Range of Old APR 9600

Figure 4.2.9.a: Old APR9600

47

Page 48: Hand Gesture project

NEW APR9600 SOP RECORDING VOICE 40" ~ 60"

MODE MSEL-1 ( PIN-3 ) MSEL-2 ( PIN-25 ) /M8 ( PIN-9 )

2 FIXED MESSAGES 0 1 Pull-high 100KOhm4 FIXED MESSAGES 1 0 Pull-high 100KOhm8 FIXED MESSAGES 1 1 /M8 trigger pin1 FIXED MESSAGES 0 0 0TAPE MODE –NEXT 0 0 0TAPE MODE – AUTO 0 0 1

Ref. ROSC Sampling Frequency Input bandwidth Voice duration84 K Ohm 4.2 KHz 2.1 KHz 60 sec.38 K Ohm 6.4 KHz 3.2 KHz 40 sec.24 K Ohm 8.0 KHz 4.0 KHz 32 sec.Table 4.2.9.e : Various modes and parameter Range of Old APR 9600

Figure 4.2.9.b: New APR 9600 Pin Diagram

48

Page 49: Hand Gesture project

APR9600 line-In Type Recording Circuit:

Figure 4.2.9.c: APR9600 line-In Type Recording Circuit

49

Page 50: Hand Gesture project

APR9600 AMP Approcation Circuit:

Figure 4.2.9. d: APR9600 AMP Approcation Circuit

50

Page 51: Hand Gesture project

4.3. PIC16F87XA:

4.3.1.Features:

High-Performance RISC CPU

• Only 35 single-word instructions to learn.

• All single-cycle instructions except for program branches, which are two-cycle.

• Operating speed: DC – 20 MHz clock input DC – 200 ns instruction cycle

• Up to 8K x 14 words of Flash Program Memory, Up to 368 x 8 bytes of Data

Memory (RAM), Up to 256 x 8 bytes of EEPROM Data Memory.

• Pinout compatible to other 28-pin or 40/44-pin PIC16CXXX and PIC16FXXX

microcontrollers .

Peripheral Features

• Timer0: 8-bit timer/counter with 8-bit prescaler.

• Timer1: 16-bit timer/counter with prescaler, can be incremented during Sleep via

external crystal/clock.

• Timer2: 8-bit timer/counter with 8-bit period register, prescaler and

postscaler.

• Two Capture, Compare, PWM modules

- Capture is 16-bit, max. resolution is 12.5 ns

- Compare is 16-bit, max. resolution is 200 ns

• Synchronous Serial Port (SSP) with SPI™ (Master mode) and I2C™

(Master/Slave)

Analog Features

• 10-bit, up to 8-channel Analog-to-Digital Converter (A/D)

• Brown-out Reset (BOR)

• Analog Comparator module with:

- Two analog comparators

51

Page 52: Hand Gesture project

- Programmable on-chip voltage reference (VREF) module

- Programmable input multiplexing from device inputs and internal voltage

reference

Comparator outputs are externally accessible

Special Microcontroller Features:

• 100,000 erase/write cycle Enhanced Flash program memory typical

• 1,000,000 erase/write cycle Data EEPROM memory typical

• Data EEPROM Retention > 40 years

• Self-reprogrammable under software control

• In-Circuit Serial Programming™ (ICSP™) via two pins

• Single-supply 5V In-Circuit Serial Programming

• Watchdog Timer (WDT) with its own on-chip RC oscillator for reliable

operation

Special Features:

All PIC16F87XA devices have a host of features intended to maximize

system reliability, minimize cost through elimination of external components,

provide power saving operating modes and offer code protection. These are:

• Oscillator Selection

• Reset

- Power-on Reset (POR)

- Power-up Timer (PWRT)

- Oscillator Start-up Timer (OST)

- Brown-out Reset (BOR)

• Interrupts

• Watchdog Timer (WDT)

• Sleep

52

Page 53: Hand Gesture project

• Code Protection

PIC16F87XA devices have a Watchdog Timer, which can be shut-off only

through configuration bits. It runs off its own RC oscillator for added reliability.

There are two timers that offer necessary delays on power-up. One is the

Oscillator Start-up Timer (OST),Power-up Timer (PWRT), which provides a fixed

delay of 72 ms (nominal) on power-up only. It is designed to keep the part in

Reset while the power supply stabilizes. With these two timers on-chip, most

applications need no external Reset circuitry.

Sleep mode is designed to offer a very low current power-down mode. The user

can wake-up from Sleep through external Reset, Watchdog Timer wake-up or

through an interrupt. Several oscillator options are also made available to allow

the part to fit the application. The RC oscillator option saves system cost while the

LP crystal option saves power. A set of configuration bits is used to select various

options.

4.3.2.Pindiagram:

Figure 4.3.2.a.: Pin Diagram of PIC 16F877A

53

Page 54: Hand Gesture project

4.3.3.Architectural Overview:

Figure:4.3.3.a Block Diagram of PIC 16F877A

4.4. 16*2 LCD Display:

An LCD is low cost display. It is easy to interface with microcontroller

based of embedded controller.

54

Page 55: Hand Gesture project

4.4.1. Features

16 character *2lines

5*7 Dots with cursor

Built in controller

+5v power supply

1/16 duty circle

\

Figure 4.4.1.a: LCD Diagram

4.4.2.General Description:

A liquid crystal display (LCD) is a thin, flat electronic visual display that

uses the light modulating properties of  liquid crystals (LCs). LCs do not emit

light directly.

Each pixel of an LCD typically consists of a layer of molecules aligned

between two transparent electrodes, and two polarizing filters, the axes of

transmission of which are (in most of the cases) perpendicular to each other. With

no actual liquid crystal between the polarizing filters, light passing through the

first filter would be blocked by the second (crossed) polarizer. In most of the cases

the liquid crystal has double refraction

The surface of the electrodes that are in contact with the liquid crystal

material are treated so as to align the liquid crystal molecules in a particular

direction. This treatment typically consists of a thin polymer layer that is

55

Page 56: Hand Gesture project

unidirectionally rubbed using, for example, a cloth. The direction of the liquid

crystal alignment is then defined by the direction of rubbing. Electrodes are made

of a transparent conductor called Indium Tin Oxide (ITO).

Before applying an electric field, the orientation of the liquid crystal molecules is

determined by the alignment at the surfaces of electrodes. In a twisted nematic

device (still the most common liquid crystal device), the surface alignment

directions at the two electrodes are perpendicular to each other, and so the

molecules arrange themselves in a helical structure, or twist. This reduces the

rotation of the polarization of the incident light, and the device appears grey. If the

applied voltage is large enough, the liquid crystal molecules in the center of the

layer are almost completely untwisted and the polarization of the incident light is

not rotated as it passes through the liquid crystal layer. This light will then be

mainly polarized perpendicular to the second filter, and thus be blocked and

the pixel will appear black. By controlling the voltage applied across the liquid

crystal layer in each pixel, light can be allowed to pass through in varying

amounts thus constituting different levels of gray. This electric field also controls

(reduces) the double refraction properties of the liquid crystal

The optical effect of a twisted semantic device in the voltage-on state is far

less dependent on variations in the device thickness than that in the voltage-off

state. Because of this, these devices are usually operated between crossed

polarizes such that they appear bright with no voltage (the eye is much more

sensitive to variations in the dark state than the bright state). These devices can

also be operated between parallel polarizes, in which case the bright and dark

states are reversed. The voltage-off dark state in this configuration appears

blotchy, however, because of small variations of thickness across the device.

56

Page 57: Hand Gesture project

Both the liquid crystal material and the alignment layer material contain ionic

compounds. If an electric field of one particular polarity is applied for a long

period of time, this ionic material is attracted to the surfaces and degrades the

device performance.

This is avoided either by applying an alternating current or by reversing the

polarity of the electric field as the device is addressed (the response of the liquid

crystal layer is identical, regardless of the polarity of the applied field).

When a large number of pixels are needed in a display, it is not technically

possible to drive each directly since then each pixel would require independent

electrodes. Instead, the display is multiplexed. In a multiplexed display, electrodes

on one side of the display are grouped and wired together (typically in columns),

and each group gets its own voltage source. On the other side, the electrodes are

also grouped (typically in rows), with each group getting a voltage sink. The

groups are designed so each pixel has a unique, unshared combination of source

and sink. The electronics or the software driving the electronics then turns on

sinks in sequence, and drives sources for the pixels of each sink.

57

Page 58: Hand Gesture project

CHAPTER 5

SOFTWARE SPECIFICATION:

5.1. CCS Compiler:

The CCS C Compiler for PIC10, PIC12, PIC14, PIC16, and PIC18

microcontrollers has 307 Built-in Functions to access PIC® MCU hardware is easy

and produces efficient and highly optimized code. Functions such as timers, A/D,

EEPROM, SSP, PSP, USB, I2C and more:

Built-in libraries that work with all chips for RS-232 serial I/O, I2C, discrete

I/O and precision delays.

Serial I/O functions allow standard functions such as GETC() and

PRINTF() to be used for RS-232 like I/O.

Formatted print allows easy formatting and display in HEX or decimal.

Multiple I2C and RS232 ports may be easily defined.

#use rs232() offers options to specify a maximum wait time for getc.

Hardware transceiver used when possible, but for all other occasions the

compiler generates a software serial transceiver.

Microcontroller clock speed may be specified in a PRAGMA to permit

built-in functions to delay for a given number of microseconds or

milliseconds.

Functions such as INPUT() and OUTPUT_HIGH() properly maintain the

tri-state registers.

5.2.Software

Data should be

• Calibrated: Orienting the glove in particular position

58

Page 59: Hand Gesture project

• Normalized: gravity

• Low pass filtered: Signal are averaged to reduce white noise

Coordinate transformation (x,y)->(Racc, θ )

5.3.Static Data Analysis

•In static situation only force acting is gravity G

•Orientation of accelerometer relative to gravity is θ

•The angle the acceleration plane is offset from horizontal plane is φ

•Accelerometer at the back of the hand acts as Tilt motion detector

•Accelerometer at thumb, index finger and middle finger operates as mouse

click

Figure 5.3.a Acceleration Plane Relative To Gravity Vector . Acceleration Normal To

Acceleration Plane Cannot Be Detected By Acceleration

59

Page 60: Hand Gesture project

CHAPTER 6

SYSTEM IMPLEMENTATION PROCESS

The hardware consists of a wrist controller and six accelerometers, five on

the fingertips and one on the back of the hand. The power of 1.8v to 3v is

given to the AdXL335. The ADXL335 has a measurement range of ±3 g

minimum. It contains a polysilicon surface-micro machined sensor and

signal conditioning circuitry to implement anopen-loop acceleration

measurement architecture. The output signals are analog voltages that are

proportional to acceleration.

A single 0.1 μF capacitor, Cdc, placed close to the ADXL335 supply pins

adequately decouples the accelerometer from noise on the power supply.

If additional decoupling is needed, a 100 Ω (or smaller) resistor or ferrite

bead can be inserted in the supply line. Additionally, a larger bulk bypass

capacitor (1 μF or greater) can be added in parallel to CDC.

A minimum capacitance of 0.0047 μF for CX, CY, and CZ is

recommended in all cases.

Filtering can be used to lower the noise floor to improve the resolution of

the accelerometer. Resolution is dependent on the analog filter bandwidth at

XOUT, YOUT, and ZOUT.

The output of the ADXL335 has a typical bandwidth of greater than 500

Hz. The user must filter the signal at this point to limit aliasing errors.

The demodulator output is amplified and brought off-chip through a

32 kΩ resistor. The user then sets the signal bandwidth of the device by

adding a capacitor. This filtering improves measurement resolution and

60

Page 61: Hand Gesture project

helps prevent aliasing.

The user selects the bandwidth of the accelerometer using the CX, CY, and

CZ capacitors at the XOUT, YOUT, and ZOUT pins. Bandwidths can be

selected to suit the application, with a range of 0.5 Hz to 1600 Hz for the X

and Y axes, and a range of 0.5 Hz to 550 Hz for the Z axis.

The Accelerometer sense the acceleration with respect to 3-axis . The

output from the ADXL 335 is Analog data which is amplified and

demodulated. Then its output is Amplified across 32kohm

resistance..Thus we obtain analog output by selecting the bandwidth

across the 3 axis by means of Capacitance (CX, CY, and CZ) which act

as low pass filtering.

Thus the Analog data from ADXL 335 is fed to the PIC 16F877A

Controller. The PIC consist of ADC which convert the Analog to Digital

Data and it is Compared with the Look up table which is stored in the

Flash memory. All the programming with in PIC controller has done

using Embedded C Programming.

Thus the Output corresponding to the Hand gesture is Display on the

LCD.

In the APR 9600 voice Recording is previously done using sample and

hold circuit and Analog write and read Circuit which is externally or

internally clock and the incoming message is stored in 26K Flash

memory.

Similarly the Digital output from PIC controller is fed to the APR 9600

Voice chip as Message Signal. According to the Message signal the

message stored in the Flash memory is Playback by low pass filtering

and then it is Amplified and then and playback via Speaker.

61

Page 62: Hand Gesture project

CHAPTER 7

ADVANTAGES AND APPLICATION

7.1.ADVANTAGES

MEMS Based Gesture Recognition.

Simple and economical System.

Portable.

Highly accurate and Faster system.

Easy to handle and Less skill is required to Operate.

7.2. APPILICATION

Gesture recognition system are used in

1. Inertial Sensing.

2. Defined gestures , such as taps, double taps or shakes.

3. More usable where physical buttons and switches would be difficult.

4. Button Free design which reduce overall cost and improve durability.

5. Mobile devices

6. Gaming systems

62

Page 63: Hand Gesture project

7.3.PROTOTYPE

Fig. 7.3.a. Acceleration Sensing Glove Hardware . Accelerometers are attached to the fingertips and back of the hand. A wrist controller sends the accelerometer data wirelessly to a computer.

63

Page 64: Hand Gesture project

CHAPTER 8

8.1 CONCLUSION

For the gesture learning stage, multiple samples were taken

for each gesture. On average about 28samples for each

gesture were taken to ensure a high chance of matching. Further

samples were taken on gestures if recognition was unreliable. In the

recognition stage, the text editor recognized the gesture . Thus in this

project the hand gesture are recognized and the corresponding

message is outlet to speaker. Thus this project provides human to

machine interaction directly without any physical contact. Thus it is

useful in various communication systems.

Thus the demonstration of accelerometers has been and it can be used to

effectively translate finger and hand gestures into computer interpreted signals. To this

end we developed the Acceleration Sensing Glove (ASG) that helps deaf and dumb to

communicate with others through voice commands.

64

Page 65: Hand Gesture project

REFERENCE

[1] http://robotics.eecs.berkeley.edu/ ~pister/SmartDust, September 1999.

[2] “Hand Job”, Wired Magazine, pp 57 January 2000.

[3] George Johnson, “Only connect from swarms of Smart Dust to secure

collaborative zones, the omninet comes to you”, Wired Magazine, pp150 - 164,

January 2000.

[4] Peter Weiss, “Smart Outfit”, Science News, pp 330-332, Vol. 156, November

20, 1999.

[5] Analog Devices, Norwood, MA, http://www.analog.com, September 1999.

[6] Bruce Thomas, Susan Tyerman, Karen Grimmer, “Evaluation of Three Input

Mechanisms for Wearable Computers,” IEEE 1997 pp 2-9.

[7] Flavia Caroppo, Massimo Chieruzzi, “Bit di futuro a portata di mano”,

Newton, pp 113-118. April 2000.

[8] Fukumoto, M and Tonomura, Y “Body Coupled FingeRing: Wireless

Wearable Keyboard”, CHI97 Conference Proceedings, pp147-154, Atlanta, March

1997.

[9] J. Perng, B. Fisher, S. Hollar, K.S.J. Pister, “Acceleration Sensing Glove,”

ISWC International Symposium on Wearable Computers, San Francisco, October

18-19th, 1999.

65