超音波 ( 倒車雷達 )
透過超音波的偵測,可以測量距離並顯示在網頁上,如果再加上蜂鳴器的警示音,就能夠實現日常生活中常見的「倒車雷達」,當越接近障礙物,蜂鳴器就會發出越急促的聲音,越遠離障礙物,蜂鳴器的聲音就會趨緩。
接線與實作
因為超音波傳感器與蜂鳴器同時都會用到 GND 的腳位,所以使用麵包板來連接,超音波 VCC 接 3.3V 或 VCC,Trig 接 16,Echo 接 14,GND 與蜂鳴器的其中一支針腳都連接到 Smart 開發板的 GND,蜂鳴器的另外一隻針腳連接 5 號腳位。
Webduino Blockly 操作解析
打開 Webduino Blockly 編輯工具 ( https://blockly.webduino.io ),在畫面中放入開發板積木,開發板下拉選單選擇「Smart」,連線方式選擇「Wi-Fi」,填入 Device ID,在開發板內放入超音波傳感器的積木,Trig 腳位設定 16,Echo 腳位設定 14,接著放入蜂鳴器的積木,腳位設定為 5。
取得 Device ID、使用 IP 來進行 WebSocket 操控,請參考:Webduino Smart ( 初始化設定 )
因為要使用超音波的距離,操控蜂鳴器播放聲音的「間隔時間」,所以使用一個「變數」來當作變化的間隔時間,預設值為 1,接著放入一個「無窮迴圈」,每次蜂鳴器播放聲音後,會再等待固定的間隔時間才會再進行播放。
變數積木在「變數」目錄下,無窮迴圈的積木在「基本功能 > 迴圈」目錄下,等待的積木在「進階功能 > 等待」目錄下。
由於使用了「迴圈 + 等待」,表示在迴圈停止之前,不會進行迴圈外的其他動作,所以必須使用「流程」將迴圈放在裡頭,避免其他的動作 ( 偵測距離 ) 無法順利進行,完成後將流程命名為 a。
流程的積木在「流程」目錄下,當我們定義了一個流程 ( Function ),在程式內就可以重複使用這個流程。
接著使用超音波偵測距離,設定每 500 毫秒偵測一次,並透過網頁互動測試區的顯示文字,將距離顯示出來。
最後使用邏輯的積木,判斷距離在 0~10 公分的時候,蜂鳴器的聲音間隔為 0.2 秒,11~20 公分的時候為 0.5 秒,20~30 公分為 0.8 秒,大於 30 公分就是 1 秒。
邏輯、大於小於的積木在「基本功能 > 邏輯」的目錄下,數字的積木在「基本功能 > 數學式」的目錄下。
填入裝置 Device ID,確認開發板上線,點選右上方紅色按鈕執行,就可以看到超音波偵測距離越靠近,蜂鳴器發音就越急促,也真實模擬倒車雷達的狀況了。
相關參考
- 範例解答:https://goo.gl/vOG2qs
- 範例完整程式碼:http://bin.webduino.io/zejob/edit?html,js,output
- 其他蜂鳴器教學文:蜂鳴器
- 其他超音波教學文:超音波
聯絡我們
如果對於 Webduino 產品有興趣,歡迎透過下列方式購買:
個人線上購買:https://store.webduino.io/ ( 支援信用卡、超商取貨付款 )
企業&學校採購:來信 [email protected] 或來電 07-3388511。
如果對於這篇教學有任何問題或建議,歡迎透過下列方式聯繫我們:
Email:[email protected] ( 如對於產品有使用上的問題,建議透過 Email 附上照片或影片聯繫 )
Facebook 粉絲團:https://www.facebook.com/webduino/
Facebook 技術討論社團:https://www.facebook.com/groups/webduino/