WFduino第20課遙控車

步驟概要:

1.接線

2.啟動scratch2.0及WFduino

3.利用Arduino的數位腳來發出訊號,控制左、右馬達的正、反轉,讓小車前、後、左、右移動。

材料: 

自走車(智能小車)底盤套件、L298N 馬達驅動板、電線、外接電池(盒)、按鍵、麵包板、烙鐵、焊錫。

組合:

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

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

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

3.馬達連接

自走車底盤套件,動力就是直流減速馬達,Arduino控制板的輸出訊號無法直接驅動馬達,需要使用一個L298N 馬達驅動板來協助。(註)

L298N 馬達驅動板

L298N 馬達驅動板接線

12V連接外部電源,(直接連接Arduino板的Vin,錯誤示範)。

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

Arduino供電:電池組圓形的電源輸入插座,或5V行動電源接USB連接埠

L298N供電:電池組(8V以上)另外12V負極接GND

GND接Arduino板的GND

5V接Arduino板的5V

IN1~IN4分別接Arduino板的數位腳,例如:D5、D6、D9、D10

OUT1、OUT2接左邊馬達

OUT3、OUT4接右邊馬達

直流馬達

旋轉方式

IN1

IN2

IN3

IN4

M1

正轉

反轉

停止

M2

正轉

反轉

停止

1.利用Arduino的數位腳來發出訊號,控制左、右馬達的正、反轉,讓小車前、後、左、右移動。

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

—————————–

用鍵盤操控小車

—————————-

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

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

注意:

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

IN1~IN4分別接Arduino板的數位腳位D5、D6、D9、D10

數位腳位D5、D6控制右輪(馬達M1),數位腳位D9、D10控制左輪(馬達M2)。

因為每個指令依序進行,會造成馬達轉動的時間延遲,小車無法正確執行指令效果。

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

 

A.數位控制

1.設定12、13、14、15為OUTPUT

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

程式下載:數位控制.sb2

因為沒有負載,如果將外接電源移除,直接使用USB線連接提供電源,也可以緩緩移動。

B.數位控制(改進)

上面的程式按鍵後腳位持續輸出訊號,馬達持續運轉,感覺無法掌控。

增加等待0.5秒後,停止馬達動作,這樣只要放開按鍵,經過0.5秒,馬達就停止。

感覺就是有按著按鍵才會動,放開就停止。

程式下載:數位控制1.sb2

C.類比控制

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

使用類比電壓輸出,調整IN1~IN4的電壓差來控制馬達轉速,調整小車速度。

arduino的類比輸出範圍是0~255,因為外接電源輸出太大,所以這裡只用100

1.設定5、6、9、10為OUTPUT

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

程式下載:類比控制.sb2

D.類比控制(改進)

上面的程式按鍵後腳位持續輸出訊號,馬達持續運轉,感覺無法掌控。

 

增加等待0.5秒後,停止馬達動作,這樣只要放開按鍵,經過0.5秒,馬達就停止。

感覺就是有按著按鍵才會動,放開就停止。

程式下載:類比控制1.sb2

延伸:

只有D3、D5、D6、D9、D10、D11六個腳位可以模擬類比輸出,這裡用掉4個。

如果其他感測器也需要使用模擬類比輸出,模擬類比輸出不夠用時,我們可以想想看如何減少類比輸出也可以達到[類比控制]的效果。

使用2個數位輸出+2個類比輸出也可以達到[類比控制]的效果喔。

註:

還有一種直流馬達驅動模塊,接線較簡單價格也較便宜,L9110S 直流馬達驅動模塊。(請參考http://blog.ilc.edu.tw/blog/blog/868/post/104089/681767)

 

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

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

相關連結:

WFduino Chrome App

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637303

初級班課程目錄

http://blog.ilc.edu.tw/blog/blog/868/post/97509/641433

設計視訊互動遊戲超簡單

http://blog.ilc.edu.tw/blog/blog/868/post/10898/621592

WFduino課前準備

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636665

WFduino第一課(概論、連接)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636745

WFduino第二課(LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637840

WFduino第三課(用鍵盤控制LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637841

WFduino第四課(3顆LED紅綠燈)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637850

WFduino第五課(PWM模擬類比輸出)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638450

WFduino第六課(RGB三色LED)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638508

WFduino第七課(蜂鳴器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/638509

WFduino第八課(按鍵)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639090

WFduino顏色猜猜機(第8-1課)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639091

WFduino第九課(可變電阻)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639092

WFduino第十課(光敏電阻)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639093

WFduino第十一課(伺服馬達)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639094

WFduino第十二課(超音波感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639095

WFduino第十三課(繼電器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/639096

WFduino第十四課(人體紅外線感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640850

WFduino第十五課(主動式紅外線感測器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640852

WFduino第十六課(七段顯示器)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/640853

WFduino第十七課(搖桿)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/645549

WFduino第十八課視訊控制 

http://blog.ilc.edu.tw/blog/blog/868/post/97509/647945

WFduino第十九課語音控制(for scratch2.0)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/644624

WFduino第二十課(遙控車)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/648422

英文聽音打字練習(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636484

會說時間的鬧鐘(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/637772

會說話的九九乘法表(WFduino)

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636482

WFduino 小技巧

 

 

http://blog.ilc.edu.tw/blog/blog/868/post/10898/649653

 

WF8266R無線遙控車

http://blog.ilc.edu.tw/blog/blog/868/post/10898/648630

WFduino語音控制(forcratchX)

http://blog.ilc.edu.tw/blog/blog/868/post/10898/635592

WFduino無線操控arduino

http://blog.ilc.edu.tw/blog/blog/868/post/97509/636819

WFduino原廠使用方法介紹網頁

http://wf8266.com/wf8266r/tutorials/65_Sx4ABlocks

WFduino for ScratchX

http://blog.ilc.edu.tw/blog/blog/868/post/10898/635190

WF8266R雲端外部感應器

http://blog.ilc.edu.tw/blog/blog/868/post/10898/633305

roc

宜蘭縣國小資訊小站

您可能也會喜歡…