任務目標
- 製作一個可偵測東、西、南、北的指南針
- 小於 45 或 大於 314 為 N
- 46 - 134 為 E
- 135 - 224 為 S
- 225 - 314 為 W

學習目標
- 取得方位感測值
- 條件判斷
- 變數
- 迴圈
- LED 顯示與清空
- Blockly 語法
- Python 語法
前置準備
- 一台電腦
- 覽瀏器 ( 本範例使用 Chrome )
使用料件
- Micro:bit
- Micro USB Cable
指南針程式邏輯
持續執行
如果方位感測值小於 45 或大於 314,則為 N
否則方位感測值小於 135,則為 E
否則方位感測值小於 225,則為 S
否則為 W
指南針程式撰寫
一、Blockly 語法
Step 1. 開啟線上編輯器
❖ 1.1 開啟瀏覽器並輸入下方網址
https://makecode.microbit.org/#

Step 2. 撰寫 Blockly 程式
❖ 2.1 依指南針程式邏輯進行 Blockly 程式撰寫

※ 程式說明 ※
當程式啟動時
① 清空畫面
持續執行
宣告 degree 變數存放方位感測值
如果 degree 小於 45 或大於 314,則
在 LED 上顯示 N
否則如果 degree 小於 135,則
在 LED 上顯示 E
否則如果 degree 小於 225,則
在 LED 上顯示 S
否則
在 LED 上顯示 W
Step 3. 燒錄程式到 Micro:bit
❖ 3.1 ① 將所撰寫的程式命名
② 儲存所撰寫的 Blockly 程式到電腦中
③ 將上一步驟中的程式移到 Micro:bit 進行燒錄
④ 在 Micro:bit 上進行測試
Step 4. 成果
偵測東、西、南、北的指南針

二、Python 語法
Step 1. 開啟線上編輯器
❖ 1.1 開啟瀏覽器並輸入下方網址
https://python.microbit.org/v/1

Step 2. 撰寫 Python 程式
❖ 2.1 依指南針程式邏輯進行 Python 程式撰寫

※ 程式說明 ※
第 1 行:程式注解最前面以 【 # 】字符號代表,注解請勿使用中文
第 2 行:匯入 micro:bit 套件
第 4 行:校正磁力感測器
第 6 行:① 【 while 】代表 Pyhton 的迴圈,
True 代表條件為真、False 代表條件為假,
此行代表 【 持續不斷執行的迴圈 】
② 以【 : 】做結尾
第 7 行:① 以 【 Tab 】 鍵為縮排代表是在迴圈中的事件
② 宣告 bearing 變數存放磁力感測器所取得的數值
第 8 行:① 以 【 Tab 】 鍵為縮排代表是在迴圈的事件
② 如果 bearing 變數值小於 45,則在 LED 顯示 N
第 10 行:① 以 【 Tab 】 鍵為縮排代表是在迴圈的事件
② 如果 bearing 變數值小於 135,則在 LED 顯示 E
第 12 行:① 以 【 Tab 】 鍵為縮排代表是在迴圈的事件
② 如果 bearing 變數值小於 225,則在 LED 顯示 S
第 14 行:① 以 【 Tab 】 鍵為縮排代表是在迴圈的事件
② 如果 bearing 變數值小於 315,則在 LED 顯示 W
第 16 行:① 以 【 Tab 】 鍵為縮排代表是在迴圈的事件
② 其他狀況,則在 LED 顯示 N
Step 3. 燒錄程式到 Micro:bit
❖ 3.1 ① 將所撰寫的程式命名
② 儲存所撰寫 Python 的 hex 程式到電腦中
③ 將上一步驟中的程式移到 Micro:bit 進行燒錄
④ 在 Micro:bit 上進行測試
Step 4. 成果
偵測東、西、南、北的指南針

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-Compass
List of blogs