前言
本文將說明如何使用 MakeCode 圖形化介面來編寫 RK-micro:bit 機器人循線前進的程式。組裝教學請點我。
也歡迎參考英文版!
- RK-micro:bit robot – assembly tutorial
- RK-micro:bit robot – line-following programming tutorial(MakeCode)
本範例會讓機器人運用自身前端紅外線光感測器來沿地上的黑色軌跡線 (膠帶) 前進,請參考以下影片:
作者 | 楊國立撰寫 / 何卓鈞 翻譯,CAVEDU 2023 實習生 | ||
時間 | 1~ 2 hours | 材料表 | |
難度 | 1 / 5 |
本文
如何控制馬達與機器人的行為
在RK-micro:bit小車中,兩個馬達背對背地配置,這稱為為差速驅動平台,代表機器人的行為是由這兩個馬達的方向/速度決定。
由於我們使用 L298N 馬達驅動模組來控制兩個馬達,這實際上會控制四隻腳位,每個馬達各自由兩隻腳位來控制:
- P1, P2 – 左側馬達
- P14, P15 – 右側馬達
首先來看看如何控制一個馬達,如果馬達旋轉方向與下表所說相反,只需把紅/黑線 (也就是正負極) 對調即可:
下表中 H 代表高電位),L 代表低電位,這可透過程式來控制。
P1 – H | P1 – L | |
P2 – H (高電位) | 煞車 (馬達轉軸因被施加電流而無法轉動) | 順時鐘轉動 (正轉) |
P2 – L (低電位) | 逆時鐘轉動 (正轉) | 無作用 (馬達轉軸可轉動) |
結合兩個馬達之後,就能讓機器人跑來跑去啦!您可以進一步調整馬達的速度以對機器人有更細緻的控制。
請注意,單一顆馬達只有正反轉的概念,須由兩顆 (或以上) 的馬達配置起來才能呈現出機器人前後左右移動的效果,別搞混囉!
右側馬達 – 正轉 | R右側馬達 – 反轉 | |
左側馬達 – 正轉 | 機器人前進 | 機器人右轉 |
左側馬達 – 反轉 | 機器人左轉 | 機器人後退 |
Makecode 圖形化程式
We will use MakeCode graphical IDE to program RK-micro:bit Car. The code should be quite straight-forward and fun, enjoy! 我們將使用 MakeCode 圖形化IDE 來編寫 RK-micro:bit 小車 的程式。圖形化介面可讓您更快更輕鬆完成各種專案,當然它的功能也會比較有限。程式應該相當直觀有趣,好好享受其中樂趣吧!
STEP1:在 on start
事件中,我們宣告一個變數來控制馬達速度,並將其指定 P13
和 P0
,這就是 microbit 對應到 L298N 馬達控制模組的腳位,。
STEP2: 在 forever
中的程式碼會不斷執行,也就是說它會一直循環,直到您移除 micro:bit 電源為止。
由於紅外線感測器接到 P12
,當它偵測到黑色軌跡線和白色地面時,它會分別回傳 1
與 0
。我們可以運用這個特性製作一個行走之字形路線的循跡機器人。
在影片中,可以看到機器人(實際上是紅外線感測器)是放在黑色軌跡線的左側,代表機器人將朝著右前方來右尋找黑色軌跡線。如果偵測到了黑色軌跡線,那麼它將稍微向前左移動 -> 這樣的兩階段模式會不斷重複,使得機器人可持續沿著黑色軌跡線來前進。
回到程式,當光感測器偵測黑色軌跡線(digital read pin P12 = 1
)時,機器人將向右前方移動,反之則朝著左前方移動。
注意:請修改馬達參數,使您的機器人移動得更好,也更能應對各種複雜的軌跡喔!
資源
本範例完整 .hex 程式碼請由以下連結下載: