首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MPU 6050在arduino上不工作

MPU 6050在arduino上不工作
EN

Stack Overflow用户
提问于 2014-12-31 23:43:50
回答 1查看 1.4K关注 0票数 1

所以我试着让这个新的6 6dof陀螺仪和配位器工作,但是我已经尝试了所有的东西,但它不起作用。我的最后一站是i2cdev图书馆购买杰夫,更糟糕的是。我没有打印普通字符,我得到这个(使用他的MPU6050_DMP6示例草图在uno上)

代码语言:javascript
复制
ÛðÙT·DWá÷

当我输入一封信时,这种情况就会发生

代码语言:javascript
复制
ÛðÙT·DWá÷MÌÖkO`nþ

当我尝试使用他的MPU6050_raw示例时,会发生这种情况。

代码语言:javascript
复制
ààüàààààü¨¬ ±   -!-14¤¥5%µ$%¥¡0 ´¥Ç%µ!0 4¤!¡!%5´¥

它不停地打印。

因此,我决定尝试mpu6050上的arduino webside的例子,我不会把代码放在这里,因为它是长的,但是这里有一个指向它的链接(http://playground.arduino.cc/Main/MPU-6050,这是最后一个例子,大约900行),下面是我得到的:

代码语言:javascript
复制
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行长在同一页上。我的出柜也很奇怪:

代码语言:javascript
复制
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

这个问题和以前一样,我得到的是非常庞大的奇数。我不认为这是德格/秒或德格/分钟。有人能帮忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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

所以你可能需要做一些简单的数学,

代码语言:javascript
复制
#define G_ 9.81 
Az_metric = (AcZ * G_) / HALF_RANGE 
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27727305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档