MPU6050 似乎没有正确给出值并且没有发现 i2c 设备错误抛出

MPU6050 doesn't seem to give values properly and no i2c devices found error thrown

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

1-连接方式同下。


2- 然后我从 here 添加了 i2cdev 库 和来自 here

的 mpu6050 库

我把它们复制到 C:\Program Files\Arduino\libraries.


3- 我尝试了 DMP6 示例,它给出了随机字符


4- 我尝试了 MPU6050_raw 示例。你可以看到它不断地给出相同的字符而不是数值

5- 在这里,我看到了这个话题MPU6050 DMP does not work? 并上传 i2c_scanner 到设备。它说“找不到 I2c 设备”。为什么?

6- 我看到另一个话题 https://forum.arduino.cc/index.php?topic=404031.0 和我的情况一样。我也尝试了那里的代码,它似乎工作但它不断地为加速度计和陀螺仪值提供 -1,即使我移动 MPU6050。

完成回答以便关闭此问题:

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