jueves, 16 de junio de 2011

PDI low cost con un Wiimote

Cuando oí hablar sobre la posibilidad de montar una PDI utilizando el mando de la consola Wii de Nintendo (el Wiimote) me dio la impresión de ser el típico montaje que te cuesta muchísimo de hacer y que luego te da un resultado regular. No podía estar más equivocado.

Después de hacer la investigación inicial, encontré sin mucha dificultad la información necesaria y en pocos días tuve la PDI funcionando perfectamente. Escribo este post después de haber dado clase a diario con mi flamante PDI durante unos 5 meses sin el más mínimo problema.

El fundamento del montaje consiste en que el Wiimote es una cámara de infrarrojos que aparte de su utilidad original como mando de la consola Wii, es capaz de captar un punto de luz emitido por un led infrarrojo como los de los mandos a distancia de TV, DVD, etc. El Wiimote también tiene capacidad de conexión bluetooth que será como se conectará al ordenador. Johnny Chung Lee, investigador de Microsoft, ha desarrollado un sencillo programa que permite conectar el Wiimote a Windows y detectar un puntero infrarrojo como el puntero del ratón.

Post en castellano donde se explica todo con detalle

Página de Johnny Chung Lee donde explica el proyecto de la PDI con Wiimote y otros.

Video de Johnny Chung Lee explicando el proyecto

Soft WiimoteWhiteboard v3.0 (Johnny Chung Lee). Es gratuito.

Soft WiimoteWhiteboard 64 Bits (Modificado por Rambler y corregido por Per Thomas)

Software para poder conectar el Wiimote a windows via bluetooth.

Software para Linux (Via Toni Ligero). Hay que instalar el archivo en debian/ubuntu/mint/lliurex

Software para Linux 64 Bits (Via Toni Ligero)

El Wiimote se puede utilizar de manera portátil (sin hacerle nada) o instalarlo de manera fija en el techo. La ventaja de la primera modalidad es que tenemos una PDI portátil que podemos utilizar en cualquier sitio donde dispongamos de un proyector. La segunda modalidad es interesante para ser utilizada siempre en el mismo sitio, ya que una vez calibrada ya no hay que recalibrarla.

Vista general de la instalación


Detalle del mecanizado para la instalación del Wiimote al techo


Canaleta donde se ha instalado el interruptor y el pulsador


Detalle del interruptor y el pulsador



El inconveniente que tenemos en este caso es que hay que hacer una modificación en el Wiimote por lo que hay que tener nociones de electrónica. Hay que sacar cuatro cables, dos que vayan a un transformador de 3V para evitar las pilas y los otros dos que vayan a un pulsador que supla el botón de sincronización del Wiimote que hay que pulsar cada vez que queremos realizar la conexión con el ordenador. En caso de saber hacer esta modificación, la instalación es inmejorable.

El puntero infrarrojo se puede comprar pero no es difícil de fabricar. Se puede utilizar un led de un mando a distancia que no funcione. Con una pila de 1,5v no hace falta resistencia.
Se puede utilizar sobre pantalla de proyección o sobre pizarra blanca. Lo ideal sería una pizarra blanca mate “para proyección” con el fin evitar el reflejo de las pizarras blancas normales. Para utilizar el puntero no hace falta que apunte al Wiimote ya que si apuntamos a la pizarra (tocando en la superficie o no), el led proyecta un punto de luz infrarroja sobre ella (que no vemos) y que es detectado perfectamente. La precisión es muy buena.

Componentes para la fabricación del puntero infrarrojo


Puntero infrarrojo montado



Algunos detalles que he observado a tener en cuenta:

- Una entrada de luz (ventana en frente de la pantalla) que incida directamente a la pizarra (aunque sean reflejos) puede confundir al wiimote.

- Funciona correctamente con Windows7 32bits (no funciona con 64bits)

- Si en el centro se dispone de una PDI Smart, podemos instalar el software de esta pizarra de manera legal en cualquier ordenador del centro desde la web oficial. Sólo necesitamos el número de serie de la PDI. Este soft, como cualquier otro de PDI, funciona perfectamente con nuestra instalación.


Conexiones en el interior del Wiimote para instalarlo en el techo.

Lamentablemente no hice fotos del Wiimote desmontado con los cables soldados pero como me han preguntado la manera de hacer las conexiones, he buscado un par de fotos para poder explicarlo.

Cuando abrimos el compartimento de las pilas encontramos un botón rojo que sirve para realizar la sincronización con el ordenador vía Bluetooth (equivalente a pulsar los botones exteriores 1 y 2 de manera simultánea).

Debemos soldar cuatro cables al circuito interno del wiimote:
- Dos al botón de sincronización mencionado anteriormente que irán a un pulsador externo suplirá dicho botón.
- Los otros dos a los terminales positivo y negativo donde se apoyan las pilas. Estos cables irán a parar a un transformador de 3V DC que puede ser un cargador de móvil o un transformador de cualquier otro aparato.

En la foto vemos el botón de sincronización y los terminales de las pilas.




En la siguiente foto vemos el otro lado del circuito que será donde soldaremos los cables. Las letras A y B son los terminales de las pilas (negativo y positivo respectivamente). Las letras C, D, E y F son las conexiones del botón de sincronización. Los dos cables del pulsador externo deben ir a los puntos C y D.




Los cables deben ser finos porque la alimentación tendrá muy poca intensidad de corriente y los de sincronización apenas nada. Si los ponemos un poco gruesos tendremos problemas para cerrar la caja y poder sacarlos al exterior.

9 comentarios:

  1. Enhorabuena por el artículo, me será de gran utilidad para montar una pdi low cost en el cole y bajo linux.
    Qué pasada la regleta con los interruptores del wiimote, a ver si me animo y consigo seguir tus pasos. ¿Podrías detallar dónde se conectan los 4 cables?

    ResponderEliminar
  2. Ya tengo en marcha la PDI!! No pensaba que fuera tan fácil, si tienes los materiales y todos los pasos claros en una hora puedes fabricarte el puntero y hacer funcionar la pizarra.

    El mayor problema ha sido el lápiz IR. Compré un led infrarrojos modelo CQY99 (5V-150mA-5mm) que NO funcionaba con el wiimote, sólo servía si apuntabas directamente la cámara lo cual lo hacía inservible.
    Así que después de muchas pruebas he sustituido el led por el de un viejo mando a distancia y funciona a la perfección con una pila AAA.

    Ahora me queda solucionar un problema con internet. Cuando conecto el wiimote al PC la conexión wifi se vuelve insoportablemente lenta. He probado desde 2 portátiles con Ubuntu 10.04 y 11.04.

    En fin, saludos y mil gracias por el artículo!

    ResponderEliminar
  3. Hola Toni, gracias por los comentarios y la aportación que has hecho del software para Linux.

    He actualizado el post y he añadido dicho soft y las conexiones que se tienen que realizar dentro del Wiimote para sacar los cables necesarios e instalarlo en el techo.

    El tema de la ralentización de la wifi no lo he notado en Win7.

    Salud.

    ResponderEliminar
  4. Gracias por la explicación, Xavi, qué buena idea las conexiones al wiimote, y menuda currada de explicación!

    Lo del wifi lento no pasa en el equipo de sobremesa, quizá sea un conflicto entre el bluetooth y los chipset atheros integrados en placa.

    Por cierto, si alguien tiene problemas para instalar el software en Linux 64 bits también existe este otro proyecto que funciona a la perfección, tal y como detalla el creador del linux-whiteboard en su web: http://github.com/pnegre/python-whiteboard

    Saludos y gracias!

    ResponderEliminar
  5. Gracias también a ti por las aportaciones.
    Un saludo.

    ResponderEliminar
  6. Hola, Xavi!

    He seguido tu esquema y funciona perfectamente, incluso con un mando pirata de 20€ del saturn.

    Un cosilla, los links para linux han cambiado:
    32 bits
    http://code.google.com/p/linux-whiteboard/downloads/
    64 bits
    https://github.com/pnegre/python-whiteboard/wiki/

    Gracias por todo, un saludo!

    ResponderEliminar
  7. Me alegro mucho, Toni. Ya he actualizado los links.

    Voy a tener que mirar eso del mando pirata que me ha gustado la idea.

    Saludos y a disfrutar de la PDI.

    ResponderEliminar
  8. Hola Xavi, estoy intentando sincronizar el bluetooth con el mando de la wii y no hay manera porque lo estoy haciendo con windows 7. Necesitaría que me orientaras en como sincronizarlo porque con el programa de Chung Lee ni se me abre. Gracias y un saludo.

    ResponderEliminar
  9. Yo lo utilizo con Windows7 sin problemas, aunque como comento en el post, debe ser 32 bits.
    La conexión con el Wiimote se hace con el software BlueSoleil. Cuando lo instalas te aparece en el escritorio y en el navegador de Windows un icono de “Bluetooth Places”. Si pulsas los botones 1 y 2 del wiimote o el botón rojo de sincronización (compartimento de pilas) y luego abres “Bluetooth Places”, debe aparecerte primero un dispositivo sin nombre concreto y luego lo identifica como “Nintendo…”. Al hacer doble clic sobre este dispositivo (el wiimote debe tener las luces parpadeando, esperando la sincronización) se conecta y cambia de color a verde. Entonces ya se te abrirá el programa de Chung Lee.

    ResponderEliminar