June
2006, Issue 191
Nontraditional
Cursor Control
ATmega32-Based
Motion Sensing
Andrew
and Joseph’s motion-sensing glove enables you to control
the cursor on your computer screen without the use
of a mouse. Built around an ATmega32 microcontroller,
the system functions as a two-button mouse with vertical
scrolling.
by
Andrew Sawchuk & Joseph Tanen
TESTS
& RESULTS
As
was mentioned earlier, we altered our design slightly
from our original idea. Our first design integrated
our measured accelerations to translate the lateral
movement of the mouse into a position change. We couldn’t
remove the effects of rotating the glove from our integration,
so it was extremely prone to error because any roll
or pitch of the device introduced unwanted acceleration.
So,
we decided to base our motion on the very thing that
made our first design improbable—the roll and pitch
of the device. Rolling the device counterclockwise moves
the mouse to the left. Rolling it clockwise moves the
mouse to the right. Pitching the device toward you moves
the mouse down. Pitching it away from you moves the
mouse up. The vertical motion of the mouse is reversed,
much like a joystick in a flight game. We found that
this type of motion is easier to adapt to than having
the pitch noninverted.
The
final step in the process was to see how users would
respond to the Airmouse. We tested the glove with a
small group of users of different ages, genders, and
levels of computer experience. We first had the users
navigate the Windows operating system just to get a
feel for the mouse. We then gave each user the opportunity
to play the popular online first-person shooter game
Counter-Strike: Source.
At
first, the users’ input actions seemed pretty clunky
and cumbersome with the completely new method of mousing.
Within a short amount of time, however, many of the
users were able to operate the Airmouse without too
much difficulty. After approximately 5 min. of using
Windows, most of the users were pretty proficient (see
Photo 3). We found that they could get whatever they
needed to access within a second or two.
|

(Click
here to enlarge)
|
Photo
3—The Airmouse in action! Here a user is adapting
to the Airmouse while playing Freecell, one of the
best games ever. We would like to mention that the
large development board sitting next to the laptop
is not, in fact, part of our system. We used it
to program the ATmega32 microcontroller. |
As
soon as they were reasonably comfortable using the Airmouse,
we asked them to play several rounds of Counter-Strike:
Source. That amounted to about 15 or 20 min. of game
play per person. Some of the users had played the game
before. After just a couple rounds, the more experienced
players clearly had the hang of exactly how the mouse’s
movements correlated to the character’s movements in
the game.
The
most common user response was that the mouse was highly
accurate for fine-tuning the aiming of the crosshairs
in the game. The users said it was easy to make subtle
movements. The biggest problem they reported was having
difficulty turning the character around 180° in order
to shoot back at an opponent. This suggests that the
Airmouse is better suited for applications that require
precise control rather than quick movements (e.g., a
flight simulator).