Programar un Wiimando en Visual Studio .NET

WiiAy! las Navidades (suspiro)… una época donde además de comer cosas ricas, podemos pasar más tiempo con la familia y amigos, y en mi caso: estar con mis sobrinos y jugar un rato con sus videoconsolas. Este año, Papá Noel ha sido generoso y les ha traído una de las escasas Wii.

Y claro, no hemos podido resistir la tentación de comenzar a meterle caña al mando de la Wii. Para ello, utilizamos una librería de control del Wiimando escrita en Visual Studio. El código fuente de la librería WiimoteLib está disponible en CodePlex.

El primer paso es vincular el Wiimando como dispositivo Bluetooth al ordenador. Para ello no necesitas realmente la consola, y lo puedes vincular tanto en PC con Windows, como en un sistema GNU/Linux o MAC. En este artículo explican todo el proceso de vinculación y cómo funciona la librería.

Wiimando

Esta librería sirve para controlar el Wiimando y también los Nunchuk. Esto quiere decir que con ella puedes leer los botones pulsados, los joysticks, y también los valores de los 3 acelerómetros (dispositivos que permiten captar desplazamientos y rotaciones en los tres ejes) que contiene cada uno de los mandos. Por último, también puedes leer el Control Remoto Wii que detecta el movimiento en un espacio tridimensional, mediante el uso de infrarrojos (IR).

Wiimote o Wiimando: En su cara frontal, el Control Remoto Wii presenta los botones «A», «1», «2», «+», «-«, «HOME» y «POWER», junto a una cruz direccional. En la parte anterior sólo presenta el botón «B», en un formato similar a un gatillo.

Nunchuk, o Nunchako, es una expansión para el mando inalámbrico de Wii. Dispone, como éste, de un sensor de movimiento y añade tres comandos al mando de Wii. El mando de Wii, inicialmente, consta de los siguientes botones:

  • Cruceta de control
  • Botón A
  • Botón B (en la parte trasera)
  • Botón –
  • Botón +
  • Botón home
  • Botón 1
  • Botón 2

Por si esto fuera poco, no sólo puedes leer los valores enviados por los mandos y el sensor de IR, sino que también puedes enviar tú información al mando; como por ejemplo, encender los leds azules del mando o hacerlo vibrar!

Manejar mapas 3D (Virtual Earth) con la Wii

La siguiente aplicación muestra cómo navegar sobre un mapa virtual de la tierra con el mando de la Wii.

Wiimote Interface for Virtual Earth
Wiimote Interface for Virtual Earth

Todo el código fuente (y su explicación) de esta aplicación lo puedes ver aquí. El código está disponible en C# y también en Visual Basic .NET. Éste último tiene un pequeño bug, que te será fácil encontrar (http:’ en lugar de http://).

La experiencia

La verdad es que pudimos pasar una tarde entretenida, muy divertido y aprender un poco más sobre cómo funciona este dispositivo. Ahora hay vía libre a la creatividad y toca pensar qué otros usos útiles y entretenidos se le pueden sacar a la Wii. Una muestra espectacular de esta creatividad, son los proyectos de Johnny Chung Lee para la Wii… no deja de sorprenderme: interface con los dedos tipo Minority Report, pizarra electrónica, casco de realidad virtual… ¿qué será lo próximo?

La verdad es que se me han quedado una ganas tremendas de comprarme un mando para trastear con él… y de paso una Wii (entera) para jugar… ¿lo puedo comprar a cargo de la UPV? … al fín y al cabo, es para investigar!!!

Bueno, espero que os sea útil y divertido, podéis compartir vuestras experiencias al respecto en los comentarios.