我正在使用 GY-86 模块上的 MPU6050。我还有一个 DS3231 RTC 模块。当我搜索每个数据表时,我发现 DS3231 和 MPU6050 具有相同的 i2c 地址,即 0x68。我在 MPU 数据表中读到,如果我将 AD0 引脚连接到 3.3,则地址变为 0x69。但我在我的模块上找不到任何 AD0 。我只有 vcc-3.3v-SCL-SDA-INTa-FSYNC-DROY 我想我必须更改mpu6050或ds3231的i2c地址。这样他们就不会发生冲突。如何更改 MPU 或 DS 模块的 i2c 外观。
在解决这个确切的问题后,我很幸运地来到了这个问题。 我知道这是一篇非常旧的帖子,但它可能会帮助人们节省时间来解决问题。 MPU 上有一个 A0 引脚,将电源连接到该引脚 5V 或 3.3V 都适合我。
然后转到
Adafruit_MPU6050.h
文件并找到这一行
#define MPU6050_I2CADDR_DEFAULT \
0x68 ///< MPU6050 default i2c address w/ AD0 high
将值更改为
0x69
所以它应该是
#define MPU6050_I2CADDR_DEFAULT \
0x69 ///< MPU6050 default i2c address w/ AD0 high