10.Arduino-透過按鈕控制LED燈-digitalRead(); if(){} else{}
1.digitalRead:感應腳位目前的電壓狀態。
2.if與else:如果達成(條件)就執行動作1(if),否則就執行動作2(else if),都沒符合執行最終動作(else)
結構:
if (條件){動作1}
else if (條件2){動作2}
else{動作3}
例:如果出太陽就出門、如果沒出太陽但是陰天那就帶傘出門,都不是就待在家裡
if (出太陽){出門}
else if (陰天){帶傘出門}
else{待在家裡}
開關家族
1.
無鎖開關:按下去會因為內部彈簧自動彈起
2. 自鎖開關:按下後會卡住,需再次按下才能切換模式
3. 長柄/極限/拉動開關:使用在物體撞擊、拉動等狀態的開關
4. 觸控開關:透過接觸進行切換的開關
5.
感應開關:感應環境條件切換模式的開關
6. 正反開關:能進行正負極的切換,使用在需順逆轉動的裝置上
範例說明
透過if與else偵測按鈕是否按下(通電),有的話點亮燈炮,反之熄滅
線路圖
注意:因為按鈕的腳位不一定相同,所以要依據種類判斷位置
程式碼
int button =13;//按鈕等於13
int led=5;//led等於5
void setup() {
pinMode(led, OUTPUT);//LED是輸出裝置
pinMode(button, INPUT);//按鈕是輸入裝置
}
void loop() {
digitalRead(button);//讀取腳位電壓狀態(按鈕腳位)
//如果讀取按鈕腳位的電壓是高電壓(沒有按下開關){點亮LED燈}
if (digitalRead(button) == HIGH) {
digitalWrite(led, HIGH);//電壓控制:LED(腳位13)為高電壓
}
//否則{熄滅LED燈}
else {
digitalWrite(led, LOW);//電壓控制:LED(腳位13)為低電壓
}
}
(接線圖)
(按下按鈕與放開按鈕)
留言
張貼留言