Arduino due SDA1 SCL1
我現在要用Aduino due讀兩個IMU的訊號目前有再SDA1 SCL1接兩個10K 歐姆的 拉提電阻
程式的部分如下
MPU6050 accelgyro1(0x68);
MPU6050 accelgyro2(0x69);
Wire.setClock(1000000) ;
Wire.begin();
Wire1.setClock(1000000) ;
Wire1.begin();
Serial.begin(115200);
讀不到第二個IMU只讀得到第一個,求大神教學如何使用第二個I2C 本帖最後由 超新手 於 2016-5-26 19:58 編輯
兩個 mpu 的 ad0 有接對嗎?
要接不一樣
一個 VCC, 一個 GND 我都沒接AD0欸,請問一下為什麼要接此角為呢 我都接4個而已 VCC GND SDA SCL 其實你的程式有點奇怪又不太全
所以我只能用猜的
你應該是把兩個mpu都接到同一個 i2c 上
(wire), 然後用位址0x68, 0x69去讀
所以如果是 accelgyro1 讀不到,就把其中
一個mpu的 ad0 接地. 所以如果是 accelgyro2 讀不到,就把其中
一個mpu的 ad0 接 vcc 後來我的位址都用預設的 0x68去讀竟然讀得到,但不經讓我懷疑這樣的作法是否正確?
如果是用0x68 0x69去讀的話通常是 0x69讀不到,而且初始化就會出現錯誤了。所以這種情況要把ad0接到VCC嗎?為什麼要這樣做呢 本帖最後由 超新手 於 2016-5-28 22:02 編輯
如果你都接到 wire 上
當然不對
i2c 因為共用同一條線路(sda scl)
所以線路上的裝置必須使用不同"位址"
來區分
除非分別接到wire 和 wire1
才是對的 所以""DUE""要用 0x68 0x69 連接到才算是對的!!!
我在試試看摟~謝謝大大 應該是..如果要接到同一個 i2c 上
就要把位址錯過開
頁:
[1]