We are asked to develop a short game which is controlled with the Wii-controller. Since it is expensive and not too easy to develop for the Wii itself (you require a SDK from Nintendo and permissions once the game is finished) we decided to develop it on the PC. It is possible to connect your Wii-mote with the PC using bluetooth. There are multiple libraries to do so.
I was curious what kind of feedback you get from the Wii-mote and where it fails (in light of the news about the Wii motion plus). There are some issues around getting your Wii-mote connected to a PC by bluetooth, not every stack is good, nor areall bluetooth chipsets, however the MacBook supports the Wii-mote out of the box. So I connected the Wii-mote to my MacBook instead and used the DarwiinRemote application to get a reading from the sensors.
DarwiinRemote sensor readings.
The wii-mote is equiped with an accelerometer, which does not record the position of the wii-mote. What is does is that it records the different forces (accelerations) that are applied to the controller. So in rest it will record a force of 1G down (z= -1). If you hold the controller upside down it will record a force of 1G up (z = 1) (seen from the point of view of the controller). If you hold it on its side the reading will be x=1 or x=-1 or y=1 or y= -1, depending on the side. The other axis will be 0 in rest. Actually since in rest the only force acting on the controller is earth gravitation, which is 1, the absolute sum of the forces on x, y and z will be 1.
Wii sensor reading in three orientations.
With this knowledge you can deduce the orientation of the Wii-mote from the readings above. In the beginning the Wii-mote is held horizontal pointing forward (blue line at -1). Then the Wii-mote is rotated along its body, the left side is pointing up (red line at 1). Finally the Wii-mote is pointing downward (green line at 1). Note that we do not know how the Wii-mote is pointing downwards (whether the buttons facing forward or sideways). When you start moving the Wii-mote the forces applied on the Wii-mote easily surpass the 1G and when that happens it is much more difficult to deduce the orientation. The new Wii-motion Plus extension is supposed to solve this problem. From what I’ve seen and read it most likely will use a gyroscope to calculate the orientation of the Wii-mote regardless of the forces applied to it.