Webduino 學習手冊網站即將改版,提供您更好的閱讀體驗!

搶先試用

超音波偵測

超音波傳感器的目的在於測量距離,透過超音波碰撞到物體之後反射回來的時間差,就可以計算超音波傳感器與相對應物體之間的距離。

接線與實作

這裏使用的超音波傳感器的型號為 HC-SR04,接線的方式只要將 VCC 接在 3.3V 或 VCC 的位置,GND 接在 GND 的位置,Trig 接在 16,Echo 接在 14。

超音波要接在 3.3V 或 VCC 必須看傳感器本身的規格而定,若偵測時候發現距離偵測不準確,可先更換 3.3V 或 VCC 的接線。

Webduino Smart 與超音波接線圖

Webduino Blockly 操作解析

在畫面中放入開發板積木,開發板下拉選單選擇「Smart」,連線方式選擇「Wi-Fi」,填入 Device ID,在開發板內放入超音波傳感器的積木,Trig 腳位設定 16,Echo 腳位設定 14。

取得 Device ID、使用 IP 來進行 WebSocket 操控,請參考:Webduino Smart ( 初始化設定 )

Webduino Smart 與超音波積木

放入使用超音波偵測的積木,設定為每 500 毫秒 ( 0.5 秒 ) 偵測一次,並用網頁互動測試區的「顯示文字」顯示偵測到的距離,入裝置 Device ID,確認開發板上線,點選右上方紅色按鈕執行,就可以看到偵測到的距離顯示在網頁裡了。

因為距離的偵測,是透過超音波的一來一往時間差所計算出,所以如果受測的物體是傾斜狀態、待測物會吸收聲波、或待測物完全遮住超音波傳感器 ( 距離為 0 ),測出來的距離就會有不準確的情形發生。

顯示超音波偵測數值

除了利用「每 500 毫秒偵測一次」的偵測方式,也可以透過超音波「擷取距離」的積木,即時偵測距離,若使用擷取距離來偵測,偵測的間隔時間為「一次發送與接收」( 速度遠快於 500 毫秒 )。

顯示超音波擷取距離數值

因為偵測只有「一次發送與接收」,所以若要連續偵測,可透過「無窮迴圈」來實現,因此可以在畫面中放入「迴圈」,將迴圈設定為「直到」,最後使用網頁互動測試區的「顯示文字」顯示偵測到的距離。

迴圈積木在「基本功能 > 迴圈」目錄下,若迴圈設定為「直到」,表示直到發生什麼事情迴圈會停下,設定為「當」表示當發生什麼事情,迴圈會啟動

利用迴圈顯示超音波擷取距離數值

填入裝置 Device ID,確認開發板上線,點選右上方紅色按鈕執行,就可以即時的用超音波偵測距離了。

範例解答:https://goo.gl/eYnBnq

相關參考