課堂活動目的:
透過藍牙將micro:bit與手機連接
透過藍牙,micro:bit將溫度數據傳送到手機
透過藍牙,micro:bit接收手機訊號,執行「開燈」、「熄燈」語音指令
改寫編程,強化功能
上載專案到編程平台
按要求完成程式設計
開啟App Inventor編程平台,並將此檔案下載後,上傳到平台上。
手機畫面編排已完成
「Scan」和「Stop Scan」編程:改變標籤 "Status" 內容[文字]
顯示所有micro:bit的藍牙裝置供選擇
「Connect」編程:嘗試連接已選擇的藍牙裝置[ListBLE],並改變標籤 "Status" 內容為 "Connecting"[文字]
「藍牙裝置成功連接後」編程:「讀取溫度」的按鈕出現[邏輯],並改變標籤 "Status" 內容為 "Connected"[文字]
「Disconnect」編程:「讀取溫度」的按鈕消失[邏輯],中斷藍牙裝置連接
「藍牙裝置中斷後」編程:改變標籤 "Status" 內容為 "Disconnected"[文字]
建立變數"Temperature"來接收micro:bit的溫度
2. 定義新程序 "updateDataLabel" 將文字 "Temperature" 與變數 "Temperature" 的值合併[變數],並改變標籤 "Data" 內容
3. 當「讀取溫度」按鈕被按下時,從micro:bit提取溫度數據
4. 當手機接收到micro:bit的溫度時,呼叫以上的新程序 "updateDataLabel" [程序]將溫度顯示在標籤 "Data"上
當"ON"按鈕被按下時,發送文字",on,"到micro:bit[文字]
當"OFF"按鈕被按下時,發送文字",off,"到micro:bit[文字]
建立變數"SpeechRecognizer"來接收錄音的文字
2. 當「錄音」按鈕被按下時,設定語言為「中文」,並呼叫語音識別程序[SpeechRecognizer1]
3. 語音識別程序運作如下:
a) 將識別了的文字(回傳結果)用變數 "SpeechRecognizer" 儲存[變數]
b) 判斷經識別後的語音結果
如果被識別的文字中有"開燈"二字,便呼叫"Microbit_Uart_Simple1"程序來發送文字",on,"到micro:bit [文字]
如果被識別的文字中有"熄燈"二字,便呼叫"Microbit_Uart_Simple1"程序來發送文字",off,"到micro:bit [文字]
如發現未能連接,可把程式更改如下:
開啟藍牙通訊服務時,播放一小段音樂並顯示一個「愛心」符號
當藍牙未連線時,出現一個「悲傷」的表情符號;當藍牙連線後,出現一個「高興」的表情符號
建立一個空白的文字變數"message"來接收手機的指令
如手機訊號是"on",執行「開燈」;如手機訊號是"off",執行「熄燈」
開啟Makecode編程平台,完成以下的條件句,使它能夠正確地執行「開燈」和「熄燈」指令
開啟micro:bit,按Pair
按Pair a micro:bit
短按micro:bit的reset掣3次,或長按A+B及短按reset掣
輸入micro:bit圖案
輸入後按Pair
按Next
5秒內按配對並連線
記下紅圈內的micro:bit名稱,然後按取消
短按micro:bit的reset掣3次,或長按A+B及短按reset掣。
按照上圖讀取英文字母的方法,記下micro:bit的5位字母名稱
任務四:接駁LED燈
按照下圖完成線路接駁
透過手機的語音指令來開啟和關閉LED燈
任務五:完成以下各項
按Scan及Stop Scan後,Status能顯示Scanning及Stopped Scanning (2分)
按Connect連接micro:bit後,Status能顯示Connecting --> Connected (1分),並且Read Temperature出現 (1分)
按Read Temperature後,顯示micro:bit溫度 (1分)
按ON及OFF後,LED燈會亮起及熄滅 (2分)
透過手機的語音指令來開啟及關閉LED燈 (2分)
按Disconnect後,Status能顯示Disconnected (1分)
掃描micro:bit
1. 成功連接micro:bit
2. 顯示micro:bit溫度
3. 語音控制"開燈"
4. 語音控制"熄燈"
任務六:改善語音功能
更改原先的App Inventor編程,使任何語音指令內包含"開燈"或"熄燈"這些關鍵詞,均能控制LED燈的開、關 (2分)
更改原先的App Inventor編程,使手機能接受新的指令來控制micro:bit顯示不同的(自訂)圖案 (3分)
提示:更改這些邏輯編程及使用文字方塊積木
2. 提示:更改這些邏輯編程