|
实习初期导师要求我在BNO055和MPU6050选一个出来做个项目,其中一个要求就是一个microcontroller上面要带两个传感器,我在Arduino Forum上看到了类似的问题然后进行尝试,再用了一个开源的I2cScanner来检验是不是成功改变了地址。具体的方法就是把BNO055的ADR接高电平,然后在Adafruit_BNO055.cpp里面的begin()稍微改一下。BNO055的默认I2C地址是0x28,当然它还有可供选择的0x29. 找资料的过程中有看到说接好几个I2C设备也是有可能存在的,不过这里我还没有研究过。对于MPU6050我看datasheet上写的它也有两个地址0x58 0x59,所以说也是有希望连两个甚至以上的。
I2cScanner的代码我也附一下好了,忘记从哪里找的了
这里我放一些参考的链接 :
arduino.stackexchange点com/questions/13830/arduino-due-and-bno055-address-in-i2c-mode
https://forum.arduino.cc/index.php?topic=599033.0
然后下面的这个就是挂多个I2C设备的参考链接,有尝试成功的小伙伴欢迎讨论 :
https://github.com/bqlabs/I2C-multiplexer
|
|