martes, 21 de agosto de 2007

TUTORIAL: Wiimote en PC + Barra Sensora USB

Hay que admitirlo: la Wii causó (y causa hasta hoy) sensación. Los fanboys de otras consolas podrán alegar lo que quieran: que es infantil, que pasará de moda pronto... será infantil, pero me entretuve como chancho jugando bowling en la sala de estar de un amigo. Cuando la Wii salió a la venta, una pregunta que se hacían muchos ñoños era cómo funciona el wiimote, qué hace la barrita que se pone sobre la tele...


Todo eso se respondió hace rato, así que no voy a entrar en historias. Para resumir:
  • La barra sensora no es más que unos LEDs infrarrojos. No emiten ninguna señal especial ni reciben nada. Incluso se podría reemplazar por velas, controles remotos o una caja de cartón con hoyos frente a una ventana, da lo mismo.

  • La placa oscura en la punta del wiimote esconde detrás un sensor infrarrojo capaz de distinguir hasta 4 puntos de luz al mismo tiempo.

  • Además del sensor infrarrojo, el wiimote tiene un giroscopio y un acelerómetro, que registran todo el movimiento y rotación del control.

  • El Wiimote se comunica con la Wii usando Bluetooth.

Entonces... ¡nada nos impide usar el control en el computador! Ya hay varios tutoriales de cómo hacerlo, pero no sé si habrá uno en español, y como primer tutorial de mi blog no viene mal :D ¡A trabajar se ha dicho!


Materiales:

  • Un wiimote (el nunchuck y/o classic pad son opcionales)

  • Un adaptador bluetooth (hay unos USB muy baratos y bien decentes) más un stack bluetooth (de preferencia BlueSoleil, debería venir con el adaptador)

  • Un cable USB que no usen (comprar un alargador es buena opción)

  • Cables delgados, compren 1 m sólo por si acaso

  • LEDs infrarrojos y unas resistencias (qué tipo y cuántas depende de cómo armen la barra, lo veremos más adelante)

  • Pelacables, cautín con soldadura, huincha aislante (y a lo mejor una pistola de silicona si lo quieren hacerlo sellado desde el principio)

  • Algo donde poner los LEDs: un lápiz plástico, una plancha de esas perforadas (¿nombre plz?), lo que sea... yo usé una regla y 2 cartuchos de tinta vacíos XD

Acerca de los LEDs y resistencias y su disposición:

Es importante que piensen cuántos LEDs quieren usar y cómo los van a poner:

La barra de la Wii usa 10 LEDs divididos en dos pares de a 5, puestos en abanico para abarcar un mayor ángulo. La mayoría va a querer usar esto en su computador de escritorio, así que no van a necesitar tantos, pero ojalá usen más de 2. Los más cortos de plata pueden lijar un poco la punta de los LEDs para difuminar la luz y ahorrarse unas lukas.

Si ya decidieron cuántos LEDs quieren usar, busquen en tiendas de electrónica cuáles tienen. Es importante que cuando se decidan por algún tipo anoten su amperaje y voltaje. ¿Listo? Perfecto, ahora entren al LED Wizard. Con esta herramienta verán cómo soldar sus LEDs y qué resistencias necesitan. Rellenen los datos así:
Voltaje, Amperaje, cantidad de LEDs

A lo mejor el Wizard les va a dar varias alternativas para la disposición. Busquen la que mejor se acomode a como piensen poner los LEDs y anótenla. Vean los valores de las resistencias, específicamente la resistencia (duh) y la potencia. Teniendo estos datos, están listos para comprar todo.



Tamaño de la barra:

La barra de la Wii mide 20 cm de largo y tiene una distancia útil de 5 m. Con eso pueden calcular más o menos cuánta separación quieren entre los LEDs. Yo usé 2 pares: uno a 20 cm y otro a 2 cm. Así puedo tapar uno de los pares y usarlo tanto de cerca como de lejos.

Con todo esto listo, ya podemos empezar ^^



¡A SOLDAR! (Gracias a ModPulse por el tutorial en que me basé)
  1. Tomen su cable USB y corten la punta donde NO está el enchufe macho. Piensen qué tan lejos quieren poner la barra de su computador y añádanle a eso un márgen de unos 10 cm, sólo por si acaso.

  2. Sáquenle la cobertura plástica a una altura de unos 2 cm de la punta cortada. Luego corten/abran CON CUIDADO la cobertura metálica aislante. Van a tener algo así (imagen sacada descaradamente de ModPulse hasta que haga otra barra :P):

    Los cables verde y blanco transmiten información, así que no los vamos a usar. Aislen estos dos con huincha. El cable rojo lleva 5 V y el negro es tierra, y son ésos con los que van a trabajar.

  3. Con eso están listos para soldar todo. No puedo decirles exa ctamente cómo lo tienen que hacer, depende mucho de cómo hayan escogido hacer todo... pero debería ser fácil. Les puedo dar algunos consejos generales:

    - Midan el largo de los cables desde antes.
    - Asegúrense de que todo va a caber donde debe, y de que no van a tener problemas para soldar después.
    - SUELDEN LOS LEDS EN EL SENTIDO CORRECTO. La pata negativa normalmente es o más corta o está cerca de una parte plana en la cabeza del LED.
    - Hagan las soldaduras lo más limpias y pequeñas posibles, ojalá sin patas sobresalientes.
    - Si no tienen experiencia soldando, harían bien en pedirle ayuda a alguien.

  4. Con todo soldado, es hora de enchufarlo al computador y ver si funciona. Si está todo bien, debería verse un brillo rojizo dentro de los LEDs. Si no alcanzan a ver, prueben viendo los LEDs a través de una cámara digital, esas cámaras ven luz IR.

  5. Con la "barra" ya probada, aíslen los puntos de soldadura y pónganla en el soporte que hayan escogido. Como usé una regla y silicona, me salió feo pero fácil XD

Y con eso ya tienen su barra sensora USB. ¡Ahora al control!



Conectando y configurando el Wiimote:

NOTA: Uso Windows. Las instrucciones para los linuxeros se encuentran aquí.

Esta parte es bastante fácil. Primero tienen que instalar el adaptador bluetooth. Sigan las instrucciones que vengan con él. El adaptador seguramente va a venir con un programa para manejar las conecciones. El más común es BlueSoleil, y es el que voy a usar para este tutorial. Su ventana de BlueSoleil se verá parecida a esto:

Pónganle las pilas al control. Para detectar y conectar el wiimote:

  1. Hagan click en la bolita anaranjada. Inmediatamente apreten los botones 1 y 2 del wiimote al mismo tiempo. Las luces del control deberían estar titilando.

  2. Cuando aparezca en la ventana un ícono de un teclado con el nombre "NINTENDO-RVT-CNT-01" háganle click derecho y escojan "Refresh Services". Asegúrense de que las luces sigan titilando. Si pararon, apreten los botones de nuevo y repitan este paso.

  3. El icono del mouse debería ponerse verdoso. Aprétenlo. Cuando se ponga verde significa que el control está conectado.

¡Estamos casi listos! Ahora nos queda escoger qué programa usar con el control. Tenemos varias alternativas:

  • GlovePIE es mi programa preferido para esto. La gracia que tiene es que te permite programar "perfiles" a nivel de código. Eso significa que, si te das el tiempo de hacerlo, puedes hacer todo lo que quieras con el control. El programa viene con varios perfiles de prueba y otros más útiles, y hay una comunidad medianamente activa haciendo más perfiles. Puede ser frustrante a veces, y no está libre de bugs, pero la flexibilidad que te da es increíble. Si van a usar GlovePIE y quieren usar el wiimote como joystick tienen que bajar PPJoy, pero tengan en cuenta de que no funciona en Windows XP x64 y, hasta la fecha de hoy, no hay ningún programa equivalente. De hecho, contacté a su autor y me dijo que no tenía intención de hacerlo.

  • RMX Automaton es otra opción para los con menos experiencia, pero es más inflexible. No lo he usado mucho, así que no sé qué tan bien soporta todo.

  • WiinRemote es un proyecto nuevo y no muy bien implementado todavía, pero creo que vale la pena echarle una mirada. No lo he probado, así que si alguien lo hace avíseme para actualizar esto.

  • Finalmente, el video que me incitó a hacer todo esto:


    EDIT: ¬¬ por alguna razón que se me escapa el video no se carga a veces. Véanlo aquí.

    Esto es el Half-Life 2 Wiimote Mod. No necesita ninguno de los programas anteriores, hace interfaz directamente con el wiimote. Es bastante bueno, aunque necesitas configurarlo un poco para que sea cómodo.
¡Y con esto se termina mi primer tutorial! Me gustaría un poco de feedback para saber en qué puedo mejorar para más adelante, y no duden en comentar sus ideas y dudas.

EDIT: Gracias a Emo por los tips para cambiar el ancho del blog XD
¡Leer más!

LOL HAI INTERNETS

Yyyyyyyyy habemus blog! Este mensaje es de prueba nomás, pronto voy a darle forma a la página. Recién después de eso voy a empezar a añadir contenido. No es que haya mucho público a quien complacer por ahora! XD ¡Leer más!