20221124 鳳山國中

主題:micro:bit基礎感測器應用

教材網址http://gg.gg/20221124fs

研習日期:111.11.24 ()上午0830~1130

地點:鳳山國中藝術大樓二樓

講師:黃文玉老師 (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)

      • 【加廣】生活科技中機電整合的應用

      • 如玩玩會動的小車,可以更加增進學生的學習動機!

  • 硬體部份

    • 官網:https://microbit.org/

    • micro:bit由英國廣播公司(BBC) 與微軟(Microsoft)、ARM、三星、蘭卡斯特大學等單位合作的可編寫程式的口袋微型電腦。

    • micro:bit雖然大小僅有4X5公分,重量5公克,但內含二個按鈕、5 x 5 LED矩陣、低功耗藍牙、加速度感測器、磁力感測器、溫度感測器、光線感測器,真是麻雀雖小,五臟俱全。由於使用者越來越多,BBC再將micro:bit的功能提升,於202011月推出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)

二、基本教學

1.屏幕(基本類積木)的使用

        • 【顯示 數字】積木:750ms(毫秒)

        • 【顯示 LEDs】積木:400ms

        • 【顯示 圖示】積木:600ms

        • 【顯示 文字】積木:750ms (顯示單一字母)

        • 【顯示 箭頭】積木:600ms

      • 如何讓心臟跳慢一點?

      • 如何讓心臟跳快一點?

    • 關鍵二:積木位置的高低有差別

2.輸入類積木的使用

    • 在撰寫程式階段,必須特別留意程式的基本結構,以使程式容易閱讀,有助於程式的測試與維護。原則上,任何一個程式都可透過循序、迴圈、選擇三種基本控制結構表達出來。

      1. 循序結構(Sequence):也就是程式由上而下,依序一行一行執行下來。就像水由上往下流。

      2. 迴圈結構(Loop):部分程式片段可重複執行多次,直到某測試條件發生為止,程式重複執行部分即構成迴圈。就像水的循環一樣,雲變雨,雨水再蒸發為雲,形成一個迴圈。

      3. 選擇結構(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)(建議用類比):偵測是否瓦斯外洩

    • 顯示所有數據:https://makecode.microbit.org/_Tdm120auXRjo

  • 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時代表偵測到瓦斯(或酒精)

    • https://makecode.microbit.org/_hU94RaazRfAk

6.紅外線遙控器的使用

    • 紅外線接收器腳位:P2

    • 簡單使用:

7.智能屋整合應用


  • 自動化(按OK鍵進入自動化),會自動偵測

    • 天黑請開燈

    • 天熱請開扇,按遙控器上下鍵來增加及減少【設定溫度】

    • 門窗變打開時(HALL變0時)會發出警報

    • 有人進來時(距離變小)會發出警報

    • 偵測到有人時(PIR變1)會發出警報

    • 偵測到火焰時會發出警報(

    • 偵測到瓦斯時會發出警報

  • 非自動化(向左鍵進入非自動化)

    • 按1鍵會打開燈、2鍵會關閉燈,且自動進入非自動化

    • 4鍵會打開、按5鍵會關閉,且自動進入非自動化

  • https://makecode.microbit.org/_JAJbXk9mi7ap