使用 Joystick:bit 擴充搖桿遙控 Q霸小車
本實作使用兩片 micro:bit 進行無線通訊:一片裝在 Joystick:bit2 擴充搖桿,負責讀取搖桿方向;另一片安裝在 Q霸小車(CuteBot) 上,接收訊號後控制左右輪馬達。透過 x、y 兩軸數值混合,即可讓小車前進、後退與左右轉彎。
學習目標
了解 micro:bit 廣播通訊、類比搖桿讀值與雙輪差速控制,完成一台可用手持搖桿遙控的 Q霸小車。
了解 micro:bit 廣播通訊、類比搖桿讀值與雙輪差速控制,完成一台可用手持搖桿遙控的 Q霸小車。
一、材料準備
- Q霸小車套件(CuteBot)× 1
- Joystick:bit2 擴充搖桿 × 1
- micro:bit × 2
- 電池盒與電池 × 2
二、操作前準備
- 開啟 Microsoft MakeCode for micro:bit,分別建立「搖桿端」與「小車端」兩個專案。
- 在兩個專案中加入 Radio(廣播) 功能;搖桿端另加入 Joystick:bit 擴充功能,小車端加入 CuteBot 擴充功能。
- 兩端的廣播群組都設定為 51。群組號碼必須相同,才能互相通訊。
- 分別下載程式到兩片 micro:bit,再接上電池並開機。
三、搖桿端編程:讀取方向並發送 x、y 值
搖桿的原始讀值介於 0~1023。本程式利用「對應」積木將數值換算為 -100~100,讓它能直接作為馬達速度使用;接著以廣播鍵值分別送出 x 與 y。
- x 軸:控制左右轉向。
- y 軸:控制前進與後退。
- 廣播群組 51:作為搖桿與小車共用的無線頻道。
四、Q霸小車端編程:接收數值並控制馬達
小車端收到廣播鍵值後,依名稱將數值分別存入 xValue、yValue。在「重複無限次」中,利用下列差速控制公式設定馬達速度:
左輪速度 = yValue + xValue
右輪速度 = yValue − xValue
右輪速度 = yValue − xValue
當搖桿向前推時,兩輪同向前轉;向右推時,左輪速度增加、右輪速度降低,小車便向右轉。向左、向後的原理相同。
五、完成後的操作方式
| 搖桿操作 | 小車動作 |
|---|---|
| 向前推 | 前進 |
| 向後拉 | 後退 |
| 向左推 | 左轉 |
| 向右推 | 右轉 |
| 回到中央 | 停止或接近停止 |
六、除錯小提醒
- 小車沒有反應:先確認兩端廣播群組是否都為 51,以及兩片 micro:bit 是否都有供電。
- 前後方向相反:將 y 軸對應範圍由 -100~100 改為 100~-100,或將馬達速度乘以 -1。
- 左右方向相反:將 x 軸對應範圍反向,或在小車端交換加、減的運算方向。
- 停下仍會緩慢移動:這是搖桿中心值的誤差。可設定小範圍死區,例如 x、y 介於 -10~10 時改為 0。
七、延伸挑戰
- 按下搖桿按鍵時,讓小車發出聲音或亮起車燈。
- 加入超音波避障:前方太近時,即使搖桿要求前進也自動停車。
- 將小車改造成校園導覽車、農場巡檢車或智慧物流車,設計任務關卡。
教學重點:這個作品不是只讓小車「動起來」,而是把感測輸入、無線傳輸與馬達輸出串成完整的智慧控制系統。學生可從中理解物聯網裝置如何把人的操作,轉換成真實世界的行動。

.png)

沒有留言:
張貼留言