Intento usar un Acclerometer BMI055 y la salida me está volviendo loco.
Lo he configurado en sensibilidad 2G a 1000Hz, eso significa que tengo una salida entre 0 y 4096 (12 bits).
Se dice que la salida tiene dos complementos, por lo que espero que 2048 sea 0G
El sensor está configurado para ser lo más plano posible con medidores.
Ahora lo pregunto en un bucle para sus datos FIFO (1 fotograma bypass fifo) que me devuelve 6 bytes.
Según la hoja de datos: LSB X MSB X LSB Y MSB Y LSB Z MSB Z
LSB X debe ser desplazado a la derecha 4 veces y ORd con MSB X que se ha cambiado 4 veces a la izquierda.
Así que recibo un número de 12 bits.
¡El solo análisis de los valores de X muestra que MSB X está saltando entre 0 y 255!
Código:
temp[0]=(result[1]<<4) | ((result[0])>>4);
Esto muestra LSB MSB 12BIT-unsigned
Data X: 1 0 0
Data X: 85 255 4085
Data X: 201 255 4092
Data X: 201 255 4092
Data X: 221 255 4093
Data X: 157 0 9
Data X: 49 0 3
Data X: 181 255 4091
Data X: 229 255 4094
Data X: 17 0 1
Data X: 161 255 4090
Data X: 117 255 4087
Data X: 221 255 4093
Data X: 5 0 0
Data X: 209 255 4093
Debería devolverse 2048 ya que X está en 0G.
4096 sería fuerza 2G.
0 sería la fuerza -2G.
Al poner X en -1G y + 1G, los valores parecen ser correctos (1000 y 3000).
Solo el centro 0G está en 0/4000 dependiendo de las vibraciones menores en lugar del 2046-2049 esperado
Son las 4 de la mañana, supongo que superviso algo muy crítico. La iluminación por favor