---
# System prepended metadata

title: 心情小夜燈

---

# 心情小夜燈
> ## [time=1節]  [name=5,6年級]
## 課程目標
- 認識RGB三原色與光的混色原理
- 學會控制RGB LED模組
- 撰寫程式控制 LED 顏色與變化順序
- 培養創意設計與邏輯思考能力
## 學習內涵 
- 資 E2 使用資訊科技解決生活中簡單的問題。
- 科 E1 了解平日常見科技產品的用途與運作方式。
- 科 E7 依據設計構想以規劃物品的製作步驟。
## 準備工作
1. MATRIX Future Innovators Set
    - [板載-按鈕](https://hackmd.io/J2QGuh7DQmaDHez8KTBNrw?stext=167%3A5%3A0%3A1758443978%3AdOc1rD&both=)
    - [板載-RGB LED燈](https://hackmd.io/J2QGuh7DQmaDHez8KTBNrw?stext=2659%3A7%3A0%3A1758444316%3AL9e60u&both=)
2. 其他材料 
# 1. 暖身活動 (5分鐘)
## 1-1 提出問題引起動機
- **交通號誌燈、電腦螢幕、甚至舞台燈光，它們的顏色變化是怎麼被控制的？**
- **為什麼紅燈、綠燈、藍燈這三種顏色可以變出所有我們看到的顏色？ (例如：紅 + 綠 = 黃，這是怎麼辦到的？)**
![螢幕擷取畫面 2025-09-05 111821](https://hackmd.io/_uploads/Bk9jICwqgg.png)
## 1-2 提供解答滿足好奇心
- 顏色變化的秘密在於光的三原色 (RGB)：紅 (R)、綠 (G)、藍 (B)。一個RGB LED內部包含了這三種顏色的微小燈泡。
- 透過程式來給R、G、B三個腳位不同電壓(0-5V),來控制紅、綠、藍三種色光的亮度比例，最後混合出數萬種不同顏色的光。
![pwm](https://hackmd.io/_uploads/rykucqZcel.png)
## 1-3 學習目標
- 利用RGB三原色與光的混色原理,撰寫程式控制RGB LED模組,進行顏色切換、以及漸暗到漸亮的互動變化功能。
# 2. 牛刀小試 (15分鐘)
1. 試做一個程式,讓2個LED依照 紅( R )->綠( G )->藍( B )的順序變色(中間隔一秒)。將LED1的程序放在**設置**框裡,將LED2的程序放在**循環**框裡,燒錄程式後執行,看2個LED的表現有什麼不一樣?
![miniR4Led](https://hackmd.io/_uploads/HJ34mJG9lx.png)
![螢幕擷取畫面 2025-08-31 215813](https://hackmd.io/_uploads/SJfiH1fcee.png)
:::info
### 小提示:
學生應該可以發現程式是先執行**設置**框裡的程序,再執行**循環**框裡的程序;**設置**框裡的程序只會執行一次,而**循環**框裡程序會一直重複。老師再補充**設置**框裡通常用來定義腳位或變數或是只需要做一次的動作;**循環**框裡的程序才是**主程式**,它本身就是一個無限迴圈，所以它會一直執行一套相同的動作。
:::

2. 小夜燈有一種由暗漸亮,再由亮漸暗的功能(呼吸燈)又是如何做到的呢?引導孩子說出讓R、G或B的值由小到大再到變小,接著帶入**變數**的概念,搭配數學5的倍數概念,讓RGB的值可以是0,5,10..100...255來做到由暗漸亮,由亮漸暗部份留到後面給孩子發揮。(當然也可以2的倍數、3的倍數,只是其值不能大於255就是了,會出現程式錯誤)
![image](https://hackmd.io/_uploads/BJQfGlfqeg.png)

3. 小夜燈的變色程序應該放在**循環**框裡,這樣才可以一直持續變化,但要怎樣才可以切換不同的變色模式呢?引導孩子加入==如果/那麼==的條件,讓按下Up或Down的條件成立下,可以有不同的變化。
![image](https://hackmd.io/_uploads/S11umgG5el.png)

# 3.實作範例(15分鐘)
:::danger
### 任務說明:
1. 如果按下Up鍵,LED1會每隔1秒依序顯示彩虹的6種顏色-紅、橙、黃、綠、藍、紫。
2. 如果按下Down鍵,LED1會像呼吸一樣,顯示出由暗漸亮,再由亮漸暗的紅色。
:::
## 3.1 硬體佈建規劃
- 確認孩子知道RGB LED1、RGB LED2及Up按鈕、Down按鈕的位置,以及對應的程式功能塊。
## 3.2 程式設計與編輯
- 學生以前一個活動-循環 (loop)及條件判斷 (if/else) 的程式為基礎繼續編寫程式，並將程式上傳至控制板。

## 3.3 測試與修正
- 學生測試小夜燈的運作，找出電路接線或程式邏輯上的錯誤。
- 老師在各小組間巡視,察看除錯與修正情形並適時提供協助。
![螢幕擷取畫面 2025-09-04 132907](https://hackmd.io/_uploads/B1DTm0Dcxg.png)
{%youtube 7AuWWuTUfQo %}

# 4. 課堂活動(5分鐘)
- 學生分組發表作品，展示其小夜燈的功能與創意。
    - 創意燈光秀：搭配音樂設計燈光節奏
    - 利用燈光變化來表達不同的「心情」，例如用柔和的漸變色代表平靜，用閃爍的燈光代表興奮。
- 老師針對作品給予回饋與鼓勵。

# 教學資源
1. [教學投影片](https://docs.google.com/presentation/d/1rhMhcYC6jB64TkwHWWWdhenX3vScLesaRK08FDPNTL0/edit?usp=sharing)
2. [國外網站SunFounder](https://docs.sunfounder.com/projects/sf-components/en/latest/component_rgb_led.html)
:::spoiler 3.補充說明
- 學生可能會發現現實生活中的小夜燈,動作是重複運作的,而我們做的if判斷,只會做一次的動作,這是因為動作只發生在按下按鈕之後,除非一直維持**壓著按鈕不放鬆**的狀態。想要進階改良的小朋友,老師可以帶入變數的概念,讓按鈕改變**變數**的值,而LED的動作則依據不同的變數值來切換模式。可以參考以下範例:
- 依變數狀態來切換模式-範例
![螢幕擷取畫面 2025-09-04 131050](https://hackmd.io/_uploads/B1yfzoI5ll.png)
:::