[Micro:bit]Micro:bit Blockly PBL教材──主題2-1:健康計步器(Pedometer)

作者/攝影

Ted Lee(本文轉載自Ted Lee的部落格「泰布布」,圖文版權均屬於作者Ted Lee,特此致謝。)

文章分類教學
時間
成本
難度***(1~10)
材料表

 

從蔣勲的萬步復健醫囑談起

  美學大師蔣勲在2010年因心肌梗塞緊急送醫手術後,從鬼門關前撿回一條命。從此,他便遵從醫囑,不管刮風下雨、風吹雨打,為了有健康的生活,每日就必需走一萬步復健。

 

  親愛的朋友們,請幫幫蔣先生設計一個可以讓他身體更健康的計步器,以提醒他每日要完成的萬步功課吧!

 

與生活經驗結合

  Micro:bit最迷人的硬體之一,就是板載用來偵測空間運動量變化的3軸(3 axles)加速度感測器(Gyro sensor或Accelerometer)!三軸加速度感測器於日常生活中有許多方面的應用,茲舉數例如下:

 

實例1:App

  現今的智慧型手機內其實暗藏著不少感測器(sensors),您可以藉由Sensors Test app測看看。所以,大家應該猜到了,一定也有app版的健康計步器吧?
沒錯,有一卡車那麼多哩!

 

實例2:手機直/橫向顯示

  它傻瓜,也聰明,就是知道您把手轉一下就把手機畫面打橫,這樣追劇才過癮吧!智慧型手機就是利用一顆加速度感測晶片,以感知螢幕是要直顯還是橫顯的喔!

 

實例3:念佛器

  阮阿嬤生前是佛教徒,所以每天要做的功課就是要念一萬聲佛號。但您也了解年紀大了記性不好,老是記不住念過了五千遍是八千遍,這時要是有念佛神器,那就真的是太帥了!(注意觀察此器的使用:念一遍佛號,按一下,數字+1⋯⋯。這不就是和一般計數器的功能一模一樣嗎?)

 

實例4:人頭計數器

  有去過動物園或遊樂場校外教學的經驗吧?帶隊老師買完團體票後,同學們一個接著一個陸續入場。在入口處,您一定見過會有一個工作人員拿著一個計數器在數人頭。

 

實例5:叫號機

  我們到診所看病時,會先至櫃檯掛號,取得一個號碼後在一旁等候叫號機顯示看診序號後,進入診間就診。

 

任務

  當蔣勲先生換好運動服裝,拿起此小彼特計步器並按下「啟動鈕(Start Button)」,開始在他淡水河畔的八里住處散步。當他達到設定好的萬步目標後,這個小機器會嗶嗶嗶地提醒他,今日功課完成了喔。

 

解說

  不管您能否了解題意,玩一下這個Micro:bit版的東東,先建立直覺(intuition)再說。好玩嗎?來,自己做一個更有fu喔!

  整個問題的核心(core),在用一個變數(variable)「steps」來記錄目前走了幾步。變數,就是指會改變之數,每走一步就累進一。So,只要能精緻處理計數變數(counting variable)的變化,我們就能控制計步的過程。其中,在程式語言(programming languages)裡,變數的使用方式有以下三個步驟:

 

1.宣告(declaration):指定變數名稱(variable name)型別(type)。所謂型別是指該變數屬於哪一類(catalog),例如:整數(integers)、實數(real numbers)⋯⋯等等。

 

2.賦予初始值(initial value):指定變數的起始內容。例如:設定steps從0起跳。

圖1 設定steps從0起跳

 

3.使用(use):變數的累計或計算。例如:走一步觸發(trigger)一次加速度感測器的shake(搖動)事件,並將steps的計數值加1。

圖2

 

  最後,再讓Micro:bit不斷顯示(只要steps之值沒有變化,雖然Micro:bit的5×5 LED點矩陣(dot matrix)反覆刷新,但視覺上並未看到計數值顯示有改變。您也可以把圖3的積木塊移到事件積木(event block)中試試!)steps的值就大功告成了。

圖3

 

圖4 計步器的完整程式碼

 

  1. let steps = 0
  2. onGesture(Gesture.Shake, () => {
  3.   steps += 1
  4. playTone(659, music.beat(BeatFraction.Whole))
  5. })
  6. steps = 0
  7. forever(() => {
  8. showNumber(steps)
  9. })

 

與108課綱的對照

  • 學習表現:

    1. 資t-III-2 能使用資訊科技解決生活中簡單的問題。

    2. 生c-IV-2 能在實作活動中展現創新思考的能力。

  • 學習內容:

    1. 資A-III-1 程序性的問題解決方法簡介。

    2. 生P-IV-2 設計圖的繪製。

 

延伸挑戰:

也可試著改成用加速度感測器的Y軸,改變Y軸的量來玩喔!

 

相關文章

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *