[ Micro:bit ] 投票機教學

任務目標

  • 投票者透過按鈕 A 經由 Radio 傳送投票意願給收票機,此時投票機的得票數 +1 並顯示投票總數
  • 投票者透過按鈕 B 經由 Radio 傳送投票意願給收票機,此時投票機的得票數 -1 並顯示投票總數
  • 收票機同時按 A 與 B 按鈕,則清除 LED 資訊,並且投票者端也清除 LED 資訊


學習目標

  • 程式進入點
  • 廣播
  • 按鈕事件
  • 變數
  • 函式
  • 迴圈
  • 條件判斷
  • 陣列
  • LED 顯示與清空
  • Blockly 語法

前置準備

  • 一台電腦
  • 覽瀏器 ( 本範例使用 Chrome )

使用料件

  • Micro:bit
  • Micro USB Cable

投票機程式邏輯

投票者
設定廣播群組

當按下 A 按鈕時
    如果尚未傳送則
        傳送數字 1 給對方

當按下 B 按鈕時
    如果已傳送則
        傳送數字 -1 給對方

當收到資料時
    重設資料
收票機
程式啟動時
   設定廣播群組

當收到對方傳來的訊息時
   將所收到的資料放到陣列中以待後續處理

不斷執行
   如果陣列中有待處理事件,則
      清空畫面
      迴圈從 0 到陣列數 -1
          將票數顯示於 LED

投票機程式撰寫

一、Blockly 語法

Step 1. 開啟線上編輯器
❖ 1.1  開啟瀏覽器並輸入下方網址
       https://makecode.microbit.org/#


Step 2. 撰寫 Blockly 程式
❖ 2.1  依投票機程式邏輯進行 Blockly 程式撰寫
投票者

※ 程式說明 ※

設定廣播群組

當按下 A 按鈕時
    如果尚未傳送則
        傳送數字 1 給對方

當按下 B 按鈕時
    如果已傳送則
        傳送數字 -1 給對方

當收到資料時
    重設資料

收票機

※ 程式說明 ※

程式啟動時
   設定廣播群組

當收到對方傳來的訊息時
   將所收到的資料放到陣列中以待後續處理

不斷執行
   如果陣列中有待處理事件,則
      清空畫面
      迴圈從 0 到陣列數 -1
          將票數顯示於 LED ( 由上而下,由左而右顯示得票數,每一個 LED 代表一票 )

Step 3. 燒錄程式到 Micro:bit

❖ 3.1  ① 將所撰寫的程式命名
       ② 儲存所撰寫的 Blockly 程式到電腦中
       ③ 將上一步驟中的程式移到 Micro:bit 進行燒錄
       ④ 在 Micro:bit 上進行測試

Step 4. 成果

透過 radio 傳送投票給收票機


GitHub
【 GitHub Blockly 】 https://github.com/ArcherHuang/Micro-bit/tree/master/Game/Blockly
【      Name      】 microbit-voter 與
                     microbit-voting-machine
List of blogs
ALL RIGHTS RESERVED. COPYRIGHT © 2018. Designed and Coded by Makee.io