Arduino加速度计MPU-6050

Arduino accelerometer MPU-6050

这听起来像是一个非常愚蠢的问题,所以如果这是一个非常简单但我无法理解的问题,我深表歉意。我试图了解数据提供的实时信息,例如 MPU-6050:

陀螺仪 - 是一个 16 位数据寄存器,范围从 (0 <-> 65535) 可以选择范围(±250、±500、±1000 和 ±2000°/秒)

如果量程设置为±250°/秒,读数是否为360/65535 = 0.0054分辨率?

°/秒是什么意思,如果传感器不动并读取零然后快速转动是否意味着它将读取设定范围内的角度?例如,如果范围设置为 ±2000°/秒并且移动了 200°,读数是否会从 0 移动到 (2/65535 *200) 并在传感器停止移动后继续发送该值?

加速度计 - 是一个 16 位数据寄存器,范围为 (0 <-> 65535) 有一系列范围可供选择(±2g、±4g、±8g 和 ±16g)

如果传感器不动,完全放平读数会是0? 如果传感器受到 2g 的冲击,最大读数将为 65535(如果设置为 2g,分辨率为 2/65535) 如果传感器受到 16g 的冲击,最大读数将为 65535(如果设置为 16g,分辨率为 16/65535))

关于MPU6050的主要文档有两个,分别是datasheet and the register map.

陀螺仪测量值存储在 GYRO_XOUT、GYRO_YOUT、GYRO_ZOUT 参数中,如您在第 31 页的寄存器映射文档中所见。每个参数存储为2 补码有符号 16 位值分成两个 8 位寄存器:GYRO_xOUT_L 和 _H.

在同一页面中,您可以看到每个满刻度范围的灵敏度。例如,如果您的 FSR 为 +/- 250º/秒,而您想要测量 1º/秒,则 GYRO_xOUT 参数应读取 131 个计数。

加速度计相关的寄存器见同篇文档第29页。思路是一样的,两个8位寄存器组成一个2补码的有符号16位值,每个的灵敏度值FSR.

关于您在评论中的问题,如果您以恒定的转速在一秒钟内将设备旋转125º,您应该在移动过程中读取旋转寄存器中的16375。该值来自 131 计数/(º/秒) * 125º/秒 = 16375 计数。