從輸入到輸出:Q-Robot 的 micro:bit 入門任務
讓孩子先學會「看、想、做」,再進一步理解 micro:bit 如何接收訊號、 進行判斷,並透過燈光、聲音與馬達產生回應。
對剛接觸程式設計的孩子而言,「程式」常常看起來很抽象。 因此,這堂課不先要求學生背指令,而是從一台模型風機出發: 風機的葉片為什麼會轉?哪些零件會感受到變化?micro:bit 又能做出什麼反應?
一、先認識 micro:bit 的正面與背面
micro:bit 可以被想像成一個小型電腦。它會先「收到訊號」,再依照程式進行處理, 最後做出一個可觀察的反應。
二、MakeCode:三步把想法放進板子
- 連接:使用 USB 線把 micro:bit 接到電腦。
- 拼程式:在 MakeCode 中把積木拖曳到正確位置。
- 下載:將產生的
.hex檔案放進MICROBIT磁碟。
對兒童學習而言,最重要的不是一次就寫對,而是「下載、觀察、修改、再測試」。 這個反覆迭代的過程,正是運算思維與工程設計的核心。
三、事件:什麼時候開始做?
在 MakeCode 中,常見的事件可分成三種:
- 當開機時:程式啟動後只執行一次,適合設定初始值。
- 重複無限次:持續執行,適合反覆讀取感測器。
- 當按鈕 A 被按下:等待使用者操作後才開始執行。
四、輸入與輸出:micro:bit 的眼睛和手
可以把輸入想像成 micro:bit 的「眼睛與耳朵」,把輸出想像成它的「手與嘴巴」。 例如,按鈕、方向、磁力與腳位訊號屬於輸入;LED 圖案、聲音與伺服馬達則屬於輸出。
當 micro:bit 透過感測器讀取風機轉速時,轉速資料屬於輸入; 若 micro:bit 控制馬達快慢,則「控制轉速」屬於輸出。
五、變數:幫數字準備一個盒子
變數就像一個有名字的盒子,用來保存會改變的資料。
例如 rpm 可以保存轉速、angle 可以保存角度、
energy 可以保存能量值。
當感測器取得新資料時,只要把新數值放進相同的變數中, 程式就可以持續顯示、比較或記錄最新狀態。
程式碼:
六、條件判斷:如果……就……
條件判斷是讓程式「做決定」的重要工具。例如:
energy > 80,就顯示大燈號;否則顯示小燈號。
這個概念可以延伸到風機課程:當轉速高於某個標準時亮起警示圖案, 當轉速較低時顯示另一個圖案,讓學生把抽象數值轉化為清楚的視覺訊號。
七、暖身任務:按 A 加一、按 B 歸零
這個任務可以分成三個步驟:
- 建立變數
count,並在開機時設為 0。 - 按下 A 鍵時,讓
count加 1,並在 LED 顯示數值。 - 按下 B 鍵時,將
count設回 0。
程式:
雖然這只是一個簡單的計數器,但學生已經實際運用了三個重要概念: 按鈕是輸入,程式進行處理, LED 顯示則是輸出。
八、從計數器延伸到風機轉速
完成暖身任務後,可以把「按一次 A 鍵加一」改成「感測器偵測到葉片轉過一次就加一」。 程式在固定時間內統計轉動次數,再換算成每分鐘轉速 RPM, 就能逐步完成風機轉速量測。
常見做法是使用磁鐵與霍爾感測器偵測葉片或輪轂每轉一圈所產生的脈衝, 再由 micro:bit 計算轉速。若只根據馬達產生的電壓估算,則屬於間接推估。
九、教學價值:先理解系統,再學習程式
這套入門任務不是單純教孩子拖拉積木,而是透過模型風機, 讓學生理解一個智慧系統如何運作:
當孩子能用自己的話說明「輸入、處理、輸出」,也能完成事件、變數與條件判斷, 就已經具備進一步學習智慧控制、能源監測與 AIoT 應用的重要基礎。
本文由作者主導內容規劃,並使用生成式 AI 協助文字整理、版面設計與 HTML 初稿; 所有內容均經作者審核與修訂。
.png)
.png)
.png)
沒有留言:
張貼留言