| 3. 數位輸入 |
| 3. 數位輸入 |
按鈕模組開與關
按鈕模組開與關
特色化挑戰:多按鈕控制外接LED
特色化挑戰:多按鈕控制外接LED
如果使用多個按鈕模組控制同一個LED模組
如果使用多個按鈕模組控制同一個LED模組
會發生什麼事呢?會彼此影響還是可以各自獨立控制?
會發生什麼事呢?會彼此影響還是可以各自獨立控制?
讓我們試著使用三個按鈕模組,分別代表LED模組全亮、微亮、熄滅
讓我們試著使用三個按鈕模組,分別代表LED模組全亮、微亮、熄滅
連接更多按鈕模組
連接更多按鈕模組
拿出另外兩個按鈕模組,連接到擴充版上的數位腳位。
拿出另外兩個按鈕模組,連接到擴充版上的數位腳位。
再拿出外接LED模組,連接到擴充版上的A0腳位。
再拿出外接LED模組,連接到擴充版上的A0腳位。
✅ 課程範例連接的數位腳位如下
✅ 課程範例連接的數位腳位如下
- 按鈕1:數位腳位D2
- 按鈕2:數位腳位D3
- 按鈕3:數位腳位D4
- 外接LED模組:腳位A0
- - -
- - -
組合三個控制LED的開關
組合三個控制LED的開關
1. 第一個開關控制LED燈全亮
1. 第一個開關控制LED燈全亮
✅ 加入積木:
✅ 加入積木:
- 邏輯:「如果...執行」、「___= ___」
- 序列埠I/O:「序列埠印出(換行) [按鈕1按下,開燈]」
- 類比I/O:「類比寫入Pin14 [255]」
完成了,想一想這些積木的功能吧!
完成了,想一想這些積木的功能吧!
[初始化]
[初始化]
- 沒有任何積木
[重複執行]
[重複執行]
- 如果按鈕被按下,顯示「按鈕1按下,開燈」,並且點亮外接LED模組
- - -
- - -
2. 第二個開關控制LED燈微亮
2. 第二個開關控制LED燈微亮
✅ 複製第一個開關的積木程式進行修改
✅ 複製第一個開關的積木程式進行修改
第二個開關接在D3(Pin3),修改積木成Pin3,外接LED燈微亮,修改數值為64
第二個開關接在D3(Pin3),修改積木成Pin3,外接LED燈微亮,修改數值為64
完成了,想一想這些積木的功能吧!
完成了,想一想這些積木的功能吧!
如果按鈕被按下,顯示「按鈕2按下,微亮」,並且讓外接LED模組微亮
如果按鈕被按下,顯示「按鈕2按下,微亮」,並且讓外接LED模組微亮
- - -
- - -
3. 第三個開關控制LED燈熄滅
3. 第三個開關控制LED燈熄滅
✅ 複製第一個開關的積木程式進行修改
✅ 複製第一個開關的積木程式進行修改
第三個開關接在D4(Pin4),修改積木成Pin4,外接LED燈熄滅,修改數值為0
第三個開關接在D4(Pin4),修改積木成Pin4,外接LED燈熄滅,修改數值為0
完成了,傳送積木,觀察成果吧!
完成了,傳送積木,觀察成果吧!
注意:有些按鈕按下時為高電位,因此發現作品成果一直閃爍,可以調整判斷是成「數位讀取Pin = 高電位」
作品成果
作品成果
TIPS: 同時按下?
TIPS: 同時按下?
如果三個按鈕都按下,會發生什麼事?
如果三個按鈕都按下,會發生什麼事?
三個按鈕都按下,則三個判斷條件都滿足。然後程式會由上而下執行,所以先執行全亮再執行微亮最後熄滅,會有閃爍的效果。
三個按鈕都按下,則三個判斷條件都滿足。然後程式會由上而下執行,所以先執行全亮再執行微亮最後熄滅,會有閃爍的效果。