顯示具有 STEAMonMicro:bit 標籤的文章。 顯示所有文章
顯示具有 STEAMonMicro:bit 標籤的文章。 顯示所有文章

2020年4月4日 星期六

[micro:bit] 蒸汽彼特(STEAM on micro:bit)II──主題10:卡路里大作戰之鋼鐵人反應爐燈環傳

蒸汽彼特(STEAM on micro:bit)II

主題10:卡路里大作戰之鋼鐵人反應爐燈環傳


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/

Apr. 4, 2020
88x31.png[1]

 

難易度

★★☆☆☆

主題

跑跑跑…向前跑,邊跑邊消耗多食的卡路里之外,還可以替鋼鐵人反應爐積累能量

任務

反應爐是鋼鐵人的心臟,為了讓他好好活下去,請督促小彼特每天都要按時運動好將卡路里燃燒後轉換成反應爐所需的能量。
廣播計步功能結合,每跑十步就讓燈環多亮一顆燈。待燈環全數點亮後還會放音樂

材料

編號品名單位數量
1小彼特主板2
2傳輸線1
3燈環(註)4
4魔鬼氈1
5瓦楞紙板/PP板/木板…1

造形設計

以上一小節第5項材料,參考圓扁盒造形https://reurl.cc/O1Ap6A)、https://reurl.cc/xZ9OWNhttps://reurl.cc/vDdeEA…來設計反應爐的外觀。請留意要預留放置小彼特的尺寸。

功能設計=硬(電路設計)+軟(程式設計)

電路設計 電路設計如右圖所示。藍色小彼特為發送端(transmitter,Tx),它連接KSB040鋰電擴充板https://reurl.cc/ex33gM)供電;紅色小彼特為接收端(receiver,Rx),除了和接收端一樣使用KSB040做為電力來源外,考量到燈環需要5V電源(主板只需3V),因此,我們再加上一塊KSB047 PWM轉接板https://reurl.cc/E7rryn)後,恰巧可以把原本是要給外接伺服馬達用的5V電源接腳挪拿來驅動燈環使用。操作影片https://reurl.cc/1xZGpQ)如右圖所示。這個組合除了輕巧、省接線外,售價上也不會比外接獨立電源來的貴。所以,選用KSB040再搭配KSB047就會是一個經濟而實惠的不錯選擇了。


如何選擇合適的擴充板(extension boards) 關於小彼特常用的擴充板可參考我們在MakerPro專欄中《micro:bit搭載KAISE週邊的引導式教學組合》(https://reurl.cc/z8ZM2e)一文的詳細介紹。以下,我們條列幾項重要的原則供讀者在有需要採購時較好依循:
  1. 錢有涯,擴充無涯:硬體擴充本身就是個無底洞,需量(財/能)力而為之。
  2. 專款專用,切忌包山包海:將所有元件集結在同一塊電路板子上雖可省去收找材料的麻煩,但一有某處單獨的零件損壞常會是再多新買一塊新品替代。更重要的是,在做作品時就會發現雖需求功能不多,但因為整塊板子全都包了,遂而無法客制量身訂作。
  3. 教學需求至上:凡教學上用不到的硬體,請都放在最後再考量。
  4. 學習常規,不學特例:筆者上課常和學生們笑言:「我們很懶,只要辛苦地一次把他們學會,之後就不用再多花時間學第二次。」某些廠商為了防呆或者是刻意簡化的接線方式,一開始學時無腦地喀喳就接好了,但只要是非該廠商推出的產品,就會立即發現接起線來東卡、西卡的。
  5. 跟風無時停(台語):網上推坑不平之路很多,只要看推的人有沒在教學?有沒學員作品不斷的產出?大概就知道他們推薦東西的受測度了。以我們而言,我們得要站在教學第一線來考量。因為自己有在教學,所以會被學員操到金嚇嚇(台語)~。


程式設計 既然硬體先天就已畫分好了傳送端Tx和接收端Rx,軟體功能的程式撰寫當然也得遵循這個架構。Tx和Rx最基本的主/從式(Client/ Server)程式架構請參考以下這兩個連結:主Tx程式https://reurl.cc/oL1YMj)、從Rx程式https://reurl.cc/d02aM6)。
  1. 傳送端的程式如某右圖所示。我們使用87號廣播通道(radio channel)來傳遞訊息。當傳送端的小彼特晃動時,將計步的記錄傳送出去後發出提示音效。(隨時按下按鈕A可發射代碼99表示要歸零重新開始。)完整的參考程式碼可按https://reurl.cc/9EGGjd下載
  2. 接收端的程式如某右圖所示

Make Codehttps://makecode.microbit.org/)線上編輯工具中匯入燈環的擴充積木。本例是使用手邊的EzRing硬體,故需引入合適的積木擴充包https://reurl.cc/WdrrpL)。讀者若使用的是WS2812款式的燈環,則需匯入neopixel這包擴充積木
程式初始化時需指定和接收端相同的第87號廣播頻道。接著,我們要告訴接收端的小彼特是以P1(RX)和P2(TX)兩隻接腳來和EzRing傳遞序列(serial)控制資料(若是使用WS2812,則只要選用P1或P2一隻接腳來傳送5050 RGB LED的顯示資訊即可)。然後,再讓燈環閃礫一下表示備妥(ready)
當收到傳送端傳來的計步值時,則將結果顯示到燈環上(一步一顆、二步兩顆…)。
此外,若收到99的歸零訊息則將燈環換色後熄滅。
完整的參考程式碼可按
https://reurl.cc/vDdW11下載

展示影片請參考https://youtu.be/s-IAP8ER7Fg

    教學活動設計

    教學投影片可由https://reurl.cc/Y1v09o)下載。
    1. 手勢控燈 參考右手邊的影片https://reurl.cc/qd5OQp),設計若干不同手勢(gestures)來操控燈環的顯示樣式(patterns)
    2. 展示盒 TxRx


    積木指標

    Basic、Radio、Loops、Input、Logic、Math、Variables、Extensions

    編程指

    循序結構(sequence structure)判斷結構(decision structure)重覆結構(repetition structure)非同步事件處理(asynchronous event handling)

    硬體指

    擴充板、燈環。

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

    2020年3月31日 星期二

    [micro:bit] 蒸汽彼特(STEAM on Micro:bit)II──主題9:小彼特心臟病

    蒸汽彼特(STEAM on micro:bit)II

    主題9:小彼特心臟病


    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/

    Mar. 31, 2020
    88x31.png[1]




    難易度

    ★★☆☆☆

    主題

    根據撲克牌遊戲來設計類似的小彼特玩法。

    任務

    小阿聰總是神經大條,對事情的反應老是慢半拍。請設計一個特訓機來協助他反應up up!
    利用導電原理,使用鋁箔(aluminum foil)作為接觸端點,並以鱷魚夾(crocodile clip)搭建出電路迴路來偵測瞬間觸碰的反應識別

    材料

    編號 品名 單位 數量
    1 小彼特主板 1
    2 傳輸線 1
    3 鱷魚夾 4
    4 鋁箔紙 1
    5 瓦楞紙板/PP板/木板… 1

    造形設計

    設計我們想們想要的外觀(例如這款由世界最偉大的林先生親手繪製的大象圖案,留出要黏貼發牌、奇數牌玩家、偶數牌玩家及GND四個鋁箔觸碰點的位置,再根據我們事先畫好的設計稿剪裁之

    功能設計=硬(電路設計)+軟(程式設計)

    參考撲克牌心臟病的實際玩法https://reurl.cc/z8MaW7)來制定我們的遊戲規則。例如:兩位玩家(以奇數或偶數數字搶答區別,文後以奇數玩家及偶數玩家簡稱之)都先將一手放在GND觸碰(touch)的共地鋁箔上。然後,選由其中的一位玩家按小彼特的A按鈕發牌。當牌數為偶數時,先前被指定為偶數需作答的玩家有按下觸碰則得一分。反之,若先前被指定為奇數需作答的玩家因誤判而按下觸碰時就扣一分。最後,在比賽時間結束後,按下A按鈕會自動顯示贏家代碼,奇數玩家為A,偶數玩家為B。平手則以=表示。


    導電原理:從電源正極出發,經開關到LED後回到電源負極的電路迴路(circuit loop),開關就是擔任迴路導通的切換關口。像本單元中的鋁箔正是做為迴路的導通開關之用。


    電路設計如圖所示
    另一方面,程式邏輯(program logic)参考樣版(template)步驟為:(變數played表示發牌的狀態,0:未發,1已發;card:記錄發牌的點數;scored_A/scored_B:奇數/偶數玩家的得分記錄)。

    1. 發牌(觸碰P0):程式流程為,轉換成對應的程式碼為
    2. 作答(觸碰P1/P2:程式流程為,轉換成對應的程式碼為
    3. 判斷輸贏(小彼特主板的按鈕A):程式流程為,轉換成對應的程式碼為。
    參考程式碼可按https://reurl.cc/qdOR70下載。教學投影片可由https://reurl.cc/9EOkja下載

    教學活動設計

    1. 敏捷王 採三戰兩勝分組進行競賽。選出最終的年度最佳「敏捷王」。
    2. 搶答機 請將上述的範例程式做適度的修改,並設計十道題目,由紅白兩隊各派十人參賽。主持人念完題目後開始按機搶答。
    3. 心臟病 用四塊小彼特WXYZ模擬四家對戰,並再放置一塊小彼特D來顯示各家翻出的牌。
      一開始按下小彼特D的A按鈕將52張牌平均發給小彼特WXYZ。
      然後由小彼特WXYZ輪流按按鈕A出牌,並顯示在小彼特D上。
      每家出完牌後即開始等候按下按鈕B搶答。
      搶答的先後次序由小彼特D來仲裁。
      (建議使用WiFi來處理五塊小彼特之間的訊息傳遞。根據筆者實測,多塊小彼特通訊會產生信號干擾而導致封包遺失(packet lose)https://reurl.cc/j7kzEn)的窘境。)

    積木指標

    Basic、Input、Logic、Math、Variables

    編程指

    循序結構(sequence structure)判斷結構(decision structure)非同步事件處理(asynchronous event handling)

    硬體指

    鋁箔紙、鱷魚夾。

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

    2019年11月16日 星期六

    [micro:bit] 蒸汽彼特(STEAM on micro:bit)之創意發明王養成班教材II──主題8:小彼特玩樂器

    蒸汽彼特(STEAM on micro:bit)之創意發明王養成班教材II──

    主題8:小彼特玩樂器


    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/

    Nov. 11, 2019
    88x31.png[1]

     

    難易度

    ★★☆☆☆

    主題


    設計自己喜歡的樂器外形並譜寫演奏的曲子。

    任務

    莫札特是小彼特的摯友,小彼特要親自演奏一曲送給他作為堅固友誼的見證。
    樂器外型上導電膠帶作為迴路的接觸端點,手指輕碰即依序演奏曲子的單個音階,並搭配灯條燈光變化

    材料

    編號 品名 單位
    1 小彼特主板
    2 電池盒(四號,二入,含蓋)
    3 WS2812B燈條組(十顆)
    4 杜邦線組(五條,公公,30 cm)
    5 魔鬼氈組(10 cm)
    6 電池組(三號/四號,四顆)
    7 鱷魚夾組(五條)
    8 透明膠帶
    9 導電膠帶
    10 瓦楞紙板/PP板/木板…

    造形設計

    在稿紙上先畫出自己喜歡的樂器外形(上網Google一下,https://reurl.cc/nVlv11),再利用板形材料裁切好。請參考以下學員們的若干作品:







    功能設計=硬(電路設計)+軟(程式設計)

    根據小彼特急急棒(https://reurl.cc/oDKylq小彼特鋼琴王(https://reurl.cc/oDKVmq導電原理,我們希望能做出像人體樂器(https://reurl.cc/EKb6E0的效果。
    電路設計如圖所示:
    另一方面,程式設計参考樣版之步驟為:
    1. 設計曲子:挑選一首自己喜歡的曲子(https://reurl.cc/lLayZA)再利用Make Code相關音階積木把它譜出來。例如:小星星,
      。其中,我們把一整首歌的音階以song這個陣列(array)https://reurl.cc/mdkR9V)來存放。
    2. 設計導電觸發事件處理:當兩極導電時一次播一個音階。為了讓音階能重覆播放,我們使用數學的餘數(remainder)概念來計算要循環取出的音階索引(index)i,
    3. 設計燈條顯示樣式:燈條的控制很簡單,只有初始化(initialize,init)宣告設定點亮樣式(patterns)。前者需設定小彼特以何接腳連接燈條(例如:P2)及燈條上LED的顆數(例如:6)。請留意這個數字一定要設的和實際個數完全相同,否則會有誤動作產生。
      後者可設定諸如流水燈(https://reurl.cc/24l6D9)等特效(在此例中我們僅以閃爍藍色燈示意之)
    4. 參考的參程式碼如https://reurl.cc/EKb1jk
      MicroPyhon版(https://reurl.cc/GkaMlv)參考程式為:

    from microbit import *

    import music



    tune = ["C4:4", "D4:4", "E4:4", "C4:4", "C4:4", "D4:4", "E4:4", "C4:4",

            "E4:4", "F4:4", "G4:8", "E4:4", "F4:4", "G4:8"] #Ex13
    i=0

    while True:
        if pin1.is_touched():
           music.play(tune[i])
           i=(i+1)%14


    教學活動設計

    1. 來電一下:和大街上的陌生朋友一起「同奏」,先演奏完整首曲子者獲勝。
    2. 廣播點歌:結合廣播(https://reurl.cc/ObR5r7)功能,將本作品擴充為無線廣播點唱機
    3. 請你跟我這樣玩:1(https://reurl.cc/0zRmmb)、2(https://reurl.cc/zyOlZ6)。

    延伸學習

    1. 參考這個日本在2011出的商品(https://reurl.cc/alMZGY,想想我們設計的小彼特版要如何擴充,使得它可以播一首以上的曲子。
    2. 如何讓小彼特也有好音色呢?試試這款外掛的MP3播放模組(https://reurl.cc/72b47d)。
    3. 把鄭老師的3D模型(https://reurl.cc/5gX4Gv)修改成小彼特版印出來也很好玩喔!(https://reurl.cc/D1Y4dE
    4. 小彼特還可以做出哪些好玩的樂器呢?官網上有個專案範例(https://reurl.cc/Vam07R)可以玩玩看。或者也可以看看以下這兩個作品: 

    積木指標

    Basic、Arrays、Input、Neopixel、Logic、Math、Variables

    編程指

    循序結構(sequence structure)非同步事件處理(asynchronous event handling)

    硬體指

    導電帶、鱷魚夾。

    STEAM指標

    STEAM。

    和108課綱的對照(以國中端為例)

        • 科技領域核心素養科-J-B3 了解美感應用於科技的特質,並進行科技創作與分享。
          • 科技領域/資訊科技學習重點
            • 學習表現設c-V-2 能運用科技知能及創新思考以設計並實際製作科技產品。
            • 學習內容:資P-IV-3 陣列程式設計實作。

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

          2019年6月15日 星期六

          [Micro:bit] 蒸汽彼特(STEAM on Micro:bit)之創意發明王養成班教材II──主題4:小彼特販賣機

          蒸汽彼特(STEAM on Micro:bit)

          之創意發明王養成班教材II

          主題4:小彼特販賣機


          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/

          Jun. 15, 2019
          88x31.png[1]

          難易度

          ★★

          主題

          路上夾娃娃店一家一家的開,腦筋動的快的小彼特馬上變型成快樂販賣機,賣給大家天天都滿滿的開心,happy啦~。

          任務

          觀察生活週遭的自動販賣機台,並試著用小彼特也來複刻一台吧!
          使用TT減速馬達電控螺旋引擎機構導電原理來摸擬自動販賣機的投幣與供貨的機制

          材料

          品名 數量 單位
          TT減速馬達 1
          PP 1
          20號白鐵線 1
          氣球座 1
          KSB037馬達擴充板 1
          3號電池 3
          3號電池盒(有蓋、開關) 1
          銅片 1
          杜邦線(公母30CM) 2
          魔鬼氈 1
          • 共用工具組:剪刀、美工刀、油性筆、透明膠帶、雙面膠、膠水、白膠、鐵尺、切割墊…若干。 
          • 技術咨詢(手機加Line:https://line.me/R/ti/g/U7UpPtBc0j)。

          造形設計

          簡易販賣機可以分成三大部份:螺旋引擎投幣機台

          功能設計

          每樣商品十元整。從投幣孔投入十元硬幣後立即轉動旋轉引擎掉出購買之商品。
          1. 硬体接線路:
            1. 螺旋引擎:
              1. 使KSB037馬達擴充板接線:
              2. 使用L298馬達驅動模組接線[2]:
            2. 投幣機制:P8和+3V
          2. 電控程式:
            1. 基本款:按A時轉動,按B時停止。
            2. 完整款(KSB037):投入十元後被P1接腳感應到,隨即啟動接在P12和P2上的TT馬達去帶動螺旋引擎,使得商品掉出。註:P1P2為転向控制接腳;P8P12為転速控制接腳。P1P8P2P12
            3. 完整款(L298):投入十元後按A隨即啟動接在P1和P2上的TT馬達去帶動螺旋引擎,使得商品掉出。

          教學活動設計

          1. 電控程式要調成誏販賣的商品每次都只會剛好掉出一包會有啥訣竅呢?
          2. 觀察真實販賣機的螺旋引擎,有發現它和您的作品有何異同嗎?

          教學資源

          教學投影片

          積木指标

          Basic、Input、Loops、Logic、Pins


          編程指标

          循序結構(sequence structure)、重覆結構(repetition structure)选擇結構(selection structure)非同步事件處理(asynchronous event handling)


          硬体指标

          按扭、伺服馬達、電池盒組。

          STEAM指標

          TEAM。


          和108課綱的对照

              • 科技領域核心素養:科-J-B2 理解資訊與科技的基本原理,具備科技、資訊、媒體的應用能力,並能分析人與科技、資訊、媒體的互動關係。
                • 科技領域/資訊科技學習重點
                  • 學習表現:資c-IV-1 能熟悉資訊科技共創工具的使用方法。
                  • 學習內容:資S-IV-2 系統平台之組成架構與基本運作原理。