所以我试着让这个新的6 6dof陀螺仪和配位器工作,但是我已经尝试了所有的东西,但它不起作用。我的最后一站是i2cdev图书馆购买杰夫,更糟糕的是。我没有打印普通字符,我得到这个(使用他的MPU6050_DMP6示例草图在uno上)
ÛðÙT·DWá÷当我输入一封信时,这种情况就会发生
ÛðÙT·DWá÷MÌÖkO`nþ当我尝试使用他的MPU6050_raw示例时,会发生这种情况。
ààüàààààü¨¬ ± -!-14¤¥5%µ$%¥¡0 ´¥Ç%µ!0 4¤!¡!%5´¥它不停地打印。
因此,我决定尝试mpu6050上的arduino webside的例子,我不会把代码放在这里,因为它是长的,但是这里有一个指向它的链接(http://playground.arduino.cc/Main/MPU-6050,这是最后一个例子,大约900行),下面是我得到的:
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: -164, 4758, 17040
temperature: 30.865 degrees Celsius
gyro x,y,z : 343, 361, -143,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 16732, 746, -2242
temperature: 30.847 degrees Celsius
gyro x,y,z : 874, -131, -363,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 4510, -7420, 13774
temperature: 30.847 degrees Celsius
gyro x,y,z : 1822, 2928, 8526,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: -6016, -1678, -16304
temperature: 31.018 degrees Celsius
gyro x,y,z : 32767, -21928, -20069,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 3486, 10330, -5702
temperature: 30.894 degrees Celsius
gyro x,y,z : 32767, -31308, -15464,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 3308, -9292, 6200
temperature: 30.847 degrees Celsius
gyro x,y,z : 3166, -8144, 27748,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: -320, -13024, 11298
temperature: 30.776 degrees Celsius
gyro x,y,z : 376, 462, -143,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: -484, -13260, 10908
temperature: 30.771 degrees Celsius
gyro x,y,z : 342, 258, -319, 正如你所看到的,当我移动它时,数字变得非常巨大(至少温度是正确的)。因此,我决定给出另一个例子,大约40行长在同一页上。我的出柜也很奇怪:
AcX = -682 | AcY = 2178 | AcZ = 17698 | Tmp = 27.55 | GyX = 473 | GyY = 234 | GyZ = -219
AcX = -598 | AcY = 2224 | AcZ = 17580 | Tmp = 27.57 | GyX = 550 | GyY = -59 | GyZ = -680
AcX = -756 | AcY = 2196 | AcZ = 17680 | Tmp = 27.57 | GyX = 375 | GyY = 272 | GyZ = -164
AcX = 5578 | AcY = 13118 | AcZ = 13424 | Tmp = 27.57 | GyX = 32767 | GyY = -13348 | GyZ = -1000
AcX = 1846 | AcY = 14718 | AcZ = 7596 | Tmp = 27.55 | GyX = 875 | GyY = 362 | GyZ = -32
AcX = 2216 | AcY = 14504 | AcZ = 6930 | Tmp = 27.57 | GyX = 630 | GyY = 800 | GyZ = -1125
AcX = 2390 | AcY = 14968 | AcZ = 7338 | Tmp = 27.57 | GyX = 568 | GyY = 241 | GyZ = -92
AcX = 2338 | AcY = 14928 | AcZ = 7486 | Tmp = 27.54 | GyX = 561 | GyY = 158 | GyZ = -396
AcX = 2698 | AcY = 15038 | AcZ = 7466 | Tmp = 27.55 | GyX = 1231 | GyY = 341 | GyZ = -252
AcX = 7560 | AcY = 12958 | AcZ = 11980 | Tmp = 27.55 | GyX = -32768 | GyY = 19048 | GyZ = 7243
AcX = -106 | AcY = 876 | AcZ = 16868 | Tmp = 27.53 | GyX = 890 | GyY = -442 | GyZ = -1959
AcX = -114 | AcY = 1390 | AcZ = 17586 | Tmp = 27.55 | GyX = 1534 | GyY = -281 | GyZ = -665这个问题和以前一样,我得到的是非常庞大的奇数。我不认为这是德格/秒或德格/分钟。有人能帮忙吗?
发布于 2015-01-01 09:20:32
您可能会发现Serial Monitor的波特率与编码的波特率不同,请检查一下。如果不是的话,您的编码中应该会出现一些问题。
您获得的AcX = -682 | AcY = 2178 | AcZ = 17698 | Tmp = 27.55 | GyX = 473 | GyY = 234 | GyZ = -219值不是标准度量单位。
MPU-6050的特点是用户可编程陀螺的±250, ±500, ±1000,和±2000°/sec的全量程范围和用户可编程加速度计的全尺度范围的±2g, ±4g, ±8g, and ±16g.这意味着,如果将灵敏度设置为±2g,则整个16位整数范围将用于将-2g的值存储到+2g。
所以你可能需要做一些简单的数学,
#define G_ 9.81
Az_metric = (AcZ * G_) / HALF_RANGE https://stackoverflow.com/questions/27727305
复制相似问题