Final Year Project

Download Report

Transcript Final Year Project

Final Year Project
Progress Presentation
Air-Mouse for Windows/Linux PC
Colin Grogan
06656404
Project Brief
 To design and build an air-mouse that can give accurate
control over a Windows/Linux based PC.
 Aimed at people who may have minor movement disabilities
in their hands or arms and thus cannot comfortably use a
conventional mouse.
 To make a virtual keyboard so the user can enter text
without using the physical keyboard.
Components
 The Toothpick will take readings from an accelerometer
and 2 to 3 buttons and send the results to the PC.
 The PC will then decipher the results and control the
mouse.
Diagram of System
Alternatives to Bluetooth
 Zigbee Technology
 Like Bluetooth, is a wireless networking standard.
 Used in large scale control and sensor networks e.g. Museum
Security grid.
 More suited to be used in a system with a low data rate per
connector e.g. Sensors in a Security Grid will only send data to
turn on an alarm when something is wrong.
Why Bluetooth
 Bluetooth is more suited to a small scale project such as this.
 Bluetooth is used for high speed applications, battery life
suffers as a result.
 Bluetooth is suited to this project more than Zigbee because
a large amount of data will need to be sent continuously.
 And importantly, the Toothpick comes with full Bluetooth
support.
Gesture Recognition
 Need to design an algorithm that will work with my device.
 Primary idea:
 When user is entering a gesture, save all points to an array.
 Translate array to top-left portion of screen (i.e. 0,0).
 Work out what shape has been drawn and compare to list of shapes.
 Execute command associated with found shape.
 Alternative idea:
 Assume the mouse can move in 8 directions (N, NE, E, SE, S, SW, W, NW)
 When mouse moves, say 10 pixels, in a certain direction, append the letter
corresponding to that direction onto a string.
 When user is finished entering gesture, compare string with a list of strings.
 Execute command associated with the found string.
Milestones
 Pass:
 Design and build a working air mouse that will move the mouse in real time on
the computer
 Average:
 Design and build demo and configuration software on the PC for the air mouse
 Good:
 Design a working gesture recognition algorithm for the mouse
 Design a application on the PC so that users can define their own gestures for
later use
 Very Good:
 Get LED’s and a Webcam to detect finger positions for more input options to the
PC
 Exceptional:
 Get both systems working effectively together
Progress!
 Currently, I am at my Pass milestone.
 I have the Toothpick sending data over to the Windows PC
 Windows driver program is moving the mouse around the screen
successfully.
 No buttons implemented in hardware yet, easily done in software.
 There’s some problems though!
 The mouse is very jumpy around the screen, I think this is because of
2 problems.
 The Voltage Regulator is getting very hot so probably not giving out clean 5V.
 The PC software is sometimes picking up a number received from device as a
negative number. The Mouse goes haywire when set to this position.
 Just need to change the regulator and debug the code.
Current device hardware
Design Problems
 The accelerometer only gives unique values between -90° and +90°.
 Thermal based accelerometer.
 Repeats itself outside of these values.
 Means I cant set any position for the accelerometer as the starting or ‘centre’
position.
 Requirement of the project was to allow mouse to be used by the persons
side or resting on leg.
 Possible fix?
 Use 2-3 of the same accelerometers to get a reading at every possible
position.
 Can be very messy to get working.
 Easier fix.
 Get an accelerometer that uses a different technology i.e. Not thermal based
Things to do
 Get libraries to control mouse and serial port under Linux.
 Write the driver software to control mouse with Linux –
Should be very similar to Windows application.
 Gesture recognition.
 Write the gesture recognition application to work with the
driver application.
Any Questions
References
 Ubuntu .iso – www.ubuntu.com
 Images
 Toothpick – www.microchip.com
 Windows – www.microsoft.com
 Ubuntu – www.ubuntu.com