Quantcast
Viewing latest article 6
Browse Latest Browse All 10

Mi Proyecto Fin de Carrera (PFC): WiiAirBoard, WiiGestures y WiiHome

El pasado mes de septiembre, tras cinco intensos años, acabé la carrera de Ingeniería Informática. Como es normal en las ingenierías, tuve que hacer el Proyecto Fin de Carrera (PFC). Tras cambiar dos veces de proyecto (primero un desarrollo para Second Life, que nunca me terminó de convencer, y posteriormente otro de red social), acabé realizando bajo la supervisión de mi director de proyecto David Contreras uno centrado en el Wiimote de Nintendo. Para mí, mucho más motivador e interesante.

Inicialmente me familiaricé con las librerías de desarrollo de Wiimote para C# (podéis ver tutoriales que escribí en Ohmybug.com #1, #2, y #3) y estuve estudiando los famosos desarrollos de Johnny Chung Lee, que si bien son impresionantes (y mucho más en su momento), no tenían una aplicación práctica directa. El objetivo principal de mi proyecto era crear una serie de aplicaciones que sacasen partido a las ideas de Johnny y que tuviesen una función más “real”, y por lo tanto más orientada al usuario final.

Tras crear varias aplicaciones de prueba para familiarizarme con las librerías, creé otras con más “sustancia” y una aplicación más directa. Y como he venido aquí a hablar de mi libro mis aplicaciones, pues os las cuento con algo más de detalle:

Funcionamiento general

Una de las ideas más originales que tuvo Johnny fue la de cambiar el punto de vista del propio Wiimote. El mando fue concebido para ser utilizado en mano y gracias a los acelerómetros y la cámara de infrarrojos, captar los movimientos de la mano del usuario. Dicha cámara capta la posición de varios leds de infrarrojos situados en la barra que se suministra con la consola y que hay que situar encima o debajo de la pantalla de televisión. Lo que hizo Johnny en algunos de sus experimentos fue darle la vuelta a ese esquema, y que fuera el mando el que permaneciese estático encima o debajo de la pantalla, mientras que el usuario se responsabilizara de emitir luz infrarroja.

Para emitir dicha luz infrarroja, puede usarse un lápiz dotado de un led infrarrojo, o un guante con la misma función. En ambos casos existe la posibilidad de encender y apagar la luz mediante un pulsador, para que el Wiimote “nos vea” sólo cuando nos interese.

Image may be NSFW.
Clik here to view.
esquema_pfc

Todas las aplicaciones que podéis ver a continuación comparten este funcionamiento. En su proceso de creación quise darle un uso más práctico a estas ideas. Y como es más fácil entender todo esto en movimiento, os pongo unos vídeos:

WiiAirBoard

De las tres aplicaciones que muestro, ésta es la más sencilla pero a la vez muy vistosa. Se trata de realizar trazados en el aire y trasladarlos a un programa de dibujo (como el Paint de Windows), de forma que de la sensación de estar “pintado en el aire”, por decirlo de alguna manera. Basta con mantener pulsado el botón del guante o boli para dibujar (se enciende la luz infrarroja) o soltarlo para no hacerlo.

http://www.youtube.com/watch?v=DiNJHckcnZo

WiiGestures

La segunda aplicación también ha sido pensada para utilizar como capa intermedia entre el Wiimote y aplicaciones convencionales. Lo que hace es detectar un total de ocho posibles gestos (horizontales, verticales y diagonales) y realizar una acción en base a ello. La acción es mapeable a teclas del teclado, es decir, si hacemos, por ejemplo, un gesto horizontal hacia la izquierda con la mano (y la luz infrarroja activada) se simulará que se ha pulsado la tecla de la flecha izquierda (o la que hayamos configurado).

En el siguiente vídeo se puede ver como avanzo y retrocedo a través de una serie de imágenes con números utilizando el visor de Windows. Lo cierto es que en este ejemplo demuestro poco las posibilidades de la aplicación, ya que sólo utilizo dos de los ocho gestos disponibles, pero creo que al menos explica bien la idea de WiiGestures.

http://www.youtube.com/watch?v=ARPaSvxFP84

Un uso bastante útil y que utilicé en mi defensa del proyecto fue pasar las diapositivas de Powerpoint haciendo movimientos hacia la derecha (avanzar) y hacia la izquierda (retroceder).

WiiHome

Por último una aplicación que sí dispone de un interfaz gráfico propio (los otros tienen únicamente una ventana de configuración). WiiHome está pensado para controlar la casa mediante dispositivos domóticos. Ejemplos: encender y apagar una luz, la televisión, activar o desactivar una alarma, etc. Para ello he diseñado un interfaz con botones grandes y que permite recorrer virtualmente la casa a través de un mapa para elegir habitación, y una serie de fotos con las que poder ver las distintas perspectivas de cada una de ellas. En una de estas perspectivas es posible tocar uno o varios elementos para activarlo. Por ejemplo, podemos “tocar” (que he implementado como apagar y encender la luz del guante rápidamente dos veces – una especie de doble clic – utilizando el pulsador) una lámpara y se encenderá, quedando reflejado su estado en la propia perspectiva. Si la volvemos a tocar, se apagará. Además, disponemos de un mapa para elegir habitación, y unas flechas para elegir la perspectiva.

Podéis entender mejor cómo funciona en el siguiente vídeo:

http://www.youtube.com/watch?v=czdXKnME4og

Para manejar las lámparas he utilizado controladores y actuadores con el protocolo de domótica X10. Donde creo que esta aplicación tiene más sentido y utilidad es en tener el control de la casa en entornos poco amigables con el teclado y ratón como puede ser la tele del salón, donde no se suelen poder manejar de forma cómoda estos dispositivos.


Viewing latest article 6
Browse Latest Browse All 10