oBot (KSR020)自走車與wfduino
oBot (KSR020)自走車是凱斯電子(BuyIC)公司出產的自走車(註1)。
主要架構是以Arduino UNO 為基礎,加上車架、超音波、紅外線循跡、紅外線遙控器、藍芽模組等零件組合(註1)。
預設 IO 腳位如下:
PCB 標示 | Arduino IO | 說明 |
ENB | D6 | L293 IC 馬達 M2 使用 |
ENA | D5 | L293 IC 馬達 M1 使用 |
BEE | D3 | 蜂鳴器使用 |
IR | D2 | 紅外線接收器使用 |
ROT | D12 | 右路循跡使用 |
LOT | D13 | 左路循跡使用 |
M1A | D10 | L293 IC 馬達 M1 使用 |
M2A | D11 | L293 IC 馬達 M2 使用 |
ECH | A2 | 超音波模組使用腳位 |
TRI | A3 | 超音波模組使用腳位 |
TXD | D0 | 藍芽模組使用腳位 |
RXD | D1 | 藍芽模組使用腳位 |
插入 Jumper 時預設腳位就是上表的 IO 腳位,
oBot 小車預設是全部插上 Jumper,需要用到相關 IO 腳位做其它實驗時,再請把 Jumper 拔掉。其他詳 oBot Scratch Car 使用手冊。
公司網站有詳細的使用參考資料:
既然是以Arduino UNO 為基礎,只要將韌體更新為wfduino,就可以使用scratch2搭配wfduino的擴充積木來做控制。
一、基本測試
將零件依照上面的組裝說明組裝完成,記得組裝車底的萬向輪時,要將電池盒及馬達的線放到底下(線才不會亂跑)。
關閉電源及藍芽開關,插上USB連接線連接電腦。
依照上面預設 IO 腳位,拉相關sensor積木測試基本功能是否正常。
小車測試
PCB 標示 | Arduino IO | 說明 |
ENB | D6 | L293 IC 馬達 M2 使用 |
ENA | D5 | L293 IC 馬達 M1 使用 |
M1A | D10 | L293 IC 馬達 M1 使用 |
M2A | D11 | L293 IC 馬達 M2 使用 |
利用Arduino的數位腳來發出訊號,控制左、右馬達的正、反轉,讓小車前、後、左、右移動。
oBot 小車預設的輪子轉動是由數位腳位D5、D6、D10、D11四個腳位來控制。
右輪後退:D5為高電位(1),D10為低電位(0)
右輪前進:D5為高電位(1),D10同時為高電位(1)
左輪後退:D6為高電位(1),D11同時為低電位(0)
左輪前進:D6為高電位(1),D11同時為高電位(1)
D5、D6也可以為(模擬)類比輸出,輸出(模擬)類比訊號,控制小車速度。
因為每個指令依序進行,會造成馬達轉動的時間延遲,小車無法正確執行指令效果。
建議使用[同時輸出]積木,可以同時控制四個腳位輸出,就不會因為依序執行的延遲造成轉動時間差。
二、無線藍芽連接
隨車附的是HC-05藍芽模組,預設速率(bund)為57600,請先設定藍芽模組的 baud rate (鮑率) (傳輸速率)為 115200 (註2)
設定完成後,將藍芽模組插回車架上,開啟車子電源和藍芽模組電源。
藍芽要先和電腦配對(電腦啟用藍芽)(HC-05燈號閃爍) (註3)
開啟WFduino,選[藍芽],再選HC-05藍芽裝置名稱。
連上後會提示[藍芽連接,請重啟 Arduino](chromebook WEB版本)
按一下車子上的[RESET]就可以順利取到 Arduino 的版本,完成連線了。
有時可能會需要按板子上的
接下來就可以跟用USB連線一樣開啟scratch2做程式設計。
三、用鍵盤操控小車
參考前面的測試小車腳位控制。
oBot 小車預設的輪子轉動是由D5、D6、D10、D11四個腳位來控制。
數位腳位D5、D10控制右輪(馬達M1),數位腳位D6、D11控制左輪(馬達M2)。
小車測試
PCB 標示 | Arduino IO | 說明 |
ENB | D6 | L293 IC 馬達 M2 使用 |
ENA | D5 | L293 IC 馬達 M1 使用 |
M1A | D10 | L293 IC 馬達 M1 使用 |
M2A | D11 | L293 IC 馬達 M2 使用 |
右輪後退:D5為高電位(1),D10為低電位(0)
右輪前進:D5為高電位(1),D10同時為高電位(1)
左輪後退:D6為高電位(1),D11同時為低電位(0)
左輪前進:D6為高電位(1),D11同時為高電位(1)
設定停止按鍵(這裡用[空白鍵]),當發生亂跑情形時,就可以按[空白鍵]鍵停止。
用鍵盤的上、下、左、右鍵來控制車子前進、後退、左轉、右轉,[空白鍵]停止。
注意:
記得先檢查[輸入法]是否為[英],當輸入法不對時,鍵盤按鍵對應的值是錯的,無法正確反應動作。
增加等待0.5秒後,停止馬達動作,這樣只要放開按鍵,經過0.5秒,馬達就停止。
感覺就是有按著按鍵才會動,放開就停止。
程式下載:鍵盤控車.sb2
四、避障小車
打開宜蘭S2E中介程式,選擇藍芽連線,完成連接。(連接方式請參考上面)
使用超音波模組偵測距離,當距離小於幾公分時,表示遇到障礙物,就讓小車後退、轉彎,再繼續前進。
預設超音波模組腳位
PCB 標示 | Arduino IO | 說明 |
ECH | A2(16) | 超音波模組使用腳位 |
TRI | A3(17) | 超音波模組使用腳位 |
重複執行超音波偵測,如果超音波偵測值大於20(沒有撞到障礙)就前進,否則(前面有障礙)就後退、轉彎。
1.程式部分可以視偵測結果自由發揮。
2.空曠場地可以調整類比輸出大一點,走快一點。場地狹小,類比輸出就要小一點,走慢一點,以免反應不及撞到。
程式下載:S2E(避障小車).sb2
五、循跡小車
使用紅外線模組偵測地面黑線反射訊號,讓小車沿著黑線行進。
oBot 小車預設有2組紅外線模組
預設紅外線模組腳位
PCB 標示 | Arduino IO | 說明 |
ROT | D12 | 右路循跡使用 |
LOT | D13 | 左路循跡使用 |
六、加上iL學習板
oBot 小車上面是標準的Arduino UNO 插孔,可以直接將iL學習板插在上面使用。
可以依需要將預設腳位的JUMP拔除,以免同時作用。
(一)使用iL學習板上面的DHT11溫濕度感測器
詳細教案請參考:
http://blog.ilc.edu.tw/blog/blog/868/post/111175/728103
iL學習板內建DHT11 ,已經接好線路。
只要使用Jump直接將D7和DHT連接上就可以使用數位腳位D7來接收溫溼度資料。
(1)溫溼度偵測車
不用出門就可以知道家裡外面的溫溼度。
使用鍵盤操控小車移動,小車上的iL學習板內建DHT11,可以隨時偵測溫、溼度。
小車偵測的溫溼度,透過藍芽顯示在電腦螢幕,使用鍵盤可以遙控小車到戶外偵測溫溼度。
主畫面:
程式說明:
使用前面[用鍵盤操控小車]程式,再加上溫溼度感應顯示程式。
程式下載:溫溼度偵測車.sb2
(2)溫度感應車
小車上的iL學習板內建DHT11,可以隨時偵測溫、溼度。
溫度太高時,小車就往前走,溫度降到舒適溫度,小車就停下來休息。
[溫溼度感測器(11)在腳位(7)],設定數位腳D7接收來自DHT11的訊號
[等待2秒],因為DHT11需要做資料轉換,每筆資料的抓取時間不能太快。
如果溫度大於32度,就發送前進指令(請參考前面)
怕小車走太快,前進的程式使用模擬類比輸出訊號。
程式下載:溫度感應車.sb2
————————–
註1:
主板包含
Arduino UNO + CH340G + L293D 等主要IC 晶片
HS0038B 紅外IC
2路循跡控制
蜂鳴器
RJ11 擴展插座共8個
其它配件包含
紅外線發射遙控器 1個
超音波模組 1個
KSM008藍芽模組 1個
N20 1:50 馬達+輪子+配件包 2組
牛眼輪 1個
DC9V 方型電池盒 1個
USB 下載線 條1
M3+6塑膠柱,M3+6,M3+8塑膠螺絲,等相關螺絲配件包
註2:
HC-05藍芽模組設定可以參考下面連結
http://jackedu.blogspot.tw/2015/01/hc-05.html
註3:
chromebook藍芽連線
1.點右下角[藍芽]
2.點[管理裝置]
3.勾[啟用藍芽],選[藍芽模組名稱],[連線]
可能會出現[不明錯誤],藍芽模組上面的燈閃爍,先不管,繼續下一步驟,打開WFduino(您的藍芽裝置名稱)連線,順利連線後,藍芽模組上面的燈就不在閃爍,維持恆亮。
—————————-
相關連結:
iL學習板課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/111175/727272
WFduino(Arduino)課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/97509/641433
新DiFi課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/104089/678192