| 2. 類比輸出 |
| 2. 類比輸出 |
改變LED亮度
改變LED亮度
特色化挑戰:呼吸燈
特色化挑戰:呼吸燈
接下來,我們會完成一個熄滅逐漸到最亮、再逐漸熄滅的LED燈
接下來,我們會完成一個熄滅逐漸到最亮、再逐漸熄滅的LED燈
這樣的效果就像是人類呼吸的狀態,吸氣(逐漸變亮),吐氣(逐漸變暗)
這樣的效果就像是人類呼吸的狀態,吸氣(逐漸變亮),吐氣(逐漸變暗)
讓我們一起製作出像是呼吸效果的LED燈吧!
讓我們一起製作出像是呼吸效果的LED燈吧!
流程圖:呼吸燈
連接LED模組
連接LED模組
連接LED模組到擴充板上的類比腳位
連接LED模組到擴充板上的類比腳位
✅ 連接外接模組時:G接G、V接V、S接S。
✅ 連接外接模組時:G接G、V接V、S接S。
✅ 課程範例以連接至腳位D2(pin2)進行
✅ 課程範例以連接至腳位D2(pin2)進行
想一想
想一想
新增變數控制LED的亮度
新增變數控制LED的亮度
首先,我們需要新增變數來代表「LED的亮度」
首先,我們需要新增變數來代表「LED的亮度」
(變數名稱:led)
(變數名稱:led)
✅ 新增變數「led」,預設數值為「0」
✅ 新增變數「led」,預設數值為「0」
接下來,我們要用變數去決定外接LED的亮度。
接下來,我們要用變數去決定外接LED的亮度。
✅ 新增積木:
✅ 新增積木:
■ 「類比寫入Pin2[整數 led]」
■ 「類比寫入Pin2[整數 led]」
✅ 完成!
✅ 完成!
我們使用變數決定外接led模組的亮度!
我們使用變數決定外接led模組的亮度!
[初始化]
[初始化]
- 沒有任何積木
[重複執行]
[重複執行]
- 新增變數「led」,預設值為0
- 外接的LED燈(Pin2)點亮程度為「變數led」
*目前變數led數值為0,因此點亮程度為0
讓LED燈逐漸變亮
讓LED燈逐漸變亮
為了要逐漸變亮,變數led的數值需要逐漸變大。
為了要逐漸變亮,變數led的數值需要逐漸變大。
因此我們讓「變數led」會一直增加1
因此我們讓「變數led」會一直增加1
✅ 新增積木:
✅ 新增積木:
■ 「賦值[整數led]到[整數led]+1」
■ 「賦值[整數led]到[整數led]+1」
為什麼變數led持續增加1,在程式裡是
為什麼變數led持續增加1,在程式裡是
「led = led + 1」呢?
「led = led + 1」呢?
因為LinkIt7697的類比訊號為0~255,因此我們希望變數持續增加到255即可。
因為LinkIt7697的類比訊號為0~255,因此我們希望變數持續增加到255即可。
✅ 新增積木:
✅ 新增積木:
■ 「重複 256 次數」
■ 「重複 256 次數」
■ 把「類比寫入Pin2」與「賦值led」放入迴圈中
■ 把「類比寫入Pin2」與「賦值led」放入迴圈中
最後,為了方便觀察,我們在亮度改變時加入延遲秒數
最後,為了方便觀察,我們在亮度改變時加入延遲秒數
✅ 在「重複256次數」中,加入「延遲毫秒10」
✅ 在「重複256次數」中,加入「延遲毫秒10」
✅ 完成!
✅ 完成!
LED模組會從熄滅逐漸變亮了!
LED模組會從熄滅逐漸變亮了!
[初始化]
[初始化]
- 沒有任何積木
[重複執行]
[重複執行]
- 新增變數「led」,預設值為0
- 重複執行255次
- 外接的LED燈(Pin2)點亮程度為變數「led」
- 變數「led」增加「1」
- 持續10毫秒
讓LED燈逐漸變暗
讓LED燈逐漸變暗
完成了LED燈逐漸變亮後,我們也試著讓LED燈逐漸變暗吧!
完成了LED燈逐漸變亮後,我們也試著讓LED燈逐漸變暗吧!
變數led持續增加,LED燈逐漸變亮
變數led持續增加,LED燈逐漸變亮
變數led持續減少,LED燈逐漸變暗
變數led持續減少,LED燈逐漸變暗
✅ 複製積木程式,將「led + 1」修改為「led - 1」
✅ 複製積木程式,將「led + 1」修改為「led - 1」
✅ 完成!
✅ 完成!
想一想,這樣的程式積木會有什麼效果?
想一想,這樣的程式積木會有什麼效果?
[初始化]
[初始化]
- 沒有任何積木
[重複執行]
[重複執行]
- 新增變數「led」,預設值為0
- 重複執行255次
- 外接的LED燈(Pin2)點亮程度為變數「led」
- 變數「led」增加「1」
- 持續10毫秒
- 重複執行255次
- 外接的LED燈(Pin2)點亮程度為變數「led」
- 變數「led」減少「1」
- 持續10毫秒
✅ 把製作好的程式傳送到LinkIt 7697中吧!
✅ 把製作好的程式傳送到LinkIt 7697中吧!
① 確認COM port正確
① 確認COM port正確
② 點擊上傳
② 點擊上傳
③ 傳送過程中可以在「燒錄狀態」中確認進度
③ 傳送過程中可以在「燒錄狀態」中確認進度
作品成果
作品成果