Tengo un Arduino Uno, un Arduino Nano, un Teensy 3.0 y un giroscopio de 3 ejes (módulo L3G4200D de Parallax enlace )
Cuando conecto el Arduino Nano o Arduino Uno al giroscopio y utilizo el código de muestra que se encuentra en la parte inferior de esta página, funciona muy bien: enlace
Obtengo las lecturas que espero del giroscopio.
Cuando conecto el mismo giroscopio a mi Teensy 3.0, recibo lecturas ... pero no están del todo bien. En lugar de leer (x, y, z) 0, 0, 0 en reposo, leerá 574, 0, 574. A veces 574, 0, 0 y, a veces, 574, 574, 574.
Sin embargo, cuando muevo el módulo, los números se leen más cerca de lo que esperaría de los tableros Arduino.
Todavía soy muy nuevo en hardware. Entiendo algunos de los conceptos básicos, y sé lo suficiente como para asegurarme de que tengo todos los cables correctos conectados a los pines correctos, etc. Estoy seguro de que hay algo en el código de ejemplo que estoy usando y que causa el problema, después de todo, este es un código de muestra de arduino que estoy usando con un chiquillo ...
Estoy codificando en el IDE de Arduino con el complemento TeensyDuino. Tengo la tarjeta configurada correctamente en las opciones de Arduino, por supuesto.
¿Alguien tiene alguna idea de por qué mi eje X y Z están leyendo 574 la mayor parte del tiempo? ¿Qué necesito hacer para solucionar esto?
[EDITAR]
Por solicitud de comentarios, aquí hay imágenes de mi configuración.
La configuración de Teensy: enlace
La configuración de Arduino Nano: enlace
Como puede ver, la configuración es la misma: simplemente coloque los pines en el lugar correcto para el controlador que estoy usando. El Nano produce los resultados correctos, mientras que el Teensy no.
[EDITAR]
¿El Arduino sería de 16 bits mientras que el Teensy de 32 bits causaría problemas? ¿Necesito ajustar las matemáticas para calcular el complemento de los dos de manera diferente? ¿Usar diferentes tipos de variables para almacenar la información resultante? ¿O estoy pensando mal en este camino?