10.Arduino-透過按鈕控制LED燈-digitalRead(); if(){} else{}

程式碼說明

1.digitalRead:感應腳位目前的電壓狀態

2.ifelse:如果達成(條件)就執行動作1(if),否則就執行動作2(else if),都沒符合執行最終動作(else)

結構:

if (條件){動作1}

else if (條件2){動作2}

else{動作3}

例:如果出太陽就出門、如果沒出太陽但是陰天那就帶傘出門,都不是就待在家裡

if (出太陽){出門}

else if (陰天){帶傘出門}

else{待在家裡}

開關家族

1.    無鎖開關:按下去會因為內部彈簧自動彈起

2.    自鎖開關:按下後會卡住,需再次按下才能切換模式

3.    長柄/極限/拉動開關:使用在物體撞擊、拉動等狀態的開關

4.    觸控開關:透過接觸進行切換的開關

5.    感應開關:感應環境條件切換模式的開關

6.    正反開關:能進行正負極的切換,使用在需順逆轉動的裝置上

範例說明

透過ifelse偵測按鈕是否按下(通電),有的話點亮燈炮,反之熄滅


線路圖

注意:因為按鈕的腳位不一定相同,所以要依據種類判斷位置

 

程式碼

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)為低電壓

    }

}

範例照片

(接線圖)

 

(按下按鈕與放開按鈕)

留言

這個網誌中的熱門文章

補充.Arduino教學-驗證與上傳-問題排除

13.Arduino-模組介紹-RGB呼吸燈

補充.Arduino教學-連接-麵包板與線路圖