|
sweety18 發表於 2012-1-18 17:26
參考一下超音波的範例
剛剛使用利基官方的範例無法取得值
只有辦法顯示出distance ...
有極大的可能性是模組的Address DIP開關設定跟範例不一致(下方程式第一行),通常出廠預設值都是0或31,調整方法可參考模組說明書最後一頁。- Peripheral mySonar As SonarA @ 0 '設定模組編號為0
- Dim Status As Byte '儲存取得的偵測結果狀態
- Dim Distance As Word '儲存取得的偵測結果
- Sub MAIN()
- Do
- mySonar.SetFloorLevel(0) '設定離地高度為大於5cm
- mySonar.SetRangingTime(63) '設定等待接收時間為63ms
- mySonar.SetBurstPower(10) '設定發射強度等級為 10
- Do
- mySonar.Ranging() '執行重復偵測
- Pause 100 '等待100ms
- Status= mySonar.GetDistance(1,Distance) '取得偵測結果
- Loop Until Status = 1 '迴圈停止條件(Status = 1)
- Debug "Distance=",Distance,"cm",CR '顯示偵測結果
- Loop
- End Sub
複製代碼 |
|