這一次,我們將學(xué)習(xí)怎樣用按鍵對(duì)Arduino輸入信號(hào)從而控制LED燈的亮滅。我們將設(shè)置兩個(gè)按鈕,按第一個(gè)按鈕會(huì)點(diǎn)亮LED燈,按另外一個(gè)按鈕則會(huì)熄滅LED燈。
需要的材料:
- Arduino 編程軟件
- Arduino UNO卡
- 面包板
- 10 x 不同顏色的連接線(xiàn)
- 1 x LED燈
- 1 x 220-1000歐的電阻
- 2 x 按鈕

第一步 連接電路
從下圖的模擬電路可以看出,和第一期的電路相比,我們加入了兩個(gè)按鈕在A(yíng)rduino卡的第9號(hào)和第8號(hào)接口,從而對(duì)其輸入信號(hào)。

下圖是按鍵的結(jié)構(gòu)圖,可以看出在按鍵的四個(gè)接口中,A-D和B-C是連接在一起的。

所以在連接按鍵的時(shí)候,注意觀(guān)察按鈕的底部,防止出現(xiàn)同時(shí)連接在了AD或者BC兩個(gè)接口上。
在按鈕按下時(shí)會(huì)對(duì)Arduino發(fā)出一個(gè)LOW的信號(hào),我們就通過(guò)這個(gè)信號(hào)來(lái)控制LED的亮滅。
下圖是完整的電路展示,在連接第一個(gè)按鈕時(shí),先從UNO卡的9號(hào)接口出,連接按鈕的一端,再將按鈕的另一端連接在面包板的負(fù)極部分就行了。同理,連接8號(hào)接口的按鈕。

第二步 編輯程序
在連接好了電路之后,我們就開(kāi)始編寫(xiě)代碼了。
首先我們要在setup()函數(shù)中設(shè)置需要的3個(gè)接口, 分別是13(LED), 9(第一個(gè)按鈕),8(第二個(gè)按鈕)。
pinMode(13, OUTPUT);
pinMode(9, INPUT_PULLUP); // 按鈕設(shè)置為input的狀態(tài)
pinMode(8, INPUT_PULLUP); // 按鈕設(shè)置為input的狀態(tài)
然后通過(guò)測(cè)試8號(hào)和9號(hào)接口的信號(hào)來(lái)確定是點(diǎn)亮或者熄滅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); // 按鈕設(shè)置為input的狀態(tài)
pinMode(8, INPUT_PULLUP); // 按鈕設(shè)置為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);
}
}
第三步 上傳程序
按下第一個(gè)按鈕點(diǎn)亮LED,按下第二個(gè)按鈕則熄滅LED。
