| 
 | 
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        
 
  複製代碼 |   
 
 
 
 |