|
|
本帖最后由 Super169 于 2014-4-19 16:32 编辑
一直想學做自平衡車, 因為自己對濾波程序也不太了解, 買了一個內建卡尔曼滤波串口6050.
昨天測試時, 用 i2c 連接還可以在 i2c scan 中找到 0x68 有 device (0x68 是 MPU6050 的地址沒錯).
但串口沒有資料接收到.
分別嘗試用 D0, D1 接收用 OLED 顯示 (只顯示是否有資料), 又或用 SoftwareSerial (設定 SoftwareSerial sserial(10, 11); // RX, TX) 經 D10, D11 連線接收再經 usb 向電腦輸出資料, sserial.avaialble() 一直是 false (已測試了 9600 及 115200 均失敗), 甚至把 Tx Rx 接線交換, 也是一樣.
今天再用 i2C 連線時, 進行 i2c scan 就停了. 加入 debug code,
- :
- Serial.print("Scanning address: ");
- Serial.println(address, HEX);
-
- // The i2c_scanner uses the return value of
- // the Write.endTransmisstion to see if
- // a device did acknowledge to the address.
- Serial.println("Wire.beginTransmission");
- Wire.beginTransmission(address);
- Serial.println("Wire.endTransmission");
- error = Wire.endTransmission();
- Serial.println("Done");
- :
复制代码 發覺在開始對 address = 0x01 檢測時, 在 endTransmission 後就停了.
Scanning address: 1
Wire.beginTransmission
Wire.endTransmission
MPU6050 應該是 0x68, 為何對 i2c address = 0x01 也有影響?
即時拔掉 i2c 接線, 程式就可以自動 resume, 再向其他 address 掃瞄. 一旦再插上, 又會在 Wire.endTransmission 後停了.
分別用了幾塊不同的板子 (Nano, UNO 及 Mega) 測試, 結果都是一樣.
請問我的串口 6050 是否已壞死了?
五十多元的東西, 還未開始我的計劃, 一次也沒用過, 就報銷了....
請問有沒有其他方法可以測試是否已經壞死了? |
|