El año pasado (técnicamente hace dos, porque fue en Diciembre de 2008) diseñe un pequeño sistema para controlar SecondLife con la nariz y un Wiimote. Ahora tengo otro proyecto en mente y me venía muy bien usar un Wiimote con capacidad para apuntar (vamos, que necesito la barra de sensores). Creí que iba a tener que hacer maravillas, pero resulta que ya está totalmente soportada y por las pruebas que he hecho (pocas la verdad) parece que servirá sin problemas.
Lo primero que se necesita es una implementación Bluetooth que soporte el Wiimote. Supuestamente Windows 7 es capaz de hacerlo y en mis pruebas el dispositivo emparejaba, pero no había forma humana de que los scripts (comento luego) funcionasen. Yo os recomiendo BlueSoleil que sólo ocupa 100MiB y es de pago… si alguien tiene alguna sugerencia, soy todo oidos.
Una vez hecho eso, conectar el Wiimote no es ningún problema, simplemente abrid “Sitios Bluetooth”, presionad los botones 1 y 2 del wiimote simultaneamente y aparecerá en la pantalla. Hacéis botón derecho sobre él y “Conectar Dispositivo de interfaz humana Bluetooth”.
Lo siguiente es bajarse GlobePIE, que se encargará de traducir los movimientos del Wiimote en movimientos de teclado y/o ratón. Ahora bien, como ese mapeo depende del contexto, necesitáis crear scripts apropiados para cada tarea que queráis llevar a cabo. Para las más genéricas, como mover el ratón, hay scripts predefinidos que vienen con GlobePIE y por Internet hay muchos ;)
Entre los que he probado están “WiiMouse Accel” y “WiiMouse IR” (ambos vienen con GlobePIE). En ambos casos hay que “calibrarlos”. Las primeras líneas de ambos scripts dicen que se modifiquen los tres valores (eje x,y y z) para que resulten 0 manteniendo el Wiimote en una superficie plana (y perpendicular a la pantalla claro). Lo que no dicen es que para poder leer esos valores hay que decirle al script que muestre la salida de debug.
Para calibrar el Wiimote en los scripts tienes que localizar la linea que comienza por “debug =” y añadir una línea a continuación que diga “display debug”. Tras esto deja el wiimote en la mesa y ejecuta el script, te dará valores para los tres ejes. Tendrás que restar o sumar esos valores a los que hay en el script para que resulten 0. Estos valores dependen de cada Wiimote… así que si cambias de mando, deberás volver a calibrarlo.
En el caso del “WiiMouse Accel”, GlobePIE estará pendiente únicamente del acelerómetro, así que no habrá posibilidad de apuntar, se maneja moviendo el Wiimote como una llave. El caso de “WiiMouse IR” es el mejor, pues se acompaña de la barra de sensores y permite apuntar además de usar el acelerómetro. Ahora bien, ¿cómo conectamos la barra de sensores al ordenador?
No necesitas conectar la barra al ordenador. Dado que la barra son sólo dos emisores de luz a un distancia X, con que esté encendida nos sirve, así que se me ocurren dos soluciones:
Plan cutre: Conecta la barra a la Wii, enciéndela y pon la barra en la pantalla del ordenador.
Plan sofisiticado: Currate un adaptador para conectar la barra al USB.
Si prefieres el plan sofisticado, puedes crearte una barra por cuatro duros. Los chicos de Instructables te dicen como :)
Plan mas cutre todavia, dos velas …