Tengo problemas para hacer que este giroscopio funcione. Puedo obtener lecturas del eje Z de él. Si no lo muevo, los ejes X e Y muestran constantemente -1. Cuando muevo el giroscopio, X e Y saltan un poco (unos cientos) pero tan pronto como me detengo, vuelven a -1. Cualquier sugerencia es apreciada. ¡¡Gracias!!
He tenido problemas con sensores I2C e implementaciones de biblioteca rotas. En mi experiencia, la forma más rápida de depurar el problema es capturar un rastro y asegurarse de que se vea correcto.
Hay muchas formas comunes de arruinar I2C:
Consulte mi tutorial de I2C con más consejos de depuración .
Para el ITG3200, me aseguraría de que la lectura del registro WHO_AM_I sea exitosa antes de intentar leer los valores. También vea esta pregunta que detalla la rareza del Vlogic con ese giroscopio .
Intente leer el registro WHO_AM_I primero, lo que devolvería 0x69 o 0x68 según su circuito. Después de eso, asegúrese de realizar la configuración correcta que requiere escribir 9 en el registro DLPF_FS y 25 en SMPLRT_DIV (estas configuraciones son predeterminadas, es posible que necesite un divisor diferente y elimine el filtro de paso bajo, etc.). SI todo está bien y todavía obtienes el mismo resultado, estaría funcionando correctamente. Los giroscopios funcionan con la regla de cambio de movimiento. No calcula su ángulo, pero calcula el cambio de ángulo en el tiempo. Devolver -1 y cambiar el movimiento me parece bien. También debe tener en cuenta que estos son los valores de ADC e ITG-3200 tiene valores de adc internos. Debe mantenerlo quieto y probar los resultados para obtener el mejor resultado.
mordedura de tabla
connor lobo