0

我正在使用 MPU6050 和 arduino。它读取一些东西,但不是数值!

1- 连接与以下相同。

在此处输入图像描述


2-然后我从这里添加 i2cdev 库和从这里 添加mpu6050库

我将它们复制到 C:\Program Files\Arduino\libraries。


3-我尝试了 DMP6 示例,它给出了随机字符在此处输入图像描述


4-我尝试了 MPU6050_raw 示例。你可以看到它不断给出相同的字符但不是数值在此处输入图像描述

5-在这里,我看到这个话题MPU6050 DMP 不起作用? 并将 i2c_scanner 上传到设备。它显示“未找到 I2c 设备”。为什么?

6-我看到另一个主题https://forum.arduino.cc/index.php?topic=404031.0与我的情况相同。我也尝试了那里的代码,它似乎有效,但即使我移动 MPU6050,加速度计和陀螺仪值也会不断给出 -1。

4

1 回答 1

1

完整的答案,以便可以关闭此问题:

  1. 在串行监视器中选择了错误的波特率。草图MPU6050_DMP6.ino以 115200 波特和MPU6050_raw.ino38400 波特的波特率输出,但串行监视器设置为 9600,导致 UART 接口不同步并产生垃圾字节。
  2. MPU6050 上的引脚AD0用于选择其 I2C 地址的低位。该引脚应上拉至 VCC 或下拉至 GND。然而,在此示例中,它处于未连接/浮动状态,这导致设备没有稳定的固定 I²C 地址。通过将 AD0 与 GND 连接解决了这个问题。
于 2017-06-16T16:50:21.893 回答