作者/攝影 |
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 計步器的完整程式碼
- let steps = 0
- onGesture(Gesture.Shake, () => {
- steps += 1
- playTone(659, music.beat(BeatFraction.Whole))
- })
- steps = 0
- forever(() => {
- showNumber(steps)
- })
與108課綱的對照
-
學習表現:
-
資t-III-2 能使用資訊科技解決生活中簡單的問題。
-
生c-IV-2 能在實作活動中展現創新思考的能力。
-
-
學習內容:
-
資A-III-1 程序性的問題解決方法簡介。
-
生P-IV-2 設計圖的繪製。
-
延伸挑戰:
也可試著改成用加速度感測器的Y軸,改變Y軸的量來玩喔!
相關文章
-
[ App Inventor + Microbit ] RGB LED控制
-
[Micro:bit] Micro:bit Blockly PBL教材──主題1-1:左右手慢動作
-
[ 新品介紹 ] 2018.5.11-108課綱將上路 編程教育成趨勢 學校、教師、家長如何幫孩子?SAM LABS STEAM套組助學童發揮無限創意!
-
[新品介紹]MIT App Inventor Codi Bot物聯網教學互動機器人
-
[Micro:bit] 使用DFROBOT BOSON套件設計智慧小屋