velocidad proyectos mpu6050 medir giroscopio con codigo acelerometro arduino accelerometer gyroscope

proyectos - Usa un giróscopo/acelerómetro con Arduino



mpu6050 arduino nano (2)

He intentado este boceto proporcionado por arduino.cc. (Tengo una placa de ruptura MPU6050 GY-521 ).

Creo que funciona bien Da un conjunto extraño de números. No puedo sacarle ningún sentido. Dice que esos son valores en bruto.

¿Cómo puedo convertirlos en valores significativos?

El resultado es el siguiente. Incluso cuando todo se mantiene estacionario, ¡da valores cambiantes! ¿Esto es significativo? Entonces, ¿cómo se debe entender?

(Lo único que sé es que el valor de la temperatura es significativo: D)

June 2012 WHO_AM_I : 68, error = 0 PWR_MGMT_2 : 0, error = 0 MPU-6050 Read accel, temp and gyro, error = 0 accel x,y,z: 260, 120, 15572 temperature: 31.047 degrees Celsius gyro x,y,z : -24, -234, -240, MPU-6050 Read accel, temp and gyro, error = 0 accel x,y,z: 304, 12, 15608 temperature: 31.000 degrees Celsius gyro x,y,z : -7, -234, -232, MPU-6050 Read accel, temp and gyro, error = 0 accel x,y,z: 160, 100, 15716 temperature: 31.000 degrees Celsius gyro x,y,z : -8, -241, -248, MPU-6050 Read accel, temp and gyro, error = 0 accel x,y,z: 192, 56, 15712 temperature: 31.000 degrees Celsius gyro x,y,z : -36, -212, -222, MPU-6050 Read accel, temp and gyro, error = 0 accel x,y,z: 212, 100, 15440 temperature: 30.906 degrees Celsius gyro x,y,z : -32, -253, -240,


Debe mirar la hoja de datos para traducir los valores brutos a significativos. Busque tablas como esta para el giroscopio:

Si usó los valores predeterminados, FS_SEL será 0 . Esa es la configuración de sensibilidad. Por lo tanto, para traducir los valores del giroscopio en bruto a grados por segundo, los divide en 131. Puede ver que los números salen por debajo de 2 grados por segundo, lo que representa un margen razonable de error.

Para la sensibilidad del acelerómetro predeterminado, se divide por 16,384 para obtener el valor en g (la fuerza ejercida por la tierra). Estás obteniendo del orden de 0.01g para los ejes xey, y 0.95g para el eje z, que está dentro de un margen de error razonable para que el chip permanezca inmóvil con el eje z apuntando hacia la tierra.


mpu.setFullScaleGyroRange(0); //0 = +/- 250 degrees/sec | 1 = +/- 500 degrees/sec | 2 = +/- 1000 degrees/sec | 3 = +/- 2000 degrees/sec mpu.setFullScaleAccelRange(0); //0 = +/- 2g | 1 = +/- 4g | 2 = +/- 8g | 3 = +/- 16g