Transcript Air Mouse

Final Year Project:
Design and Build an alternative
input device
Air Mouse
Colin Grogan
Design
• Air Mouse – Fit on a Glove
▫ No discomfort on hand when wearing
• Tilt of hand causes mouse to move on screen
▫ Design system so that angular positions are
predefined locations on screen - Unlike the nipple
on some keyboards and the Wii remote
• Try solve the “Gorilla-Arm” problem
Gorilla Arm
• The arm becomes very sore, inaccurate and
uncomfortable to use when held up in front of body with
no support.
• Destroyed mainstream touch screen technologies in the
‘80s.
▫ Problem today with, for e.g. Wii controllers
• Design air mouse to be ‘centred’ to any position
▫ This position will be the centre of the screen
▫ Deviations from this ‘centred’ position will cause the mouse
to move around the screen
▫ User will define which ever position is comfortable for
him/her (could be the users knee, the desk where the
mouse would be used normally, hanging beside his side,
anywhere really!)
Overview of System
PC Monitor
Bluetooth
Dongle
Glove
PC
toothPIC microcontroller:
Bluetooth
1 accelerometer
3 buttons
Data will be sent both ways, the PC will send configuration data to the device. This will then
take necessary readings and send the results back.


Configuration data will be sent only when a connection is established or when
configuration changes are made on the PC.
Readings from glove will constantly be sent to PC, unless user has turned off
transmission, e.g. if user wants to use the computers keyboard he could turn off
mouse.
Design Goals
• 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
Design Decisions and why
• Going to use a Toothpick microcontroller for the
device.
▫ Toothpick has a good amount of ports(for
accelerometer and buttons) and is coded in C.
▫ I have experience working with Toothpick’s.
• Using a Java application on PC to control the mouse
pointer.
▫ Have good knowledge of Java and can code efficiently
in it.
▫ Using Java to control the mouse means the device will
control a Linux machine too.
Sun Slogan: “Write once – Run anywhere”
What’s been done so far
• The Toothpick successfully transmits results
from accelerometer to PC via Bluetooth.
• Can use a Java class to move the mouse around
the screen
• Sadly they don’t work together. No native
Bluetooth support in Java
▫ Write my own, use 3rd party software
Things to Do
1)
1.
2.
Get mouse working effectively on the PC
3.
2)
Design applications on PC
1.
2.
3)
4)
Support for Virtual Serial (RS-232) over Bluetooth
Test accuracy and speed of transmissions – Try improve if not good
enough
Design buttons to connect to the Toothpick so user can press a mouse
button
1.
2.
A demo application to show how to use the mouse quickly and to
demonstrate the usefulness of the device
An app that can be used to control settings for use with the mouse –
Configuration, Calibration etc.
Design an algorithm for Gesture Recognition
Must reliably detect gestures as they are made by the user
The gestures must be configured by the user to do whatever – Launch
a program, perform a keystroke etc.
Research whether it’s feasible to use LED’s to detect finger
positions to perform recognisable gestures