Download presentation
Presentation is loading. Please wait.
1
David Kim 396 Devin Galutira 396 Calvin Choy 396 Audio Feedback Handwriting Accessor
2
Problem Statement Writing is easy for non blind people Visual cues to aid in forming characters Blind people have no or limited writing capability due to lack of sight Signatures often done with a mark or x If we can teach a blind person to write... Then they can gain independence in the community, workplace & educational settings
3
Approach Archimedes requests for a device to be used in research to train blind people to use Audio feedback as a substitute for visual feedback. To develop one’s motor skills and muscle memory through Audio feedback & training.
4
Overview of Project Handwriting Device characteristics Device Equipped with Stylus Sensor – Accelerometer Microprocessor Sound Synthesizer Audio output
5
Initial Goals Mobile Device should be small and portable Easy to set up and use in different places User friendly To produce a continuous audio feedback Intuitive feedback to user To experiment and discover the optimal set of sounds that is pleasant to the user.
6
Block Diagram Basic Stamp (Microcontroller) Speaker (Audio Output) Accelerometer In Stylus SoundGin Synthesizer - Accelerometer sends time/frequency data to Microcontroller. - Basic Stamp then sends Audio Data in Serial SoundGin Format to Synthesizer - Speaker outputs SoundGin’s audio - Stylus is moving within stencil.
7
Design Decisions Accelerometer – Memsic 2125 Requested by Archimedes Ready on Hand, easy to use Small Package Size Cheap Basic STAMP Requested by Archimedes Ready on Hand Versatile & Powerful with many capabilities I2C, PWM, Serial for General I/O Pins
8
Design Decisions cont Sound Synthesizer – SoundGin Capable of producing smooth varying tones Six Oscillators Complex sound functions: modulation, mixing sounds Wired Stylus vs Wireless Simplicity for initial design Accelerometer Position Placed at the bottom of stylus for best sensitivity
9
Final Status Prototype Complete Plans for next version
10
Problem 1 Real time processing of accelerometer data Divided processing work by adding a Sound Synthesizer Basic Stamp – read & process accelerometer data SoundGin – create corresponding sounds Solution 1
11
Problem 2 Converting Accelerometer data to Frequency Tones SoundGin requires three 8 bit strings to the three registers: fine tune, mid tune, coarse -Accelerometer outputs digital PWM T1=time on, T2 = Period Stamp reads in digital PWM via Pulsin Command -T1(microseconds) is stored in a 16bit variable Solution 2
12
Solution 2 cont. We set the fine tune to 0, since its changes are negligble We split T1 into two 8bit strings. Upper 8 bits reserved for controlling middle tones Lower 8 bits reserved for controlling coarse tones midy=y & %11111111 'get binary value to coarsey=(y>>8) & %11111111 'set the oscillators midx=x & %11111111 'frequency. coarsex=(x>>8) & %11111111
13
Future Improvements -Reduce size of device to an elegant shaped stylus -Establish wireless communication (bluetooth, zigbee) between sound synthesizer to headset -Change method of reading in user movements, replace accelerometer w/optical mouse to record position -Incorporate panning to produce stereo sound
14
Questions? Thank You
16
Code ' {$STAMP BS2} ' {$PBASIC 2.5} '--[variables]------------------- x VAR Word 'store x and y axis pulse width as 16 bit varibales y VAR Word midy VAR Word 'store 8 least significant bits of pulse width for adjusting midx VAR Word 'mid frequency coarsey VAR Word 'store 8 most significant bits of pulse width for coarse coarsex VAR Word 'adjustment of frequency '--[constants]------------------- fine CON 0 esc CON 27 sec CON 3 osc1 CON 17 osc2 CON 33 soundgin CON 0 T9600 CON 84 OA1 CON 88 OA2 CON 89 Btn PIN 5 Initialize: PAUSE 1000 GOSUB SGreset 'reset soundgin SEROUT soundgin, T9600, [esc,OA1,200,esc,OA2,200]'turn on oscilator
17
Main: IF Btn=1 THEN 'check for pen pressure SEROUT soundgin, T9600,[esc,1,136,127]'set volumne DEBUG "volume on",CR DO WHILE Btn = 1'loop until button released PULSIN 1,1,y 'get acceleration for y PULSIN 3,1,x 'get acceleration for x y=y-1000 'set harmonics x=x-500 DEBUG "y=",DEC y DEBUG " x=",DEC x,CR midy=y & %11111111 'get binary value to coarsey=(y>>8) & %11111111 'set the oscilators midx=x & %11111111 'frequency. coarsex=(x>>8) & %11111111 SEROUT soundgin, T9600,[esc,sec,osc1,0,midy,coarsey]'set frequency SEROUT soundgin, T9600,[esc,sec,osc2,0,midx,coarsex]'for x and y LOOP DEBUG "volume off",CR SEROUT soundgin, T9600,[esc,1,136,0]'turn off volume 'ELSE 'SEROUT soundgin, T9600,[esc,1,136,0] 'DEBUG "?" ENDIF GOTO main 'main loop
18
SGreset: SEROUT soundgin, T9600, [esc,esc,esc,esc,esc,esc,esc,esc]'clear oscilator settings RETURN
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.