2017年10月22日 星期日

[Micro:bit] Micro:bit Blockly PBL教材──主題1-5:打地鼠

Micro:bit Blockly PBL教材

主題1-5:打地鼠


FB2http://gg.gg/TedLeeMicrobitFB/
URL2http://gg.gg/TedLeeMicrobit/

Line:ted2016.kpvs
Email:Lct4246@gmail.com
FB1http://gg.gg/TedLeeFB/
Bloghttp://gg.gg/TedLeeBlog/
URL1http://gg.gg/TedLeeURL/

Oct. 22, 2017
88x31.png[1]

参考資料
  1. 六種授權條款

[Micro:bit] Micro:bit Blockly PBL教材──主題2-6:健康計步器(增強版)@Ted Lee的土饅頭

Micro:bit Blockly PBL教材[1]

主題2-6:健康計步器(增強版)


FB2http://gg.gg/TedLeeMicrobitFB/
URL2http://gg.gg/TedLeeMicrobit/

Line:ted2016.kpvs
Email:Lct4246@gmail.com
FB1http://gg.gg/TedLeeFB/
Bloghttp://gg.gg/TedLeeBlog/
URL1http://gg.gg/TedLeeURL/

Oct. 22, 2017
88x31.png[2]

任務

上一篇我們已經協助蔣勳先生設計好他專屬的健康計步器了。經蔣先生本人試用後,他開出了增強版的功能需求單:
  1. A鍵:Start,開始計步。
  2. B鍵:Reset,重置,讓計步器歸零。
  3. Shake:計步。

接到任務後,小彼特首席設計師立刻修改了上一版的雛形。經實測,示範影片如下:

什麼,您想試玩先?那有啥問題,首席不是給人叫爽的。來,您來,這兒有座

解方

為了記錄按鍵A是否已按下而啟動計步功能,程式使用了一個程式寫作的小技巧叫哨兵(sentinel),也只有當哨兵舉火為號時才發起進攻。
我們重金禮聘這個盯梢的傭兵名喚flag,他的任務是專門監控玩家是否按下A 鍵---這是個非同步事件(asynchronous event)[3]。
只要A鍵被按了,馬上放煙火警示(flag變為1)
;等到警報處理妥後(按下B鍵歸零),警示才會被關閉(改回0)

完整程式碼如下,.hex档請按我下載。


  1. let flag = 0
  2. let steps = 0
  3. input.onButtonPressed(Button.B, () => {
  4.     steps = 0
  5.     flag = 0
  6. })
  7. input.onGesture(Gesture.Shake, () => {
  8.     if (flag == 1) {
  9.         steps += 1
  10.         music.playTone(262, music.beat(BeatFraction.Whole))
  11.     }
  12. })
  13. input.onButtonPressed(Button.A, () => {
  14.     flag = 1
  15. })
  16. steps = 0
  17. flag = 0
  18. basic.forever(() => {
  19.     basic.showNumber(steps)
  20. })


後記:為了誏耳朵更声歷其境,我們在每計步一次時發出一音效。在某場研習時,有個小瓶油建訍用ba ding,所以我們就從善如流啰~

活動挑戰

  1. 大擂台(三人一組,一挑战者,一裁判,一主考官。裁判用寫好的程式,幫挑战者計數,請挑战者說出主考官出題的十個国家的首都 )。
  2. 增加設定計步目標功能,例如:走到1000步就達標。
  3. 改用倒計時方式。

和108課綱的对照

  • 學習表現:
    1. 資t-III-3 能應用運算思維描述問題解決的方法。
    2. 生k-IV-2 能了解科技產物的設計原理、發展歷程、與創新關鍵。
  • 學習內容:
    1. 資A-III-2 能建立康健的數位使用習慣與態度。
    2. 生P-IV-1 創意思考的方法。

参考資料
  1. 本PBL教材皆採:任務解說(含筆者多年教學經驗分享)、教學活動設計三大段的寫作架構撰文。
  2. 六種授權條款
  3. 非同步可想像成電話插播的突發事件。當然,我們可以決定要不要緊急處理它啰~。

[Micro:bit] Micro:bit Blockly PBL教材──主題1-3:倒計時@Ted Lee的土饅頭

Micro:bit Blockly PBL教材主題1-3:倒計時


FB2http://gg.gg/TedLeeMicrobitFB/
URL2http://gg.gg/TedLeeMicrobit/

Line:ted2016.kpvs
Email:Lct4246@gmail.com
FB1http://gg.gg/TedLeeFB/
Bloghttp://gg.gg/TedLeeBlog/
URL1http://gg.gg/TedLeeURL/

Oct. 22, 2017
88x31.png[1]


和108課綱的对照


  • 學習表現:資t-IV-4 能應用運算思維解析問題。
  • 學習內容:資P-IV-2 結構化程式設計。

参考資料
  1. 六種授權條款

[Micro:bit] Micro:bit Blockly PBL教材──主題5:小彼特計步器(Pedometer)

micro:bit Blockly PBL教材[1]

主題5:小彼特計步器(Pedometer)


FB2http://gg.gg/TedLeeMicrobitFB/
URL2http://gg.gg/TedLeeMicrobit/

Line:ted2016.kpvs
Email:Lct4246@gmail.com
FB1http://gg.gg/TedLeeFB/
Bloghttp://gg.gg/TedLeeBlog/
URL1http://gg.gg/TedLeeURL/

Oct. 22, 2017
88x31.png[2]
   

蔣勲的萬步復健医囑談起

美學大師蔣勲在2010年因心肌梗塞緊急送醫手術後從鬼門關前撿回一條命。從此,他便遵從醫囑,不管刮風下雨、風吹雨打,為了活下去,每日就必需走一萬步復健。
親愛的朋友,請幫幫蔣先生設計一個可以誏他活命的計步器來提醒他每日要完成的萬步功課唄!

和生活經驗結合

小比特最迷人的硬体之一就是板載用來偵測在空間運動量變化的3軸(3 axles)加速度感測器(Gyro sensor或Accelerometer)[3]
三軸加速度感測器在日常生活中有許多的應用。茲舉數例如下:
  • 實例1:App
現在的智慧型手機裡其實暗藏著不少感測器(sensors),不相信的話您裝Sensors Test app測看看,它表列出至少數十种以上的小意兒呢!
所以,看官應該猜著了:定然也有app版的健康計步器吧?
沒錯,有一卡車哩!像這款計步器app就不錯用喔!

(啥…,大声一奌,再大声一奌:都沒水果牌的app!
口孑乚~
丫您是不知道関賤痣(key word)是不?

請讀我的唇:計…步…器…
Repeat after me!)
  • 實例2:手機直/橫向顯示
它傻瓜,也聰明,就是知道您比手転一下就把手機畫面打橫,這樣追剧才过癮唄~。
智慧型手機就是利用一顆加速度感測晶片來感知螢幕要直顯还是橫顯的喔!
  • 實例3:念佛器
阮阿嬤生前是佛教徒,所以每天要做的功課就是要念一萬聲佛號。但您也了年紀大了記性不好,老是記不住念过了五千还是八千遍,這時要是有念佛神器,那就真的是太帥了!
(注意觀察此器的使用:念一遍佛号,按一下,數字+1…。這不就是和一般計數器的功能一模一樣嗎?)
  • 實例4:人頭計數器
有去過動物園或遊樂場校外教學的經驗吧?帶隊老師買完團體票後,同學們一個接一個陸續入場。在入口處您一定見過會有一個工作人員拿著這樣一個計數器在數人頭。
  • 實例5:叫号機
我們到診所看病時,會先到櫃檯掛号,並取得一個號碼後在一旁等候叫号機顯示看診序號後進入診間就医。

任務

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

材料

品名 數量 單位
Micro:bit主板 1
USB傳輸線 1
KSB040鋰電也擴充板 1
鱷魚夾(五色,五條) 1
CM-4 4號嬌點整理盒 1
不織布 1
魔鬼氈(子、母) 1

  • 共用工具組:剪刀、美工刀、油性筆、、透明膠帶、雙面膠、膠水、白膠、鐵尺、切割墊若干。

解說

不管了不了解題意,玩一下這個小彼特版的東東,先建立直覺(intuition)再說。
好玩嗎?來,自己做一個更有fu喔!
整個問題的核心(core)在用一個變數(variable)steps來記錄目前走了幾步。變數者,會變之數也,每走一步就累進一。So,只要能精緻處理計數變數(counting variable)的變化,我們就能控制計步的过程。其中,在程式語言(programming languages)裡,變數的使用方式有以下三個步驟:
  1. 宣告(declaration):指定變數名稱(variable name)型別(type)。所謂型別是指該變數屬於哪一類(catalog),例如:整數(integers)實數(real numbers)…等等。
  2. 賦予初始值(initial value):指定變數的起始內容。例如:設定steps從0起跳,
  3. 使用(use):變數的累計或計算。例如:走一步觸發(trigger)一次加速度感測器的shake(搖動)事件,並將steps的計數值加1,
最後,再誏小彼特不斷顯示(只要steps之值沒有變化,雖然小彼特的5×5 LED奌矩陣(dot matrix)反復刷新,但視覺上並未看到計數值顯示有改變。您也可以把移到事件積木(event block)中試試!)steps的值就大功告成了。
完整程式碼如下,專案可在按滑鼠右鍵另存下載。


  1. let steps = 0
  2. input.onGesture(Gesture.Shake, () => {
  3.     steps += 1
  4.     music.playTone(659, music.beat(BeatFraction.Whole))
  5. })
  6. steps = 0
  7. basic.forever(() => {
  8.     basic.showNumber(steps)
  9. })
後記:本單元过関的人,請挑战魔王関

教學活動設計

  • 活動1:上回小彼特大战牛魔王的故事快說到完結篇了。快快快,看誰搖的最賣力來拜請三太子
  • 活動2:使用不織布(30cm×34.5cm,約NTD 15元/塊)裁剪出手錶造型
  • 活動3:請改成台版藍白拖
  • 活動4:大競走 將計步器設定成計數100步,當走到100步時立即發出提示音。

作品集


教學小故事

我在某完全中學社团課上到這個單元時,有位中學部的學生兩節課上下來竟然搖了2xxx下。下課時还意猶未竟的問我:「老師,小彼特能不能儲存記錄,這樣我下一次上課時就可以繼續搖?」
隔週我把這個故事講給小學部社團課的學生聽,結果有一個學生語帶不屑冷冷的說道:「我一節課不到就搖了1xxx多下了耶!」
由此証明,所謂的看著點滴一直笑的「童趣」,真得不是我們這些LKK懂得的啊!

後記1:某校長建言要誏學生多練習本課程,以便加強搖功可以到5x籃兼差!
後記2:請收看不不版。看看我們是如何啟動學員們內在強大的「自學力」!

創意思考 

小彼特是買來給我們補(右)腦的,不是買來供起來拜拜的!
趕快拿板凳坐下來看看別人都是怎麼玩滴:
  • 案例1:塑身小美機/肌[4]
基隆某國小呂佳紋社團老師很巧思地將小彼特設計成錶狀佩戴在手腕上後再用手掌握住裝水保特瓶作成的啞鈴來練muscle[5]

後記:
某生OS:挖靠…左邊走,這是啥鬼社团,要做勞作、爆肝改程式就算了,还要做苦力活~。
今日重量訓練1000下。
手好酸喔,可不可以少一個零啊。

旁邊的同鞋阿山在窃笑,因為他改程式,誏小彼特一次加10下,所以不一會兒連流汗都沒流就做完了!

老蘇,他作弊!
  • 案例2:運动大神器[4]
用長形圓桿作成軸心,再輔以一塊彩繪後的長板作為翹翹板,並用積木作成內凹的小方形以放入小彼特固定在蹺蹺板的中間計數。
玩編程还能運動真是夠了!
來,先看影片:CLOQQ - The Balance King

(不過因為加速度感測器在Make Code的定義經實測大約要上下左右各傾斜30度以上才會觸發相對應的姿態(gestures),所以程式改成玩此蹺蹺板時加速度感測器所讀取到X軸的變化量[6],像這個)。
這個idea在国外已有類似的平衡板商品在市面上販售。另外,也有MIT的人也用Scratch玩了一版
  • 案例3:中歺大秘技
什麼?小彼特和飲食有関?這也未免「関很大」唄!
真的,騙您不值$。
請先看看新手翻鍋Amazing Chinese cooking skills/惊人的中国烹饪技巧。有看到中餐的標準技法叫翻鍋[7]了嗎?
那這又和小彼特何干?
看看這位歪国人的創意先:Smart Kitchen (BBC Micro:Bit)
更棒的是,這主題剛好可以和国中家政烹飪課相結合。
真是寓教於樂耶…!
小彼特馬戲团開演啰,第一幕是歪国人雜耍球(Juggling),請客官欣賞。

和學科之跨領域結合

小彼特和体育能結合?你馬幫幫忙,結很大ねい
來來來,你來,看這鍋──小彼特之開合跳,雖然Ted Lee跳的很踹还被笑体力差,但確實能達到体育課要求的運動量唄~。
這裡还有优良作品选粹:單手投籃動作提醒器跳繩計數器多功能運動輔助器

STEAM指標

STEAM

積木學習重奌

Variables、Input、Logic。

編程學習重奌

變數(variables)計數器(counter)判斷結構(selective structures)

硬体學習重奌

重力加度感測器(Accelermeter/G sensor)

和108課綱台北市版的对照

  • 科技領域/資訊科技學習重點
    • 學習表現:
      1. 資p-I-1 能認識與使用資訊科技以表達想法(呈現解決程序)。
      2. 生c-IV-2 能在實作活動中展現創新思考的能力。
    • 學習內容:
      1. 資P-II-1 程式設計工具之功能與操作。
      2. 生P-IV-2 設計圖的繪製。
  • 科技領域核心素養:科-E-A3 具備運用科技規劃與執行計畫的基本概念,並能應用於日常生活。

参考資料
  1. 本PBL教材皆採:任務解說(含筆者多年教學經驗分享)、教學活動設計三大段的寫作架構撰文。
  2. 六種授權條款
  3. 加速度感測器和陀螺儀(Gyroscope)不同,後者是用來量測裝置的角速度的!。
  4. 可以和体育課相結合。
  5. 授杈同意証明
  6. 動動腦,也可改成用加速度感測器的Y軸改變量來玩喔!
  7. Ted Lee版: