20221124 鳳山國中
主題:micro:bit基礎感測器應用
本教材網址:http://gg.gg/20221124fs
研習日期:111.11.24 (四)上午08:30~11:30
地點:鳳山國中藝術大樓二樓
講師:黃文玉老師 (shspswenyu@gmail.com)
高雄市新上國小電腦老師
高雄市SCRATCH推廣教師
教育部中小學教師運算思維增能研習種子教師
Facebook S4A社團管理員之一
第一屆聯發科 2022 STEM造課師
致力Scratch、Arduino、micro:bit、Web: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軸為軸心,向左傾斜,翻滾角度是負數,向右傾斜是正數。
三、基礎感測器的應用(感測器在智能屋的使用)
1.micro:bit腳位說明:
P5、P11:這兩個腳位分別為A鍵及B鍵,如果有用到A鍵或B鍵時,就不要使用這兩個腳位。
P3、P4、P6、P7、P9、P10:這些腳位與LED矩陣(屏幕)顯示有關,如果要使用這些腳位,先將LED顯示的功能取消。
P19、P20:這兩個腳位為I2C腳位(P19(SCL)、P20(SDA)),用來接I2C設備。
P0、P1、P2、P3、P4、P10:這些腳位為類比輸入腳位,像光線感應器、聲音感應器、土壤濕度感應器等,要接在這些腳位。
2.智能屋預計會用到的元件:
數位輸出(寫入) (寫入那個腳位)
LED燈(P8、P9)
繼電器(P12)
數位輸入(讀取)(讀取那個腳位的值)
按鍵(使用開發板內建的(P5、P11))
霍爾感應器(2支腳,另一支接3V3,未接上磁鐵前為0、接上為1) (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+)
3.基本功能測試
點亮一顆燈
按A鍵開燈、按B鍵關燈
取得目前環境的溫度及亮度
將溫度及光亮度顯示在屏幕上
亮度最大值為255
天黑請開燈
接下來很多都是【天黑請開燈】的應用,如
天熱請開扇 (當環境溫度高於設定溫度時,啟動繼電器,進而打開電扇)
地乾請澆水
天雨請收衣(或關窗)
聲吵請關窗
...
OLED的使用
使用I2C的OLED螢幕
在OLED螢幕顯示溫度及光亮度
4.保全上的應用
超音波測距感測器(Trig:P13、Echo:P14):偵測是否有人靠近
霍爾感測器(P15):偵測門窗是否被打開
PIR人體紅外線感測器(P16):偵測是否有人靠近
火焰感測器(P0)(建議用類比):偵測是否發生火災
MQ-2氣體感測器(P1)(建議用類比):偵測是否瓦斯外洩
PIR人體紅外線感測器
標示 SX ( Sensitivity ) 的旋鈕是偵測的靈敏度,靈敏度以偵測距離 ( high ) 計算,範圍 3~7 公尺,順時針旋轉靈敏度越高
標示 TX ( Time Delay ) 的旋鈕是偵測到訊號之後,下一次再繼續偵測的延遲時間,時間範圍是 5~300 秒,順時針旋轉延遲時間越長。
0:沒人,1:有人
當有狀況時:
當有人入侵時,蜂鳴器會響
例如:0<距離<5公分,代表有人靠近了 (建議把0排除掉)
當門窗被打開時,蜂鳴器會響
P15的值為0,代表門被打開了
當偵測到火時,蜂鳴器會響
一般時P0的值為35,當P0小於30時代表偵測到火
當偵測到瓦斯時,蜂鳴器會響
一般時P1的值為500(不一定,可能會越來越低),當P1大於750時代表偵測到瓦斯(或酒精)
6.紅外線遙控器的使用
紅外線接收器腳位:P2
簡單使用:
7.智能屋整合應用
智能屋雷雕檔
可再把這圖檔修改一下,針對各電子元件要擺放的位置進行開孔
自動化(按OK鍵進入自動化),會自動偵測
天黑請開燈
天熱請開扇,按遙控器上下鍵來增加及減少【設定溫度】
門窗變打開時(HALL變0時)會發出警報
有人進來時(距離變小)會發出警報
偵測到有人時(PIR變1)會發出警報
偵測到火焰時會發出警報(
偵測到瓦斯時會發出警報
非自動化(按向左鍵進入非自動化)
按1鍵會打開燈、按2鍵會關閉燈,且自動進入非自動化
按4鍵會打開扇、按5鍵會關閉扇,且自動進入非自動化