20220409 南一書局
主題:micro:bit初探
研習日期:2022年4月9日 (星期六)上午10:00~12:00
google meet 連結:https://meet.google.com/rnk-rpvy-vis
本教材短網址:http://gg.gg/0409nane
講師:黃文玉老師 (shspswenyu@gmail.com)
課程內容:
今天的課程為入門課程,適合都沒有接觸過或剛開始使用micro:bit的老師,只針對micro:bit做簡單介紹,讓更多人可以更快上手
玩轉micro:bit屏幕上的LED燈
利用micro:bit玩遊戲
一、認識micro:bit
為什麼要學micro:bit呢?
國中小學生如果在程式設計上已經玩膩了SCRATCH只能控制舞台上的角色或背景
可建議國中小學生利用micro:bit做加深加廣的應用
【加深】資訊科技中程式設計的應用 (甚至可學習python程式語言,利用microPython的程式來控制micro:bit)
【加廣】生活科技中機電整合的應用
如玩玩會動的小車,可以更加增進學生的學習動機!
硬體部份
micro:bit 是由英國廣播公司(BBC) 與微軟(Microsoft)、ARM、三星、蘭卡斯特大學等單位合作的可編寫程式的口袋微型電腦。
micro:bit雖然大小僅有4X5公分,重量5公克,但內含二個按鈕、5 x 5 LED矩陣、低功耗藍牙、加速度感測器、磁力感測器、溫度感測器、光線感測器,真是麻雀雖小,五臟俱全。由於使用者越來越多,BBC再將micro:bit的功能提升,於2020年11月推出V2版本,增加了內建麥克風、蜂鳴器及電容式觸控感應器等元件 。
V2.2:其中一個USB相關的控制元件缺料,所以更換其他同功能的控制元件,才更新版本到V2.2,功能與V2完全一樣,外觀看不出來有甚麼改變,差別是電路板上會標註V2.2而已!
micro:bit的影響:
在micro:bit之前的開發板,最有名大概是Arduino系列,但使用的人不多,更別說國中小學生
因為具備顯示屏幕、按鍵(老師也可以把它稱為一個小電腦)及各種感測器,再加上MakeCode的積木式程式編輯器(類似SCRATCH),很受國中小學生喜歡,所以漸漸打響名號。
其中【金手指的設計】,可連接各種擴展板,已被其他開發板來模仿設計(如下),形成一主流介面
Web:Bit(慶奇科技Webduino)、PocketCard(凱斯電子),這兩塊板子都採用ESP32的晶片,優勢是可以直接連上網路,PocketCard還採用OLED顯示屏幕
Meowbit:一款為MakeCode Arcade而設計的一款小型掌上遊戲機
EZ Start Kit+ (ICShop):可接三種開發板(micro:bit(Web:Bit、PacketCard)、7697、ESP32)
軟體部份
MakeCode:微軟設計的積木式推疊的程式語言平台
網址:https://makecode.microbit.org/ (今天以此平台的教學為主)
線上編輯器,還有模擬器可用
也有離線版,但我很少用:https://makecode.microbit.org/offline-app
適合國中小學生的使用
Python編輯器:文字模式
適合國中高中學生的使用
二、我的教學
1.屏幕(基本類積木)的使用
基本類積木的使用:很簡單
關鍵一:跟其他積木程式不同,各顯示積木占有時間的(不用等待積木),此稱為顯示的預設時間
如何計算各顯示積木的【顯示預設時間】?
【顯示 數字】積木:750ms(毫秒)
【顯示 LEDs】積木:400ms
【顯示 圖示】積木:600ms
【顯示 文字】積木:750ms (顯示單一字母)
【顯示 箭頭】積木:600ms
如何讓心臟跳慢一點?
如何讓心臟跳快一點?
使用javascript模式 https://makecode.microbit.org/_CpJWh03wWbJw
關鍵二:積木位置的高低有差別
程式一開始一定先執行【當啟動時】積木,可以同時有多個【無複無限次】積木,但哪一個先執行呢?
2.輸入類積木的使用
按鍵的使用
剪刀、石頭、布的遊戲(指定出拳) https://makecode.microbit.org/_V1c1cd8bL2HF
讓學生們去PK
姿勢改變的使用,如晃動
剪刀、石頭、布的遊戲(隨機出拳) https://makecode.microbit.org/_a5XMvzTcK6hH
關鍵三:邏輯積木的使用,哪者好?為什麼?
在撰寫程式階段,必須特別留意程式的基本結構,以使程式容易閱讀,有助於程式的測試與維護。原則上,任何一個程式都可透過循序、迴圈、選擇三種基本控制結構表達出來。
循序結構(Sequence):也就是程式由上而下,依序一行一行執行下來。就像水由上往下流。
迴圈結構(Loop):部分程式片段可重複執行多次,直到某測試條件發生為止,程式重複執行部分即構成迴圈。就像水的循環一樣,雲變雨,雨水再蒸發為雲,形成一個迴圈。
選擇結構(Selection):或稱決策(Decision)。程式流程進入判斷後,會判斷測試條件是否成立,然後,依據判斷的結果選擇程式的流向。就像水碰到石頭一樣,會選擇好流的一方來流動。
3.玩轉內建感測器
溫度感測器:此溫度量測是利用系統量測主處理器的溫度來代替,就像電腦有CPU溫度偵測一樣,由於是量測處理器的溫度,因此量測出來的溫度會比環境溫度高一些。
光線感測器:跟溫度量測一樣,micro:bit板子上沒有特別設置亮度感測器,其實是利用LED燈的反向原理,來得知外界亮度的,因此於5 x 5 LED矩陣區域就有了光線感測的能力。
加速度感測器及磁力感測器:三軸加速度感測器及三軸磁力感測器,又稱六軸感測器。
正面朝上時pitch及roll都為0。俯仰角度(pitch),以X軸為軸心,往前旋轉,俯仰角度是負數,往後旋轉是正數。翻滾角度(roll),以Y軸為軸心,向左傾斜,翻滾角度是負數,向右傾斜是正數。
4.玩轉5X5LED燈
5X5 LED燈的坐標表示
請依序點亮第一列燈及運算思維練習
想一想:請大家動手做,利用各種方法依序點亮第一列燈,每亮燈間隔為1秒鐘
方法很多,我想大家應該都是用最高竿的作法,也請大家想一想,您的作法小朋友懂嗎?
由左而右、由上而下依序點亮每一顆燈,每亮燈間隔為1秒鐘
一樣利用上面方式去推衍
接下來會利用到迴圈裡又有另一層迴圈,這種迴圈叫做「巢狀迴圈」,外面的迴圈為「外迴圈」,被包在裡面的迴圈,稱為「內迴圈」,可把外迴圈看做是時鐘的分針,內迴圈是秒針,當內層迴圈執行一輪之後,外層迴圈才會進到下一項。
大家練習一下:
由上而下、由左而右依序點亮每一顆燈
依弓字型圖點亮每一顆燈 https://makecode.microbit.org/_LcLKRhgjAFyz
畫出棋盤圖
畫出X字型圖
畫出Y字型圖
透過本文的介紹,可以讓國中小學生【想辦法】在這小小的屏幕上畫出各種不同圖案來,這辦法就是【解題】的過程中,解題過程中會運用到各種【運算思維】的技巧,因此才會說【寫程式解題】是學習【運算思維】的最好方式,光如何點亮LED燈這單元就可突顯出micro:bit的價值了。
5.利用micro:bit玩遊戲
按A鍵、B鍵來左右移動角色
首先先建立一個變數當角色
猴子接香蕉
角色:一共只有兩個角色(猴子、香蕉)
猴子:猴子的起始位置在(2,4),猴子只在最下方一排(Y=4),利用按A、B鍵來控制左右移動
香蕉:香蕉的起始位置在(0,0),一開始會隨機出現在上方不同的位置,然後往下移動
猴子接到香蕉得1分
猴子如果沒接到香蕉死1次,死5次就GAME OVER
6.micro:bit教學別冊大放送
一共有5冊,只要使用主板,完全不用擴展板,如下:
由左而右、由上而下依序點亮每一顆燈
由上而下、由左而右依序點亮每一顆燈
畫出弓字型圖
畫出棋盤圖
畫出X字型圖
畫出【流星雨】圖形
天黑請開燈
簡易羅盤
計步器
水往低處流
拍掌來開關燈
天熱請開扇
光影魔術手
設計一個【水平儀】
心情傳送器
會判斷勝負的猜拳遊戲
師生互動答題機
透過藍牙通訊進行近端互動
按A鍵、B鍵來左右移動角色
猴子接香蕉
賽車遊戲
認識陣列
貪食蛇遊戲
猜數字遊戲
請問這個三位數奇數是不是質數?
請問100~999的水仙花數有哪幾個?
求兩數的最大公因數及最小公倍數?
大樂透開獎
氣泡排序(Bubble Sort)演算法