:::
主內容區域
2-1 燈光情境1 -- 紅綠燈系統
小測驗
說說看以下分別指的是什麼?



那這個和上方有什麼不同

情境主題
紅綠燈系統
情境目的
結合搖桿、無源蜂鳴器、RGB LED模組、8*8點矩陣、伺服馬達的運轉,利用搖桿按鈕,控制紅綠燈狀況。
- 程式開始執行時,『紅燈狀態』用RGB LED 顯示紅燈,柵欄放下,用8x8LED點矩陣 模擬小紅人立正站立。
- 當搖桿的按扭壓下,紅燈變綠燈狀態,RGB LED 變綠燈,開啟柵欄,同時用蜂鳴器播放鳥鳴聲或音樂。
- 小紅人開始行走持續30秒,倒數15秒,小紅人隨倒數時間越少行走速度越快。
- 倒數計時結束,變紅燈狀態,小紅人變回立正站立,音樂停止,柵欄放下。
- 程式等待下一個搖桿按扭壓下的指令
情境分析:
- 程式開始執行時,設定『紅燈狀態』:
- 用RGB LED 顯示紅燈:數位腳位 9 設為「高」電位、數位腳位 10 設為「低」電位、數位腳位 11 設為「低」電位。
- 放下柵欄:伺服馬達 腳位 6 角度 0 度
- 設8x8LED陣列模擬小紅人立正站立
- 當搖桿的按扭壓下,紅燈變綠燈狀態
- RGB LED 變綠燈:數位腳位 9 設為「低」電位、數位腳位 10 設為「高」電位、數位腳位 11 設為「低」電位。
- 開啟柵欄:伺服馬達 腳位 6 角度 90 度
- 用蜂鳴器播放鳥鳴聲或音樂:數位腳位 8 設為「高」電位,腳位 8 播放音調
- 同時,小紅人開始行走持續30秒:設 8x8LED陣列 模擬小紅人行走30秒
- 小紅人行走計時倒數15秒,小紅人隨倒數時間越少行走速度越快。
- 倒數計時結束,變回紅燈狀態
- 程式等待下一個搖桿按鈕壓下的指令
情境說明圖
程式流程圖


副程式分析
紅燈狀態
| 用RGB LED 亮紅燈: 數位腳位 9 設為「高」電位 數位腳位 10 設為「低」電位 數位腳位 11 設為「低」電位。 |
![]() |
|
| 放下柵欄: 伺服馬達 腳位 6 角度 0 度 等待 1 秒 |
![]() |
|
| 8x8 LED陣列: 模擬小紅人立正站立 |
或倒數秒數
|
綠燈狀態
| 用RGB LED 亮綠燈: 數位腳位 9 設為「低」電位 數位腳位 10 設為「高」電位 數位腳位 11 設為「低」電位。 |
![]() |
|
| 打開柵欄: 伺服馬達 腳位 6 角度 90 度 等待 1 秒 |
![]() |
|
|
蜂鳴器播放音調或音樂:
|
但這程式只會出現0.5秒的聲音,如果你想要全程出現聲音要如何做呢? 使用廣播的方式,也可以編一首歌曲音樂來呈現
|
小紅人行走
|
使用兩個 8*8 LED矩陣圖 間隔時間,造成動態感
|
![]() |
|
|
間隔秒數縮短,造成小紅人行走加快
小紅人行走時,變數--秒數,先設定為0.75,每十次後秒數再減少0.25秒。 |
![]() |
|
程式部份你可以再優化,把紅燈狀態全部加在亮紅燈的副程式中(放下柵欄、小紅人停止),亮綠燈副程式(打開柵欄、廣播播放音樂、小紅人行走)
2. LED 燈控制









