mblock第二十一課(巡跡避障自走車)(放棄)
抱歉,因為程式太複雜了,有些地方很難控制,後面就做不下去了。
mblock程式比較適合初級班,複雜系統還是要專業程式才方便。
————-
材料:
自走車(智能小車)底盤套件、L298N 馬達驅動板、電線、外接電池(盒)、按鍵、麵包板、超音波感測器、紅外線避障模組、烙鐵、焊錫。
一、組合
1.先將直流減速馬達的電線焊接出來(用軟的電線)
2.再依照說明書將自走車的底盤、馬達、輪子等組裝完成。
鎖馬達時要注意螺絲方向,以免螺絲伸出卡到輪緣。
3.馬達連接
自走車底盤套件,動力就是直流減速馬達,Arduino控制板的輸出訊號無法直接驅動馬達,需要使用一個L298N 馬達驅動板來協助。
12V連接外部電源,直接連接Arduino板的Vin就可以了。
GND接Arduino板的GND
5V接Arduino板的5V
IN1~IN4分別接Arduino板的數位腳,例如:D6、D9、D10、D11
OUT1、OUT2接左邊馬達
OUT3、OUT4接右邊馬達
注意:數位腳位D1、D4、D7、D9、D10原來是低電位,在按下螢幕上綠旗旁的紅色停止按鈕時,反而會輸出高電位。所以請避免用這幾個腳位。
這裡的外接電源使用3個18650電池串接的電池盒,電量較大。(請參考第十二課(離線執行))
直流馬達 | 旋轉方式 | IN1 | IN2 | IN3 | IN4 |
M1 | 正轉 | 高 | 低 | – | – |
反轉 | 低 | 高 | – | – | |
停止 | 低 | 低 | – | – | |
M2 | 正轉 | – | – | 高 | 低 |
反轉 | – | – | 低 | 高 | |
停止 | – | – | 低 | 低 |
利用Arduino的數位腳來發出訊號,控制左、右馬達的正、反轉,讓機器人前、後、左、右移動。
4.離線操作需要加按鍵才能控制開始啟動。請參考第八課按鍵。
5.超音波感測器:可以偵測障礙物的距離,快碰到障礙物時就轉彎。第十三課超音波感測器。
6.紅外線避障模組:偵測地面黑線或白線的反射訊號,控制自走車沿著路線行走。請參考第十六課主動式紅外線感測器。
二、基本控制
直接使用USB線連接,程式操控。
因為程式轉譯還有一些問題,如果本來是停止的狀態,用滑鼠按螢幕上的停止(紅點),反而啟動輪子轉。因此要另外設定停止按鍵(這裡用[空白鍵]),當發生亂跑情形時,就可以按[空白鍵]鍵停止。
推測可能原因之一是:紅色停止按鈕只是停止mBlock程式(腳本)的執行。並沒有改變Arduino板子上的輸出狀態。
用鍵盤的上、下、左、右鍵來控制車子前進、後退、左轉、右轉,當按下按鍵時執行,當鬆開按鍵時停止執行。
因為外接電源使用3個18650電池串接電量很強,因此跑得很快,如果運轉時間太長,馬達會有燒焦味道。
有線連著,跑太快也不方便。建議可以降低電壓,使用2個18650電池串接即可。
IN1~IN4分別接Arduino板的數位腳位D6、D9、D10、D11
數位腳位D6、D9控制右輪(馬達M1),數位腳位D10、D11控制左輪(馬達M2)。
程式下載:前後左右.sb2
因為沒有負載,如果將外接電源移除,直接使用USB線連接提供電源,也可以緩緩移動。
三、使用PWM調速
使用PWM模擬不同的電壓輸出,調整IN1~IN4的電壓差來控制馬達轉速,調整小車速度。
程式下載:前後左右(慢速).sb2
二、避障小車
設計程式讓小車自由移動,靠著超音波感測器偵測障礙物的距離訊號,快碰到障礙物時就讓小車轉彎。
三、黑白線循跡車
設計程式讓小車沿著地面的黑線或白線行走。
電腦公司提供的檔案,可以讓大家列印後,隨意拼貼,重複使用。
———————————————
相關連結:
國中小學生外部感應器初體驗:Arduino軟硬體選擇建議
http://blog.ilc.edu.tw/blog/blog/868/post/93477/626724
Arduino初級班課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/93477/605771
Arduino課程準備
http://blog.ilc.edu.tw/blog/blog/868/post/93477/599681
Arduino第一課(概論、連接)
http://blog.ilc.edu.tw/blog/blog/868/post/93477/599732