|
實習初期導師要求我在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
|
|