20200922 科丁聯盟

主題:認識micro:bit及自走車

講義http://gg.gg/0922coding

講師:黃文玉老師 (shspswenyu@gmail.com)

  • 高雄市新上國小電腦老師

  • 高雄市SCRATCH推廣教師

  • 教育部中小學教師運算思維增能研習種子教師

  • Facebook S4A社團管理員之一

  • 致力Scratch、Arduino、Micro:bit、Web:Bit等創客教育的推廣(分享一系列的文章)

自走車課程規劃

  • 認識micro:bit及基本操作(3小時)

    • 認識屏幕(動畫製作)

    • 認識按鍵(剪刀石頭布遊戲)

    • 認識變數(計數器及按按按遊戲)

    • 認識程式三大基本結構(依序點亮一列燈到九九乘法法)

    • 認識內建感測器(運動溫度計、天黑請開燈)

  • 認識擴展板(1小時)

    • 認識蜂鳴器(播放全家迎客音樂)

    • 點亮LED燈(再做一次天黑請開燈)

  • 認識自走車

    • 測試小車前進、退後、左轉、右轉 (2小時)

      • 讓小車走正方形

      • 讓小車走圓形或8字形

      • 加入車燈的控制

      • 閃爍七彩霓虹燈(Neopixel)

      • 你的應用

    • 測試小車避障功能 (2小時)

      • 認識超音波感測器

      • 倒車雷達的應用

      • 避障小車實作

      • 利用物品或燈光控制小車的前進、後退

      • 你的應用

      • 測試小車巡跡功能 (2小時)

      • 認識循跡感測器

      • 利用循跡感測器來製作空氣按鍵

      • 認識小車的巡跡原理

      • 循跡小車實作,誰最快成功跑5圈

      • 你的應用

    • 用紅外線遙控器遙控小車 (由於沒有紅外線遙控器,所以只做示範)

      • 用micro:bit主板遙控小車 (兩人合作) (2小時)

      • 認識廣播的使用

      • 製作心情傳達器

      • 遙控小車的實作

      • 你的應用

課程內容:

第一節課:

  • 認識micro:bit

    • 硬體介紹

      • micro: bit是一款由英國BBC與微軟、ARM、三星、蘭卡斯特大學等二十九個單位與公司合作,可編寫程式的口袋微型電腦,可看做一台電腦。

      • Micro:bit 設計有ARM架構的單片機(以ARM Cortex M0處理器為基礎),板載藍牙,加速度計,電子羅盤(磁力計),二個按鈕,5 x 5 LED點陣,主要用於青少年的程式設計教育。

      • 這塊開發板內建了低功耗藍牙,以Nordic半導體的nRF51822晶片組為基礎,可以讓Micro:bit之間彼此連結,或是連結至大多數的智慧型手機與平板電腦上。

    • 軟體介紹

      • 有很多軟體可以用來控制micro:bit,如大家熟悉的Scratch (這是國小開始學程式設計的最大功臣,採用積木堆疊的方式寫程式)

      • 官方網站介紹兩種編輯器:makecode編輯器及Python編輯器

      • 這次課程採用makecode的線上版來教學,瀏覽器建議採用chrome (也可直接在網址列打上makecode進入)

    • 詳細講義

  • 程式的開始

    • 先執行【當啟動時】的積木(像鱷魚嘴巴,可以吃很多積木)

    • 再來執行【重複無限次】的積木(像鱷魚嘴巴,可以吃很多積木)

    • 只能有一個【當啟動時】的積木,但可以有很多【重複無限次】的積木

  • 認識屏幕的畫面呈現

    • 顯示圖案

      • 內建

      • 自繪

    • 顯示數字,超過2位數,以跑馬燈的方式呈現

    • 顯示文字,超過2個字元,以跑馬燈的方式呈現

    • 顯示積木本身占有時間,顯示圖案積木占600亳秒 (其他程式的積木大都不占時間)

  • 認識程式基本結構

    • 循序結構 (像水由上往下流)

    • 重複結構 (像水的循環,水-水蒸發成水蒸汽-水蒸汽凝結又變成水)

    • 選擇結構 (像水遇到大石頭後,會選擇好走的路) (後面再說明)

  • (實作)製作簡易動畫

    • 動畫原理

      • 視覺暫留

      • 一般30幀/秒

    • 動畫作品 (但由於屏幕只有5X5,解析度不高,無法做太複雜圖案)

      • 小綠人動畫

      • 歡迎動畫

      • 遊戲動畫

      • 爆炸動畫

      • ....

    • 詳細講義

第二節課:

  • 認識按鍵的使用

    • (先動腦想一想)如何利用micro:bit開發板來玩剪刀石頭布的遊戲

    • A鍵、B鍵、A+B鍵;按鍵積木處於一直偵測的情況下。

    • 與其說按下按鍵,不如說放開按鍵。有些開發板按鍵有分【按下】、【放開】及【長按】三種。

    • 剪刀石頭布遊戲

    • 左右同學PK一下

第三節課:

  • 認識變數的使用

    • 何謂變數:會變的數,像分數、時間、存活數....

    • 變數的使用原則

      • 幫變數取一個名稱

      • 設定變數的初始值

    • 計數器

      • 按A鍵新增1人

      • 按B鍵顯示進場總人數

      • 按A+B鍵則人數歸零

    • 轉變成按按按遊戲

    • (作業)轉變成計步器

    • (作業一)九九乘法練習器(按A鍵顯示被乘數、按B鍵顯示乘數、按A+B鍵顯示兩者的乘積)

    • 詳細講義

  • 認識選擇結構

    • 看是否符合條件,來決定程式的執行方向

      • 如果...,就...

      • 如果...,就...,否則就....(二分法)

        • 體育課時,如果下雨,就在體育館上課,否則在教室上課

      • 如果...(第1個條件),就...,否則如果...(第2個條件),就...,否則就...(三分法)

        • 如果遇到紅燈,就停止,否則如果遇到綠燈,就前進,否則就快速通過或慢慢停止(黃燈)。

    • 按鍵本身就是選擇結構

    • 隨機的使用

    • 隨機出拳的剪刀石頭布(有兩種寫法)

    • (實作)丟骰子遊戲

    • 詳細講義

第四節課:

  • 認識內建感測器

    • 量測環境溫度

      • 製作運動溫度計

    • 量測環境光亮度

      • 天黑請開燈

  • 回家作業

    • 作業 二:請同學設計一個猜數字遊戲

      • 我出數字,電腦(micro:bit)來猜數字

      • 請同學先出一個1~99的數字給電腦猜

      • 電腦會採用

        • 方法一:隨機猜數字,並將數字呈現在屏幕上

        • 方法二:二分搜尋法猜數字,並將數字呈現在屏幕上

        • 若沒有看清楚,可將板子搖晃一下,重新顯示數字

      • 若電腦猜的數字太小,請按A鍵

      • 若電腦猜的數字太大,請按B鍵

      • 若電腦猜對了,請按A+B鍵,並顯示打勾及猜的次數

    • 繳交作業:https://docs.google.com/forms/d/e/1FAIpQLSfMPoxIvm76ub1Y4lXZd3aGZCKuXlbfD3Ly41YlZqSzSqk-oQ/viewform

第五節課:

第六節課:

  • 擴展自走車積木(cutebot)

  • 控制車子前進、後退、左右轉

  • 參考資料:https://sites.google.com/site/wenyumicrobit2/01-micro-bit-yan-jiu/62-cutebot

  • 作業三:猜數字遊戲二

    • 電腦(micro:bit)出數字,我來猜

      • 電腦會隨機出1~99的數字

      • 我輸入一個數字

        • 請同學想一想要如何輸入一個2位數的數字

      • 如果我輸入的數字太大,屏幕顯示【向上】的箭頭

      • 如果我輸入的數字太小,屏幕顯示【向小】的箭頭

      • 如果我輸入的數字與電腦一樣,屏幕會顯示【打勾】的圖案,及猜了幾次的數字

      • 搖晃主板,會顯示我輸入的數字

第七節課:

  • 自走車

    • 音樂呈現

      • 內建音樂

      • 全家便利商店入店時的音樂 (簡譜:3 1 5(低音) 1 / 2 5~ 2 / 3 2 5(低音) 1)

第八節課:

    • 循跡原理

    • 測試循跡感應器,發現在黑線時感應燈會亮起,在白線時感應燈會滅掉

    • 原理:

    • 程式如下:

      • 一開始速度不用太快,等都成功後再去加速

      • 當兩個感應器都在白線時,代表車子已跑出黑線了,理論上車子應該要【停止】,但在此我們先不理會,不做任何動作,大部份的時侯車子會順勢再轉回黑線上。

第九節課:

    • 認識超音波測距感應器

    • 製作倒車雷達的裝置

第十節課:

  • 避障小車實作

  • 利用物品或燈光控制小車的前進、後退

第十一節課:

  • 製作心情傳達器

    • 兩人合作

      • 一人當發送端

      • 一人當接收端

      • 同一人可以寫發送端及接收端的程式在一起

第十二節課:

  • 遙控小車的實作

    • 兩人合作

      • 一人寫遙控器的程式

      • 一人寫小車的程式