| 2. 類比輸出 |

改變LED亮度


特色化挑戰:呼吸燈


接下來,我們會完成一個熄滅逐漸到最亮、再逐漸熄滅的LED燈

這樣的效果就像是人類呼吸的狀態,吸氣(逐漸變亮),吐氣(逐漸變暗)

讓我們一起製作出像是呼吸效果的LED燈吧!



流程圖:呼吸燈


連接LED模組

連接LED模組到擴充板上的類比腳位

✅ 連接外接模組時:G接G、V接V、S接S。

✅ 課程範例以連接至腳位D2(pin2)進行


想一想


新增變數控制LED的亮度

首先,我們需要新增變數來代表「LED的亮度」


(變數名稱:led)

✅ 新增變數「led」,預設數值為「0」

接下來,我們要用變數去決定外接LED的亮度。


✅ 新增積木:

■ 「類比寫入Pin2[整數 led]」

✅ 完成!

我們使用變數決定外接led模組的亮度!


[初始化]

    • 沒有任何積木

[重複執行]

    • 新增變數「led」,預設值為0
    • 外接的LED燈(Pin2)點亮程度為「變數led」
*目前變數led數值為0,因此點亮程度為0


讓LED燈逐漸變亮

為了要逐漸變亮,變數led的數值需要逐漸變大。


因此我們讓「變數led」會一直增加1

✅ 新增積木:

■ 「賦值[整數led]到[整數led]+1」

為什麼變數led持續增加1,在程式裡是

「led = led + 1」呢?

因為LinkIt7697的類比訊號為0~255,因此我們希望變數持續增加到255即可。


✅ 新增積木:

■ 「重複 256 次數」

■ 把「類比寫入Pin2」與「賦值led」放入迴圈中

最後,為了方便觀察,我們在亮度改變時加入延遲秒數


✅ 在「重複256次數」中,加入「延遲毫秒10」

✅ 完成!

LED模組會從熄滅逐漸變亮了!


[初始化]

    • 沒有任何積木

[重複執行]

    • 新增變數「led」,預設值為0
    • 重複執行255次
    • 外接的LED燈(Pin2)點亮程度為變數「led」
    • 變數「led」增加「1」
    • 持續10毫秒


讓LED燈逐漸變暗

完成了LED燈逐漸變亮後,我們也試著讓LED燈逐漸變暗吧!


變數led持續增加,LED燈逐漸變亮

變數led持續減少,LED燈逐漸變暗

✅ 複製積木程式,將「led + 1」修改為「led - 1」

✅ 完成!

想一想,這樣的程式積木會有什麼效果?


[初始化]

    • 沒有任何積木

[重複執行]

    • 新增變數「led」,預設值為0
    • 重複執行255次
    • 外接的LED燈(Pin2)點亮程度為變數「led」
    • 變數「led」增加「1」
    • 持續10毫秒
    • 重複執行255次
    • 外接的LED燈(Pin2)點亮程度為變數「led」
    • 變數「led」減少「1」
    • 持續10毫秒

✅ 把製作好的程式傳送到LinkIt 7697中吧!


① 確認COM port正確

② 點擊上傳

③ 傳送過程中可以在「燒錄狀態」中確認進度


作品成果