遙控小車-吳志文老師研發版V2-mblock馬達與超音波測試篇
安裝程式
連接mblock與小車
- 將小車的下載板、USB連接線、杜邦排線接妥,如圖1,檢查電腦是否抓到小車的驅動程式,並檢查其與電腦的連接窗口代號,如圖2,開啟mblock軟體,設定UNO板、串列窗口,並上傳韌體,如圖3,按下使用馬達的Switch,如圖4,並將小車架高使車輪懸空。(影片)
圖片1:連接下載板、電腦、小車
圖片2:檢查驅動與通訊窗口
圖片3:確認mblock與小車連接
測試馬達運作
先拉出「設置數位腳位積木」並將其設定成10、高電位,然後拉出「設置PWM腳位積木」,設定為5、0,將其兩個積木連接在一起後,快點兩下滑鼠左鍵後你會發現右輪全速向前旋轉;接下來修改第5腳輸出為50、100、150、200,你會發現速度會越來越慢,255時會停止,你也可以手動輸入0~255其中任何數值,例如20、89、241...,最後你會發現當第10腳是高電位時,第5腳的PWM數字越小,轉動越快,這是因為它們(D10到D5)的電位(電壓)差比較大,而第5腳的PWM數字越大,轉動越慢,這是因為它們的電位差比較小;
圖5:右輪正轉速率調整
※P.S.電位差小於某個數值時,馬達無法啟動,因為馬達在啟動的瞬間需要比較大的動能,類似最大靜摩擦力的概念,當已經在轉動時,電位差即使小,也還會轉動,就像動摩擦力比最大靜摩擦力小的意思一樣。
接下來,將10設為低電位,調整5的PWM在0~255之間,你會發現,10設低電位,輪胎會倒轉,5腳PWM的數字越高,則轉動越快,越低,則轉動越慢。
圖6:右輪逆轉速率調整
知道原理以後,你可以再測試左輪,左輪的使用方式和右輪相同,不再贅述。之後我們得出一個左右輪運作的列表:(P.S.使用L293模組的會跟這種方式不同)
左輪
|
右輪
|
|
前進
|
D11 高電位
|
D10 高電位
|
前進時功率調整
|
D6 0最快←→255停止
|
D5 0最快←→255停止
|
後退
|
D11 低電位
|
D10 低電位
|
後退時功率調整
|
D6 255最快←→0停止
|
D5 255最快←→0停止
|
然後我們要想像一下,如果車要前進,就是兩輪一起向前,向後倒退,就是兩輪一起後退,而左轉(原地旋轉)就是左輪後退右輪前進,而右轉(原地旋轉)就是右輪後退左輪前進,停止則是將兩腳位設定成一樣是低電位,或一樣是高電位即可;因此我們可以利用“廣播功能積木”將車子的前進、後退、停止、左轉、右轉的功能組合出來,而且因為每一顆馬達的輸出不一定會相同,因此也能在這裡做微調,如下圖:
圖7:各個輪子的控制
圖8:車子的控制
超音波感測器的使用
這裡的超音波用的是SR-04,mblock裡有專屬的積木,可以測試前方障礙物的距離,單位是公分,最遠約到160公分左右;但是S4A就無法使用了,這也沒辦法,無法兩邊兼顧,因此如果是S4A的使用者,只好自己另購U-016了
超音波感測器部分:Trig/D2、Echo/D4
超音波感測器部分:Trig/D2、Echo/D4
圖9:超音波感測器的控制
殘念
- P.S.因為mblock支援UNO的部分BUG其實還很多,在按下綠旗旁的停止按鈕時會造成右輪仍然持續轉動,還是得手動按一下程式中的右輪停止。(用S4A沒這問題)
- 至於紅外線的部分也是,mblock對於連續讀取A0~A5的輸入,好像非常的不穩定(單一個又好像可以),又很當,因此無法測試...
- mBlock支援自家的產品mBot很穩定,可惜支援開放硬體的部分好像沒有很積極改進,許多地方不是很穩定,不管是輸出的控制、或是輸入的偵測,總是有許多狀況,這就是我還不敢在學校推行mBlock的理由,畢竟目前還是S4A最穩!
待續
- 最近(105.02.01)在宜蘭的研習見識到Webduino,很適合拿來做進階感測器的使用和上雲端互動,除了沒有S4A的多媒體和mBlock的燒錄外,進階的感測器、元件的控制、與雲端的結合超級簡單,雖然是新公司(慶奇科技),到是很值得關注。
- 至於吳組長自製的感測器,他尚未大量生產,工程樣本測試起來很正常,請稍待文章與影片...
- 另外由於這車子是UNO的標準擴充座,因此UNO能玩的他都可以用,我建議國中小買一下通用的感測器擴充板V5,來連接各式各樣的感測器和元件;或是購買motoduino即將出版的第二代S4A學習板,作為一般教學的擴充,畢竟.... Arduino不是只有機器人一條路,可以用在生活上很多的創意!
沒有留言:
張貼留言