However, in our case the tilt of the Wiimote won’t
vary more than 10°, so the following formulas can
be used to find the direction of tilt.
α= kgy
β= kgx
k: constant
To control a simple 2-wheeled robot, you would
send:
left motor = α+ β
right motor = α − β
If someone wearing the helmet tilts his head
forward 1° then the robot will move forward at
(depending on k) 10% power. If he tilts forward 2°
and left 1° then the robot’s left motor moves forward
at 10% and right motor at 30%, so the robot moves
in an arc to the left.
If you want a real challenge, figure out how to
receive gyroscope data from the Wii MotionPlus
controller extension for a more accurate, less
bumpy Mind Surfer.
The design of the Mind Surfer revolved around my
notions about how humans interact with machines,
but it also led me to a deeper appreciation of the
union between mind and body.
RESOURCES
Here are several programs you can use to receive
data from a Wii Remote:
H
I
DarwiinRemote
sourceforge.net/projects/darwiin-remote
Like a WiinRemote for Macs, it automatically
outputs to your cursor.
GlovePIE
glovepie.org/glovepie.php
A popular program featuring both a GUI and a code
interface that can receive inputs from various controllers, including the Wii Remote, and output them
as mouse, keyboard, or joystick controls.
LabVIEW interface to Wii Remote
decibel.ni.com/content/docs/DOC-1353
The program I originally used for the Mind Surfer,
LabVIEW, has sample programs available to receive
data from the Wii and can easily be customized for
many applications.
To see video of the Mind Surfer controlling
my Lego NXT robot, check
photopixels.com/
thebakken/video.
Mark Ulrich lives in Minneapolis and is currently a senior at
Southwest High and captain of the school’s FIRST Robotics
Team. He’s interested in studying computer science.
56 Make: Volume 22