2026年9月3日 星期四

使用 Joystick:bit 擴充搖桿遙控 Q霸小車

使用 Joystick:bit 擴充搖桿遙控 Q霸小車

本實作使用兩片 micro:bit 進行無線通訊:一片裝在 Joystick:bit2 擴充搖桿,負責讀取搖桿方向;另一片安裝在 Q霸小車(CuteBot) 上,接收訊號後控制左右輪馬達。透過 x、y 兩軸數值混合,即可讓小車前進、後退與左右轉彎。

學習目標
了解 micro:bit 廣播通訊、類比搖桿讀值與雙輪差速控制,完成一台可用手持搖桿遙控的 Q霸小車。

一、材料準備

  • Q霸小車套件(CuteBot)× 1
  • Joystick:bit2 擴充搖桿 × 1
  • micro:bit × 2
  • 電池盒與電池 × 2

二、操作前準備

  1. 開啟 Microsoft MakeCode for micro:bit,分別建立「搖桿端」與「小車端」兩個專案。
  2. 在兩個專案中加入 Radio(廣播) 功能;搖桿端另加入 Joystick:bit 擴充功能,小車端加入 CuteBot 擴充功能。
  3. 兩端的廣播群組都設定為 51。群組號碼必須相同,才能互相通訊。
  4. 分別下載程式到兩片 micro:bit,再接上電池並開機。

三、搖桿端編程:讀取方向並發送 x、y 值

搖桿的原始讀值介於 0~1023。本程式利用「對應」積木將數值換算為 -100~100,讓它能直接作為馬達速度使用;接著以廣播鍵值分別送出 xy

  • x 軸:控制左右轉向。
  • y 軸:控制前進與後退。
  • 廣播群組 51:作為搖桿與小車共用的無線頻道。

圖1 Joystick:bit 搖桿端積木程式

四、Q霸小車端編程:接收數值並控制馬達

小車端收到廣播鍵值後,依名稱將數值分別存入 xValueyValue。在「重複無限次」中,利用下列差速控制公式設定馬達速度:

左輪速度 = yValue + xValue
右輪速度 = yValue − xValue

當搖桿向前推時,兩輪同向前轉;向右推時,左輪速度增加、右輪速度降低,小車便向右轉。向左、向後的原理相同。

圖2 Q霸小車端積木程式

五、完成後的操作方式



圖3 Q霸小車與 Joystick:bit 擴充搖桿實體外觀
搖桿操作小車動作
向前推前進
向後拉後退
向左推左轉
向右推右轉
回到中央停止或接近停止

六、除錯小提醒

  1. 小車沒有反應:先確認兩端廣播群組是否都為 51,以及兩片 micro:bit 是否都有供電。
  2. 前後方向相反:將 y 軸對應範圍由 -100~100 改為 100~-100,或將馬達速度乘以 -1。
  3. 左右方向相反:將 x 軸對應範圍反向,或在小車端交換加、減的運算方向。
  4. 停下仍會緩慢移動:這是搖桿中心值的誤差。可設定小範圍死區,例如 x、y 介於 -10~10 時改為 0。

七、延伸挑戰

  • 按下搖桿按鍵時,讓小車發出聲音或亮起車燈。
  • 加入超音波避障:前方太近時,即使搖桿要求前進也自動停車。
  • 將小車改造成校園導覽車、農場巡檢車或智慧物流車,設計任務關卡。
教學重點:這個作品不是只讓小車「動起來」,而是把感測輸入、無線傳輸與馬達輸出串成完整的智慧控制系統。學生可從中理解物聯網裝置如何把人的操作,轉換成真實世界的行動。

沒有留言:

張貼留言