新DiFi第18課無線自走車

使用新DiFi學習板來控制小車成為遙控自走車。

硬體:新DiFi學習板+小車+L9110S直流馬達驅動模塊+超音波感測器

軟體:Scatch2.0+WFduino

主要架構如下圖:

——————- 

材料: 

自走車(智能小車)底盤套件、L9110S 直流馬達驅動模塊、超音波感測器、電線、外接電池(盒)、麵包板、烙鐵、焊錫。

組合:

1.先將直流減速馬達的電線焊接出來(用軟的電線,硬線容易將馬達的連接銅片折斷)

2.再依照說明書將自走車的底盤、馬達、輪子等組裝完成。

鎖馬達時要注意螺絲方向,以免螺絲伸出卡到輪緣。

3.馬達連接

自走車底盤套件,動力就是直流減速馬達,新DiFi學習板的輸出訊號無法直接驅動馬達,需要使用一個L9110S 直流馬達驅動模塊來協助。(註)

市面上常見的L9110S有上面兩種形式,兩種L9110S的訊號線接頭位置不一樣,請注意看清楚。

L9110S左邊分別接小車兩邊的直流減速馬達A和B的兩個接頭,右邊接新DiFi學習板。

A-1A、A-1B分別接新DiFi學習板的D1、D2

B-1A、B-1B分別接新DiFi學習板的D6、D7

GND接新DiFi學習板的GND(錯誤示範,可能會燒掉)。

VCC接新DiFi學習板的5V(錯誤示範,可能會燒掉)。

正確的作法,應該要分開2組電源分別L9110S和DiFi

新DiFi學習板供電:電池組圓形的電源輸入插座,或5V行動電源接USB連接埠

L9110S供電:電池組(5V行動電源)另外正極VCC,負極接GND

注意:

1.因為馬達的耗電量很大,容易造成連線當掉,最好另外接電源供電

2.直接使用USB線連接電腦時,會造成連線當掉,可以先將L9110S的VCC和學習板的杜邦線先拔掉,等wifi設定好後,拔掉USB線,改接行動電源時,再接上。

3.也可以直接在學習板上外接電源。

各腳位的輸出值高低請參考下表調整。 

直流馬達

旋轉方式

A-1A

A-1B

B-1A

B-1B

M1

正轉

反轉

停止

M2

正轉

反轉

停止

1.利用新DiFi學習板的數位(或類比)腳位發出訊號,控制左、右馬達的正、反轉,讓小車前、後、左、右移動。

2.外接電源可以讓小車行走更順暢。

3.因為接線關係,馬達正轉、反轉跟小車前進方向可能會有不同,實際使用時請自行調整輸出腳位即可。

4.無線連接方法請看新DiFi第16課無線連接(http://blog.ilc.edu.tw/blog/blog/868/post/104089/678445)

5.無線連接時,因為Scratch執行時會一直不斷的傳訊號,而無線傳輸本來就有速度上的限制,所以程式中每個指令下需要加上等待時間,讓資料(訊號)有時間傳送,才不會造成資料(訊號)跟不上程式,等待時間看網路品質而定,一般約等待0.3秒。

—————————–

一、用鍵盤操控小車(數位控制)

設定停止按鍵(這裡用[空白鍵]),當發生亂跑情形時,就可以按[空白鍵]鍵停止。

用鍵盤的上、下、左、右鍵來控制車子前進、後退、左轉、右轉,[空白鍵]停止。

注意:

記得先檢查[輸入法]是否為[],當輸入法不對時,鍵盤按鍵對應的值是錯的,無法正確反應動作。  

注意:

因為無線連接時,每個指令間需要加上等待時間,會造成馬達轉動的時間延遲,小車無法正確執行指令效果。

以下範例請修正為:使用[同時輸出]積木,可以同時控制四個腳位輸出,就不會因為延遲造成輪子轉動的時間差,影響正確路徑。

1.先點一下[WiFi通訊位址……],確定可以電腦可以使用WiFi無線連接到新DiFi學習板。

2.按下按鍵分別讓個腳位輸出不同的電位,讓2顆馬達做動作。

3.按下按鍵後腳位持續輸出訊號,馬達持續運轉,無線傳輸速度較慢,怕無法及時掌控。增加等待0.5秒後,停止馬達動作,這樣只要放開按鍵,經過0.5秒,馬達就停止。必須一直按著按鍵才會動,放開就停止。

程式下載小車(數位).sb2

二、鍵盤控制小車(數位同時輸出)

因為無線連接時,每個指令間需要加上等待時間,會造成馬達轉動的時間延遲,小車無法正確執行指令效果。

使用[同時輸出]積木,可以同時控制四個腳位輸出,就不會因為延遲造成轉動時間差。

程式下載鍵盤控制小車(數位同時輸出).sb2

三、用鍵盤操控小車(類比控制)

設定停止按鍵(這裡用[空白鍵]),當發生亂跑情形時,就可以按[空白鍵]鍵停止。

用鍵盤的上、下、左、右鍵來控制車子前進、後退、左轉、右轉,[空白鍵]停止。

前面的數位控制馬達轉動速度太快了,不好控制。改用類比控制,可以控制馬達的轉動速度。

使用類比電壓輸出,調整D1、D2和D6、D7的電壓差來控制馬達轉速,調整小車速度。

類比輸出範圍是0~255,請依實際情形調整。

注意:

記得先檢查[輸入法]是否為[],當輸入法不對時,鍵盤按鍵對應的值是錯的,無法正確反應動作。 

1.先點一下[WiFi通訊位址……],確定可以電腦可以使用WiFi無線連接到新DiFi學習板。

2.按下按鍵分別讓個腳位輸出不同的電位,讓2顆馬達做動作。

3.按下按鍵後腳位持續輸出訊號,馬達持續運轉,無線傳輸速度較慢,怕無法及時掌控。增加等待0.5秒後,停止馬達動作,這樣只要放開按鍵,經過0.5秒,馬達就停止。必須一直按著按鍵才會動,放開就停止。

程式下載小車(類比).sb2

延伸:

因為無線連接時,每個指令間需要加上等待時間,會造成馬達轉動的時間延遲,小車無法正確執行指令效果。請修整為:使用[同時輸出]積木,可以同時控制四個腳位輸出,就不會因為延遲造成轉動時間差。

四、生日快樂

當燈暗時,小車停止不動,燈亮時,小車往前走,再唱生日快樂歌。

使用光敏電阻感應光線變化,蜂鳴器發出音樂。

使用Jump直接將A0和[PhotoR](光敏電阻)、D8和BEEP(蜂鳴器)兩兩接上。

1.先點一下[WiFi通訊位址……],確定可以電腦可以使用WiFi無線連接到新DiFi學習板。

2.[腳位A0模式設為INPUT]:設定類比腳位A0模式為輸入。

3.重複執行,讀取A0的值,如果A0的值大於800(光敏電阻感應到亮光),就發送前進指令,然後唱生日快樂歌(新DiFi板子上的蜂鳴器)。

程式下載小車(生日快樂).sb2

延伸: 

因為無線連接時,每個指令間需要加上等待時間,會造成馬達轉動的時間延遲,小車無法正確執行指令效果。請修整為:使用[同時輸出]積木,可以同時控制四個腳位輸出,就不會因為延遲造成轉動時間差。

五、避障小車

小車遇到障礙物自動會後退、轉彎,再前進。

主要接線同上面,增加一個超音波感測器。

1.超音波感測器的Vcc接5VGnd接地Trig接腳位5Echo接腳位3

超音波感測器原理及詳細接線,請參考WFduino第十二課超音波感測器

2.程式部分可以視偵測結果自由發揮。

3.空曠場地可以調整類比輸出大一點,走快一點。場地狹小,類比輸出就要小一點,走慢一點,以免反應不及撞到。

1.先點一下[WiFi通訊位址……],確定可以電腦可以使用WiFi無線連接到新DiFi學習板。

2.重複執行超音波偵測,如果超音波偵測值大於50,就往前進,否則就向後退、轉彎。

程式下載:小車(避障).sb2

延伸: 

因為無線連接時,每個指令間需要加上等待時間,會造成馬達轉動的時間延遲,小車無法正確執行指令效果。請修整為:使用[同時輸出]積木,可以同時控制四個腳位輸出,就不會因為延遲造成轉動時間差。

六、跟屁蟲小車

小車跟在主人移動,主人往前走,小車就往前走,主人停止,小車就停止;主人後退時,小車也會後退。

1.超音波感測器的Vcc接5V,Gnd接地,Trig接腳位5,Echo接腳位3

超音波感測器原理及詳細接線,請參考WFduino第十二課超音波感測器

2.程式部分可以視偵測結果自由發揮。

1.先點一下[WiFi通訊位址……],確定可以電腦可以使用WiFi無線連接到新DiFi學習板。

2.重複執行超音波偵測,如果超音波偵測值大於40,就往前進。

3.如果超音波偵測值小於20,就向後退。

程式下載跟屁蟲小車.sb2

———————————-

註:

這裡使用L9110S直流馬達驅動模塊,接線較簡單價格也較便宜。

也可以使用L298N 馬達驅動板(請參考WFduino第二十課遙控車),動力較強。

L298N 馬達驅動板

L298N 馬達驅動板接線

 

28BYJ-48 步進馬達

https://sites.google.com/site/csjhmaker/d-dong-li-pian/28byj-48-bu-jin-ma-da

————–

相關連結:

新DiFi課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/104089/678192

WFduino(Arduino)課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/97509/641433 

roc

宜蘭縣國小資訊小站

您可能也會喜歡…