這一次址貌,我們將學習怎樣用按鍵對Arduino輸入信號從而控制LED燈的亮滅脚翘。我們將設置兩個按鈕骂因,按第一個按鈕會點亮LED燈炎咖,按另外一個按鈕則會熄滅LED燈。
需要的材料:
- Arduino 編程軟件
- Arduino UNO卡
- 面包板
- 10 x 不同顏色的連接線
- 1 x LED燈
- 1 x 220-1000歐的電阻
- 2 x 按鈕
第一步 連接電路
從下圖的模擬電路可以看出,和第一期的電路相比乘盼,我們加入了兩個按鈕在Arduino卡的第9號和第8號接口升熊,從而對其輸入信號。
下圖是按鍵的結(jié)構(gòu)圖绸栅,可以看出在按鍵的四個接口中级野,A-D和B-C是連接在一起的。
所以在連接按鍵的時候粹胯,注意觀察按鈕的底部蓖柔,防止出現(xiàn)同時連接在了AD或者BC兩個接口上。
在按鈕按下時會對Arduino發(fā)出一個LOW的信號风纠,我們就通過這個信號來控制LED的亮滅况鸣。
下圖是完整的電路展示,在連接第一個按鈕時议忽,先從UNO卡的9號接口出懒闷,連接按鈕的一端,再將按鈕的另一端連接在面包板的負極部分就行了栈幸。同理愤估,連接8號接口的按鈕。
第二步 編輯程序
在連接好了電路之后速址,我們就開始編寫代碼了玩焰。
首先我們要在setup()函數(shù)中設置需要的3個接口, 分別是13(LED)芍锚, 9(第一個按鈕)昔园,8(第二個按鈕)。
pinMode(13, OUTPUT);
pinMode(9, INPUT_PULLUP); // 按鈕設置為input的狀態(tài)
pinMode(8, INPUT_PULLUP); // 按鈕設置為input的狀態(tài)
然后通過測試8號和9號接口的信號來確定是點亮或者熄滅LED并炮。
if (digitalRead(buttonApin) == LOW) // 按鈕在按下后是LOW的狀態(tài)
{
digitalWrite(ledPin, HIGH);
}
if (digitalRead(buttonBpin) == LOW) // 按鈕在按下后是LOW的狀態(tài)
{
digitalWrite(ledPin, LOW);
}
完整代碼:
void setup()
{
pinMode(13, OUTPUT);
pinMode(9, INPUT_PULLUP); // 按鈕設置為input的狀態(tài)
pinMode(8, INPUT_PULLUP); // 按鈕設置為input的狀態(tài)
}
void loop()
{
if (digitalRead(buttonApin) == LOW) // 按鈕在按下后是LOW的狀態(tài)
{
digitalWrite(ledPin, HIGH);
}
if (digitalRead(buttonBpin) == LOW) // 按鈕在按下后是LOW的狀態(tài)
{
digitalWrite(ledPin, LOW);
}
}
第三步 上傳程序
按下第一個按鈕點亮LED默刚,按下第二個按鈕則熄滅LED。