Autor Tema: Wii motion plus, Nunchuk y 16f886. Ménage á trois de lujo  (Leído 10099 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado rabanisa

  • PIC10
  • *
  • Mensajes: 12
Re: Wii motion plus, Nunchuk y 16f886. Ménage á trois de lujo
« Respuesta #15 en: 02 de Agosto de 2011, 15:20:19 »
Buenas tardes :

En primer lugar pedir disculpas por entrar como un elefante en una cacharreria, pidiendo codigos y demas.  Bien solo comentar que ya consigo sacar los datos un poco mas estables y que ya voy entendiendo como se emparejan los datos obtenidos para poder tratarlos(mis conocimientos de C son muy basicos). El tema es que conecto el circuito y me devuelve una lectura, muevo el sensor y la lectura cambia, pero en seguida vuelve a dar las lecturas del principio pese a haber cambiado la posicion del sensor. No se si me explico.

Saludos

Desconectado sokoloko

  • PIC12
  • **
  • Mensajes: 77
Re: Wii motion plus, Nunchuk y 16f886. Ménage á trois de lujo
« Respuesta #16 en: 03 de Agosto de 2011, 15:38:40 »
Hola rabanisa,

Primero, en esta web puedes ver como se leen correctamente los datos del WMP.

http://wiibrew.org/wiki/Wiimote/Extension_Controllers

Es facil de entender luego como ordenarlos, teniendo el codigo delante  :D.
 
Lo que comentas, es como funciona ese dispositivo, pues no mide giros respecto a una posicion inicial, sino que mide diferencias con la posicion anterior, una vez que deja de girar, este en la posicion que este, te va a dar el mismo valor.

Espero q te sirva.

Saludos!!!!

Desconectado rabanisa

  • PIC10
  • *
  • Mensajes: 12
Re: Wii motion plus, Nunchuk y 16f886. Ménage á trois de lujo
« Respuesta #17 en: 04 de Agosto de 2011, 13:53:07 »
Buenas tardes:

Primero darte las gracias por contestar, la verdad es que ya comprendo mas o menos el codigo que sale en la fuente que citas .Acabas de confirmar lo que sospechaba (al ver yaw speed , pitch speed... me lo veia venir) que solo mide la velocidad del giro. No es lo que necesito. Pero al ver los distintos post del Head-traking veo que que los servos "siguen" al WMP y ahi es donde me pierdo. Pero seguimos en ello.

Saludios y gracias.

Desconectado sokoloko

  • PIC12
  • **
  • Mensajes: 77
Re: Wii motion plus, Nunchuk y 16f886. Ménage á trois de lujo
« Respuesta #18 en: 04 de Agosto de 2011, 14:16:00 »
Bueno el tema para lo que quieres es "sencillo".

Primero calibras los datos del WMP en una posicion fija, y despues solo tienes q ir moviendo los servos la parte proporcional a la diferencia con el calibrado.

Ej si el WMP se mueve 100, tu mueves el servo 100, y aunque el WMP te de cero, tu ya has movido 100, no se si me explico....

Desconectado Alcaparrones

  • PIC10
  • *
  • Mensajes: 17
Re: Wii motion plus, Nunchuk y 16f886. Ménage á trois de lujo
« Respuesta #19 en: 06 de Agosto de 2011, 08:28:57 »
Buenas Rabanisa

Lo que Sokoloko te explica es lo que nos explicaron a todos en el colegio con los movimientos rectilinios, básicamente. Si tú quieres saber cuanto se ha desplazado un objeto primero debes saber la velocidad de ese objeto y el tiempo que ha estado desplazándose a esa velocidad. El wiimotion plus te dice la velocidad a la que se desplaza el susodicho. Por lo tanto, si tu WMP se desplaza a 10 grados/segundo durante x tiempo habrá recorrido 10*x, tan fácil como esto. En wiibrew lo explican bastante bien http://wiibrew.org/wiki/Wiimote/Extension_Controllers/Wii_Motion_Plus

De todas formas revisa los links de los post que la gente ha ido dejando aquí para comprender cómo se manipula la información que llega tanto del WMP como del Nunchuk para conseguir lo que todos queremos, registrar desplazamientos.

Desconectado rabanisa

  • PIC10
  • *
  • Mensajes: 12
Re: Wii motion plus, Nunchuk y 16f886. Ménage á trois de lujo
« Respuesta #20 en: 07 de Agosto de 2011, 18:23:11 »
Buenas noches:

Ante todo daros las gracias por las respuestas que me han ayudado bastante. El protocolo con el WMP lo tengo claro. Mi principal problema es el filtrado de los datos obtenidos, que son muy inestables, he probado a meterle delays, dividir los datos obtenidos para despreciar las pequeñas variaciones...pero sigo un poco atascado. Es probable que al ser un WPM "de los chinos" le falte algo por ahi o sea mas inestable (aunque se probo en una Wii...). Pero espero hacerlo funcionar como yo quiero y poder compartirlo despues.


Saludos y gracias.

Desconectado rabanisa

  • PIC10
  • *
  • Mensajes: 12
Re: Wii motion plus, Nunchuk y 16f886. Ménage á trois de lujo
« Respuesta #21 en: 09 de Agosto de 2011, 18:30:44 »
Buenas noches:

Acabo de encontrar mi fallo  :mrgreen:, resulta que al definir mis variables las cogi como en vuestro ejemplo (int16), pero si a un int16 le restas alqo que te salga negativo se te va aun valor elevado (es decir si tienes 10 y le restas 20 se va a 65525 , no se si me explico). Defino las variables como signed y el programa ya funciona(mas o menos) ahora toca empezar a jugar con la ganancia y mover el servo en condiciones . Me imagino que es un error de principiante, pero con cambiar estos datos me ha funcionado.

Saludos y gracias por la ayuda.