progress presentation final year project air-mouse for windows/linux pc colin grogan 06656404
TRANSCRIPT
Project BriefTo 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.
ComponentsThe 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.
Alternatives to BluetoothZigbee 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 BluetoothBluetooth 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 RecognitionNeed 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 PCWindows 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.
Design ProblemsThe 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 doGet 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.