|
楼主 |
发表于 2012-5-15 22:30:35
|
显示全部楼层
先把测试程序贴出了- #include "Wire.h"
- #include "I2Cdev.h"
- #include "MPU6050.h"
- MPU6050 accelgyro;
- int16_t ax, ay, az;
- int16_t gx, gy, gz;
- bool blinkState = false;
- void setup() {
-
- Wire.begin();
- Serial.begin(38400);
-
- accelgyro.initialize();
-
-
- }
- void loop() {
-
- accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
- Serial.print("a/g:\t");
- Serial.print(ax/[color=Red]8192[/color]); Serial.print("\t");
- Serial.print(ay/[color=Red]8192[/color]); Serial.print("\t");
- Serial.print(az/[color=Red]8192[/color]); Serial.print("\t");
- Serial.print(gx/[color=Red]65.5[/color]); Serial.print("\t");
- Serial.print(gy/[color=Red]65.5[/color]); Serial.print("\t");
- Serial.println(gz/[color=Red]65.5[/color]);
- blinkState = !blinkState;
-
- }
复制代码 大家看我付的两张表格中的TYP项131、15.5、32.8、16、4是角速度的LSB/(°/秒)“不知道LSB的去百度一下”。
16384、8192、4096、2048是加速度的LSB/g。
用读出的mpu6050的数值除以不同的LSB值就得出了不同精度的角速度和加速的值。
板子的链接大家都知道吧。A4接SDA A5接SCL vcc接3v3商家说可以接5v但是保守起见还是接了3.3v GND接GND
不过mpu受温度的影响精度相差比较大。
以上就是我调试的结果。大家试试。我也是初学菜鸟说的不对的地方希望各位指正。谢谢
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|