任務目標
每隔 0.1 秒偵測溫度,如果溫度大於 40 度時,發出聲響與顯示 LED 。
學習目標
- 迴圈使用
- 取得溫度感測器數值
- LED 顯示與清空
- 暫停使用
- 條件判斷
- Blockly 語法
- Python 語法
前置準備
- 一台電腦
- 覽瀏器 ( 本範例使用 Chrome )
使用料件
- Micro:bit
- Micro USB Cable
- 鱷魚夾
- 喇叭
接線方式
喇叭一端透過鱷魚夾接 Micro:bit 的 P0
喇叭一端透過鱷魚夾接 Micro:bit 的 GND
溫度警示器程式邏輯
持續執行
當溫度大於 40 度時
發出聲響
LED 顯示 X
停 0.5 秒鐘
清空畫面
溫度警示器程式撰寫
一、Blockly 語法
Step 1. 開啟線上編輯器
❖ 1.1 開啟瀏覽器並輸入下方網址
https://makecode.microbit.org/#
Step 2. 撰寫 Blockly 程式
❖ 2.1 依溫度警示器程式邏輯進行 Blockly 程式撰寫
※ 程式說明 ※
【 重複執行 】方塊:代表持續執行下方 5 行程式
【 如果 那麼 】方塊:① 此方塊放於 【 重複執行 】 方塊中
② 當溫度大於 40 度時
【 演奏 音階 】方塊:① 此方塊放於 【 如果 那麼 】 方塊中
② 演奏中音 c 持續 1 拍
【 顯示 圖示 】方塊:① 此方塊放於 【 如果 那麼 】 方塊中
② LED 顯示 x 的符號
【 暫停 (ms) 】方塊:① 此方塊放於 【 如果 那麼 】 方塊中
② 暫停 0.1 秒鐘
100 毫秒 ( milliseconds ) = 0.1 秒 ( seconds )
【 清空 畫面 】方塊:① 此方塊放於 【 如果 那麼 】 方塊中
② 清空 LED 上的畫面
Step 3. 燒錄程式到 Micro:bit
❖ 3.1 ① 將所撰寫的程式命名
② 儲存所撰寫的 Blockly 程式到電腦中
③ 將上一步驟中的程式移到 Micro:bit 進行燒錄
④ 在 Micro:bit 上進行測試
Step 4. 成果
每隔 0.1 秒偵測溫度,如果溫度大於 40 度時,發出聲響與顯示 LED
二、Python 語法
Step 1. 開啟線上編輯器
❖ 1.1 開啟瀏覽器並輸入下方網址
https://python.microbit.org/v/1
Step 2. 撰寫 Python 程式
❖ 2.1 依溫度警示器程式邏輯進行 Python 程式撰寫
※ 程式說明 ※
第 1 行:程式注解最前面以 【 # 】字符號代表,注解請勿使用中文
第 2、3 行:匯入 micro:bit 套件
第 5 行:① 【 while 】代表 Pyhton 的迴圈,
True 代表條件為真、False 代表條件為假,
此行代表 【 持續不斷執行的迴圈 】
② 以【 : 】做結尾
第 6 行:① 以 【 Tab 】 鍵為縮排代表是在迴圈中的事件
② 如果溫度大於 30 度時
③ 以【 : 】做結尾
第 7 行:① 以 【 Tab 】 鍵為縮排代表是在溫度大於 30 度的事件
② LED 顯示 x 的符號
第 8 行:① 以 【 Tab 】 鍵為縮排代表是在溫度大於 30 度的事件
② 暫停 0.1 秒鐘
100 毫秒 ( milliseconds ) = 0.1 秒 ( seconds )
第 9 行:① 以 【 Tab 】 鍵為縮排代表是在溫度大於 30 度的事件
② 清空 LED 畫面
第 10 行:① 以 【 Tab 】 鍵為縮排代表是在溫度大於 30 度的事件
② 暫停 0.1 秒鐘
100 毫秒 ( milliseconds ) = 0.1 秒 ( seconds )
Step 3. 燒錄程式到 Micro:bit
❖ 3.1 ① 將所撰寫的程式命名
② 儲存所撰寫 Python 的 hex 程式到電腦中
③ 將上一步驟中的程式移到 Micro:bit 進行燒錄
④ 在 Micro:bit 上進行測試
Step 4. 成果
每隔 0.1 秒偵測溫度,如果溫度大於 40 度時,發出聲響與顯示 LED
GitHub
【 GitHub Blockly 】 https://github.com/ArcherHuang/Micro-bit/tree/master/Game/Blockly
【 GitHub Python 】 https://github.com/ArcherHuang/Micro-bit/tree/master/Game/Python
【 Name 】 microbit-TemperatureAlert