Smart 自走車 ( 超音波避障 )
在之前「Smart 自走車 - 網頁操控」範例中,已經了解基本的操作方式,這篇範例將利用「超音波傳感器」,為自走車加上「避障」的功能,讓我們在一般操作控制之外,當偵測到前方有障礙物,自走車能夠自動遠離障礙物並改道,一起完成自動避障車的成果吧!
其他教學可以參考:Smart 自走車 ( 網頁遙控器操控 )
接線與實作
因為超音波傳感器與自走車上的雙馬達驅動板,同時都會用到 GND 的腳位,所以使用麵包板來連接,超音波 VCC 接 Smart 開發板的 VCC 腳位,Trig 接 13,Echo 接 15,超音波傳感器的 GND 與馬達驅動板的一號針腳都連接到 Smart 開發板的 GND 腳位。
接線示意圖:
實際接線照片:
操作解析
打開 Webduino 雲端平台,並選擇 Blockly 編輯工具 ( https://blocklypro.webduino.io/ ),你可以建立一個積木程式專案,並命名為 Smart 自走車 ( 超音波避障 )。
使用雲端平台之前須先註冊並登入,首次註冊教學請點此:註冊與登入
Webduino Blockly 操作解析
進入專案 Blockly 畫面,打開網頁互動區域,因為這個範例將會使用「顯示文字」來顯示超音波偵測到的距離。當我們選擇下拉選單選擇「顯示文字」,此時在左側積木列的最下方將會出現對應的積木功能可以選擇。
接著會進入 Blockly 畫面,在畫面中放入開發板積木,開發板下拉選單選擇「Smart」,連線方式選擇「Wi-Fi」,填入 Device ID,在開發板內放入自走車積木,腳位設定右前 14、右後 16、左前 2、左後 5。再放入超音波傳感器積木,Trig 腳位設定 13,Echo 腳位設定 15。
自走車積木在「玩具及馬達 > 自走車」目錄下。
超音波傳感器的積木在「環境偵測 > 超音波」目錄下。
放入 ultrasonic 擷取距離的積木,設定每 1200 毫秒 ( 1.2 秒 ) 偵測一次,並且透過「顯示」積木將距離數值顯示在網頁上。
實作避障車程式
有了距離之後可以使用「邏輯」積木做到自動避障,將邏輯積木放到 ultrasonic 擷取距離的積木內,點擊藍色小齒輪,設定兩個邏輯判斷。
邏輯積木在「基本功能 > 邏輯」目錄下。
透過邏輯判斷,設定與障礙物的距離,當超音波偵測的距離小於 10 公分,意味著自走車與障礙物的距離很近。
大於小於的積木在「基本功能 > 邏輯」目錄下。
數字積木在「基本功能 > 數學式」目錄下。
開始設定自走車的行進方向,當偵測到的距離小於 10 公分的時候,自走車向後退 1 秒鐘,接著向右轉 1 秒鐘;當偵測到與前方障礙物的距離大於 10 公分,開始直線前進。
等待的積木在「進階功能 > 等待」目錄下。
自走車積木在「玩具及馬達 > 自走車」目錄下。
最後,我們將使用到「流程」積木,將自動避障程式碼加入流程中。
流程,程式碼裡就是 function,在寫程式的時候,常常會遇到需要重複執行的程式碼,為避免過多程式碼重複出現,我們可以設定一個流程,並將「需要被重複執行的程式碼」寫進這個流程中,如此一來,當我們需要重複用到這些程式碼的時候,只要呼叫這段流程,就可以重複執行對應的程式。
相關教學參考:流程
將自走車一開始的狀態設定為「停止」,讓程式開始執行後自走車停止 1 秒,開始執行避障功能。
以上是自動避障車的實行步驟,做好之後,填入裝置 Device ID,確認開發板上線,點選右上方紅色按鈕執行,就可以體驗無人車的威力囉!
範例解答:https://blocklypro.webduino.io/?demo=demo-area-01#XBBq1x4ozE
相關參考
- 範例解答:https://blocklypro.webduino.io/?demo=demo-area-01#XBBq1x4ozE
- 完整程式碼:https://bin.webduino.io/daqik/edit?html,css,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/