主題:高雄市貓咪盃創客組競賽的教師培訓研習 (micro:bit組)
本教材網址:http://gg.gg/1005mb 、https://twgo.io/1012m
研習日期:113.10.12 (六)上午09:00~16:00 (原本是10/5,因山陀兒颱風延期)
地點:鳳西國中崇德樓2樓電腦教室(二) (輔導團洪維謙邀請)
講師:黃文玉老師 (shspswenyu@gmail.com)
課程內容(表定):
09:00-09:10 報到
09:10-10:00
認識國小資訊教育議題課程參考說明。
了解國中科技領綱的運算思維及解決問題
認識micro:bit V2開發板及makecode離線版積木式程式語言單機版,初始化實作。
10:00-10:30 休息
10:30-12:00 micro:bit 創客設計指導(一)之課程設計、教學示例、程式實作、測試與修正,以及多元評量設計。
12:00-13:00 午餐時間
13:00-13:50 micro:bit 創客設計指導(二)之課程設計、教學示例、程式實作、測試與修正,以及多元評量設計。
13:50-14:20 休息
14:20-15:50 micro:bit 創客設計指導(三)之課程設計、教學示例、程式實作、測試與修正,以及多元評量設計。
15:50-16:00 Q&A時間
一、認識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
關鍵二:積木位置的高低有差別
程式一開始一定先執行【當啟動時】積木,可以同時有多個【無複無限次】積木,但哪一個先執行呢?
關鍵三:邏輯積木的使用,哪者好?為什麼?
3.玩轉內建感測器
溫度感測器:此溫度量測是利用系統量測主處理器的溫度來代替,就像電腦有CPU溫度偵測一樣,由於是量測處理器的溫度,因此量測出來的溫度會比環境溫度高一些。
光線感測器:跟溫度量測一樣,micro:bit板子上沒有特別設置亮度感測器,其實是利用LED燈的反向原理,來得知外界亮度的,因此於5 x 5 LED矩陣區域就有了光線感測的能力。
加速度感測器及磁力感測器:三軸加速度感測器及三軸磁力感測器,又稱六軸感測器。
加速度感測值(單位為mg):直接利用模擬器來看不同翻轉時,各值的變化
平放朝上時:0,0,-1023;平放朝下時:0,0,1023
左右翻轉時:左轉90時,X是-1023;右轉90時,X是10234;
前後翻轉時:前轉90時,Y是-1023;後轉90時,Y是1023;
旋轉感測值(單位為度):正面朝上時pitch及roll都為0。俯仰角度(pitch),往前旋轉,俯仰角度是負數,往後旋轉是正數(最大到90)。翻滾角度(roll),向左傾斜,翻滾角度是負數,向右傾斜是正數。
應用:水平儀
4.P0、P1、P2及標誌按下或鬆開
P0、P1、P2
使用時,先一手放在GND腳位上,另一手輕按P0、P1、P2,輕輕碰到即放開
按下及鬆開積木不要同時使用!!鬆開會比按下更快感應到!`
標誌,於下圖程式:
輕按放開時會顯示:1、2、0
長按放開時會顯示:1、2、3
P0、P1、P2的觸碰
序列埠監控
線上版:比較簡單,直接配對即可
離線版:下載putty
下載網址https://the.earth.li/~sgtatham/putty/latest/w64/putty.exe
序列埠由裝置管理員取得,鮑速:115200
觀察P0、P1、P2的類比輸入值,再做條件判斷
三、進階課程
1、認識【輸出裝置】及【輸入裝置】
以大家熟悉的電腦為例:
輸出裝置(電腦利用【什麼】來告訴我們它執行的結果,電腦對外部裝置的控制):螢幕、喇叭、印表機 ...
輸入裝置(我們利用【什麼】來告訴電腦做事情,外部裝置對電腦的控制):鍵盤、滑鼠、麥克風、搖桿 ...
電腦 <===> 外部裝置
今天的主角 micro:bit開發板也可看成是一台電腦,所以與micro:bit連接在一起的元件或感應器,也有輸出及輸入之分!
輸出裝置:(micro:bit可控制的【外部裝置】,就是輸出裝置,寫入設備)
又有分【數位輸出(DIGITAL OUT)】(ON/OFF)及【類比輸出(ANALOG OUT)】
數位輸出(DIGITAL OUT):
像我們對【外部LED燈】做亮滅(不是亮就是滅)控制
micro:bit的腳位大都可以當數位輸出腳位來控制外部元件(或裝置)
輸出高電位3.3V(1)與低電位0V(0)的數位訊號
類比輸出(ANALOG OUT):
像我們對【外部LED燈】做漸亮或漸滅的控制
micro:bit的腳位有一些可以當類比輸出腳位
上面的類比輸出腳位為PWM腳位,是將數位腳位模擬成類比腳位。(不像arduino只有幾個~腳位可用)
輸入裝置 :(外部裝置可將訊息傳給micro:bit的,就是輸入裝置)
又有分【數位輸入(DIGITAL IN)】及【類比輸入(ANALOG IN)】
數位輸入(DIGITAL IN):
【按鍵】是我們最常見的數位輸入裝置(相當於鍵盤),我們可以利用是否按下【按鍵】來控制micro:bit的相關動作,micro:bit已內建A鍵及B鍵了。
類比輸入(ANALOG IN):
【可變電阻器】、【光敏電阻】是我們最常見的類比輸入裝置,我們可以根據接收到的類比值來控制micro:bit的相關動作,如天黑請開燈....
P0、P1、P2、P3、P4、P10:這些腳位為類比輸入腳位
2.micro:bit腳位說明:
P5、P11:這兩個腳位分別為A鍵及B鍵,如果有用到A鍵或B鍵時,就不要使用這兩個腳位。
P3、P4、P6、P7、P9、P10:這些腳位與LED矩陣(屏幕)顯示有關,如果要使用這些腳位,先將LED顯示的功能取消。(燈光/啟用設為false)
P19、P20:這兩個腳位為I2C腳位(P19(SCL)、P20(SDA)),用來接I2C設備。
P0、P1、P2、P3、P4、P10:這些腳位為類比輸入腳位,像光線感應器、聲音感應器、土壤濕度感應器等,要接在這些腳位。
3、常見的元件(或裝置)及積木的擴展
超音波測距感應(測)器
超音波測距感測器要用支援3.3V的HC-SR04P或HC-SR04+
WS2812 RGB燈條
只使用一個腳位
I2C 1602LCD顯示器
I2C腳位(P19(SCL)、P20(SDA))
I2C位址:0X27=39、0X3F=63
如果1602LCD只支援5V,這時顯示的內容會不清楚,要使用3.3V顯示器,或提供5V電源
OLED顯示器
這次並無提供OLED的套件
DHT11溫濕度感測器
可能電壓不足,常出現-999
請教奧斯丁有關常出現-999的問題
他們建議修改成如下圖的寫法
MAX7219 8X8 LED點矩陣顯示模組
繼電器
它不用擴充積木,就像一般的數位輸出裝置
程式就像點亮一顆燈一樣,寫入引腳1或0
它的功能是利用小電壓去推動大電壓(如市電)的裝置
NO(常開)、NC(常閉)、COM(共通點)
伺服馬達
它不用擴充積木,引腳內有其相關積木
如果使用時有問題,注意是否主板負荷太重
L9110馬達驅動模組
不能用主板供電,一定要用擴展板或其他供電
L9110S 控制馬達的正轉
右馬達:B-1A為LOW、B-1B為HIGH(可用類比)
左馬達:A-1A為LOW、A-1B為HIGH(可用類比)
L9110S 控制馬達的反轉
右馬達:B-1A為HIGH、B-1B為LOW(可用類比)
左馬達:A-1A為HIGH、A-1B為LOW(可用類比)
L298N控制馬達的停止
右馬達:B-1A為LOW、B-1B為LOW 或 B-1A為HIGH、B-1B為HIGH
左馬達:A-1A為LOW、A-1B為LOW 或 A-1A為HIGH、A-1B為HIGH
電晶體MOS模組
可接3~18V的電源做為馬達的電源
類比輸出腳位控制馬達的轉速
馬達正負接反時,馬達轉向相反
廣播的使用
心情傳送器
從甲同學傳送訊息給乙同學
可利用【收到的封包(訊息強度)】來判斷兩個板子間的距離
兩者接近時,其值約-25
離遠時,其值為負更多,相隔50公分時,其值約-50
藍牙
與廣播不能共存
如何移除已擴展進來的積木
先點擊【JavaScript】
再展開【資源管理器】
找到不要的擴展積木,點擊後方的【垃圾桶】,即可刪除該積木
三、micro:bit應用
競賽提供的材料及工具
目前材料:
紙盒*1、紙杯*3、紙碗*1、冰棒棍*12、竹筷*10支、棉線1M、鋁線*3、橡皮筋*10、錫箔紙、吸管*4、紙盤、麥克筆(紅、黑)*1、A4紙*2、色紙、雙面泡棉、膠帶*1、魔鬼氈*1、鋼珠*2、保麗龍膠(小)*1、半開圖畫紙
工具
剪刀、美工刀、白膠
看看別人玩什麼:
利用各式感測器偵測,符合條件後,再利用元件去達到所要的目的
天黑請開燈系列
天黑請開燈
感測器:可使用本身的光線感測值或外接光感電阻
外推元件:可使用本身的LED顯示器或外接LED燈
外接的:https://makecode.microbit.org/_UmjHrJaULL4C (光敏電阻接P1、LED接P2)
天熱請開扇(天熱請噴水)
感測器:可使用本身的溫度感測值或外接DHT11(或DHT22)的溫濕度感測器
外推元件:可用繼電器來推動市電家電或設施
天濕請除濕
天雨請收衣
地乾請澆水(智能澆水系統 )
感測器:土壤濕度感測器
外推元件:繼電器+水泵馬達
智能垃圾桶 :(或智能掀蓋馬桶)
感測器:超音波測距感測器(P12、P13)
外推元件:伺服馬達(P1)
防盜警報系統 :
超音波測距感測器
PIR人體紅外線感測器(無提供此元件)
霍爾感應器
蜂鳴器
與車子相關
倒車雷達系統
超音波測距感測器
蜂鳴器
停車場匣門開關系統
停車格是否有車
架上:超音波測距感測器
地上:紅外線感測器
智慧家庭環境控制 (智能屋)
...
智能屋預計會用到的元件:
數位輸出(寫入) (寫入那個腳位)
LED燈(P8、P9)
繼電器(P12)
數位輸入(讀取)(讀取那個腳位的值)
按鍵(使用開發板內建的(P5、P11))
霍爾感應器(P15)
人體紅外線感測器(PIR) (P15)
火焰感應器(P0)、氣體感應器(P1)、土壤濕度感測器(可數位、可類比)
超音波測距感測器(P12、P13)
紅外線接收器(P2)
類比輸出(PWM,理論上所有腳位都可以)
LED燈漸亮漸暗
蜂鳴器(內建)
類比輸入(P0、P1、P2、P3、P4、P10)
光敏電阻(內建)
麥克風(內建)
火焰感應器、氣體感應器、土壤濕度感測器(可數位、可類比)
...
由於 micro:bit只提供3.3V的電,因此使用的元件要有支援3.3V (一般常見是arduino的5V元件)
繼電器(一般為5V)
超音波測距感測器(HC-SR04P或HC-SR04+)
最好是有提供5V的電源
7.智能屋整合應用
智能屋雷雕檔
可再把這圖檔修改一下,針對各電子元件要擺放的位置進行開孔
自動化(按OK鍵進入自動化),會自動偵測
天黑請開燈
天熱請開扇,按遙控器上下鍵來增加及減少【設定溫度】
門窗變打開時(HALL變0時)會發出警報
有人進來時(距離變小)會發出警報
偵測到有人時(PIR變1)會發出警報
偵測到火焰時會發出警報(
偵測到瓦斯時會發出警報
非自動化(按向左鍵進入非自動化)
按1鍵會打開燈、按2鍵會關閉燈,且自動進入非自動化
按4鍵會打開扇、按5鍵會關閉扇,且自動進入非自動化