2. 第二課

../_images/2_1.png

2.1. 簡介

歡迎參加Micro:bit 智能小車課程!在本課程中,我們將探索Micro : bit並學習如何在編程中如何控制Micro:bit智能小車。

2.2. 教學目標

讓學生清楚掌握Micro: bit 智能小車的擴展板Rgb燈的控制及其功用,並了解如何利用積木模塊控制蜂鳴器以成功播放歌曲。

2.3. 擴展板Rgb燈的控制 (LED)

選擇Stemhub:bit > 設置板載燈 第一個燈 顔色 紅

../_images/2_2.png

黃色框內的選項分別控制擴展板上的Rgb燈 藍色框內的選項控制燈的顏色

../_images/2_3.png

擴展板上LED1-4的燈分別是 “第一個燈”至“第四個燈”。

../_images/2_4.png

設定顏色和亮度,亮度的數值由0至255

2.3.1. 練習1: 設計程序使擴展板上的Rgb燈順序閃爍

../_images/2_5.png

提示: 設定每一個Rgb燈的開燈時間,再打開下一個燈要先關上一個燈

2.3.2. 練習2: 設計程序使擴展板上的Rgb燈亮度由小至大再到大至小(呼吸燈效果)

提示: 使用迴圈與變數使燈光亮度慢慢減少

../_images/2_6.png

呼吸燈效果:

../_images/2_7.png

2.4. 蜂鳴器

擴展板上的蜂鳴器與Micro:bit 上的蜂鳴器相同,它們都能透過 “音效(Music)”分類內的積木模塊控制。而將Micro:bit 插入擴展板後只有擴展板上的蜂鳴器會響聲。

音效 > 旋律 > 演奏旋律 ♫ … 速度 … (bpm)

../_images/2_8.png
../_images/2_9.png

黃框選擇旋律,並在藍框控制速度

../_images/2_10.png

黃框選擇音調,並在藍框控制節拍

../_images/2_11.png

黃框選擇音量的大小

2.4.1. 顯示文字的延遲

看看以下兩個程序,它們有什麽分別?

../_images/2_12.png
../_images/2_13.png

(1)在按下按鈕A後,Micro:bit屏幕會先把字串“Sound”逐個字母慢慢顯示完,才播放中音C。

(2)在按下按鈕B後,Micro:bit屏幕會先很快地播完中音C,再顯示文字“Sound”,兩段程序看似同步執行。

由此可見,Micro:bit板在顯示字串時必須先把所有字母顯示完才會繼續進行下一段程序,在設計程序時需要將其帶來的龐大延遲放入考量。如果想同時播放音效及顯示字母,將後者之程序放在最後執行的效果會較好。 

2.4.2. 練習: 播放歌曲, 設計程序使小車能夠播放以下歌曲

2.4.2.1. 1: “Twinkle Twinkle Little Star”

../_images/2_14.png

2.4.2.2. 2: “Jingle Bells”

../_images/2_15.png

2.4.3. 答案

2.4.3.1. 練習1:

在打開第一個燈後,利用暫停模塊設定開燈時間為100毫秒,在開第二個燈時關上第一個燈。如此類推,把逐個燈打開並關上。無限重複程序使其反複由左至右閃爍。

../_images/2_16.png
../_images/2_17.png

2.4.3.2. 練習2: 呼吸燈

整個程式分為兩個部分(黃框)(漸大、漸小)

1. 把變數(value)初始化,設為0,並作為重複的條件

2. 在value少於或等於255的情況下:

a.	把全部燈改成橙色,燈光亮度會隨著value改變
b.	暫停0.01秒
c.	value增加5

3. value大於255時,將不符合第一個黃框的條件

4. 把value設定為255,在value大於0的情況下:

a.	把全部燈改成橙色,燈光亮度會隨著value改變
b.	暫停0.01秒
c.	value減少5
d.	程式在value少於0的情況下結束

../_images/2_18.png