:::

2-1 燈光情境1 -- 紅綠燈系統

小測驗

說說看以下分別指的是什麼?

那這個和上方有什麼不同

情境主題

紅綠燈系統

情境目的

結合搖桿、無源蜂鳴器、RGB LED模組、8*8點矩陣、伺服馬達的運轉,利用搖桿按鈕,控制紅綠燈狀況。

  1. 程式開始執行時,『紅燈狀態』用RGB LED 顯示紅燈,柵欄放下,用8x8LED點矩陣 模擬小紅人立正站立。
  2. 當搖桿的按扭壓下,紅燈變綠燈狀態,RGB LED 變綠燈,開啟柵欄,同時用蜂鳴器播放鳥鳴聲或音樂。
  3. 小紅人開始行走持續30秒,倒數15秒,小紅人隨倒數時間越少行走速度越快。
  4. 倒數計時結束,變紅燈狀態,小紅人變回立正站立,音樂停止,柵欄放下。
  5. 程式等待下一個搖桿按扭壓下的指令

情境分析

  1. 程式開始執行時,設定『紅燈狀態』:
    • 用RGB LED 顯示紅燈:數位腳位 9 設為「高」電位、數位腳位 10 設為「低」電位、數位腳位 11 設為「低」電位。
    • 放下柵欄:伺服馬達 腳位 6 角度 0 度
    • 設8x8LED陣列模擬小紅人立正站立
  2. 當搖桿的按扭壓下,紅燈變綠燈狀態
    • RGB LED 變綠燈:數位腳位 9 設為「低」電位、數位腳位 10 設為「高」電位、數位腳位 11 設為「低」電位。
    • 開啟柵欄:伺服馬達 腳位 6 角度 90 度
    • 用蜂鳴器播放鳥鳴聲或音樂:數位腳位 8 設為「高」電位,腳位 8 播放音調
    • 同時,小紅人開始行走持續30秒:設 8x8LED陣列 模擬小紅人行走30秒
    • 小紅人行走計時倒數15秒,小紅人隨倒數時間越少行走速度越快。
    • 倒數計時結束,變回紅燈狀態
  3. 程式等待下一個搖桿按鈕壓下的指令

情境說明圖

紅綠燈jamboard 

程式流程圖

 

 

 

副程式分析

紅燈狀態

  用RGB LED 亮紅燈:
數位腳位 9 設為「高」電位
數位腳位 10 設為「低」電位
數位腳位 11 設為「低」電位。
  放下柵欄:
伺服馬達 腳位 6 角度 0 度
等待 1 秒
  8x8 LED陣列:
模擬小紅人立正站立

或倒數秒數

綠燈狀態

  用RGB LED 亮綠燈:
數位腳位 9 設為「低」電位
數位腳位 10 設為「高」電位
數位腳位 11 設為「低」電位。
  打開柵欄:
伺服馬達 腳位 6 角度 90 度
等待 1 秒
 

蜂鳴器播放音調或音樂:
數位腳位 8 設為「」電位,停止播音
蜂鳴器在腳位 8 播放音調……直到播完
數位腳位 8 設為「」電位,停止播音

 


 

但這程式只會出現0.5秒的聲音,如果你想要全程出現聲音要如何做呢?

使用廣播的方式,也可以編一首歌曲音樂來呈現

小紅人行走

 

使用兩個 8*8 LED矩陣圖

間隔時間,造成動態感

 

 

間隔秒數縮短,造成小紅人行走加快

 

小紅人行走時,變數--秒數,先設定為0.75,每十次後秒數再減少0.25秒。

     

 

程式部份你可以再優化,把紅燈狀態全部加在亮紅燈的副程式中(放下柵欄、小紅人停止),亮綠燈副程式(打開柵欄、廣播播放音樂、小紅人行走)


Google網站翻譯工具列

站內搜尋