W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
按鈕或開關(guān)連接電路中的兩個(gè)開路端子。當(dāng)按下連接到引腳8的按鈕開關(guān)時(shí),此示例打開引腳2上的LED。
在電子邏輯電路中使用下拉電阻,以確保在外部器件斷開連接或處于高阻抗?fàn)顟B(tài)時(shí),Arduino的輸入信號(hào)達(dá)到預(yù)期的邏輯電平。雖然沒有任何東西連接到輸入引腳,但這并不意味著它是一個(gè)邏輯0。下拉電阻連接在地面和器件上相應(yīng)的引腳之間。
下圖顯示了數(shù)字電路中下拉電阻的示例。在電源電壓和微控制器引腳之間連接了一個(gè)按鈕開關(guān)。在這樣的電路中,當(dāng)開關(guān)閉合時(shí),微控制器輸入處于邏輯高值;但是當(dāng)開關(guān)打開時(shí),下拉電阻將輸入電壓下拉到接地(邏輯零值),防止輸入處于未定義狀態(tài)。
下拉電阻的電阻必須大于邏輯電路的阻抗,否則可能會(huì)使電壓下降太多,而無論開關(guān)的位置如何,引腳處的輸入電壓將保持在恒定的邏輯低值。
你將需要以下組件:
按照電路圖進(jìn)行連接,如下圖所示。
在計(jì)算機(jī)上打開Arduino IDE軟件。使用Arduino語言進(jìn)行編碼控制你的電路。通過單擊“New”打開一個(gè)新的草圖文件。
// constants won't change. They're used here to // set pin numbers: const int buttonPin = 8; // the number of the pushbutton pin const int ledPin = 2; // the number of the LED pin // variables will change: int buttonState = 0; // variable for reading the pushbutton status void setup() { // initialize the LED pin as an output: pinMode(ledPin, OUTPUT); // initialize the pushbutton pin as an input: pinMode(buttonPin, INPUT); } void loop() { // read the state of the pushbutton value: buttonState = digitalRead(buttonPin); // check if the pushbutton is pressed. // if it is, the buttonState is HIGH: if (buttonState == HIGH) { // turn LED on: digitalWrite(ledPin, HIGH); } else { // turn LED off: digitalWrite(ledPin, LOW); } }
當(dāng)開關(guān)打開時(shí)(按鈕未被按下),按鈕的兩個(gè)端子之間沒有連接,因此引腳接地(通過下拉電阻),我們讀取低電平。當(dāng)開關(guān)閉合時(shí)(按鈕被按下),它在其兩個(gè)端子之間建立連接,將引腳連接到5伏,這樣我們讀出高電平。
按下按鈕時(shí)LED亮燈,松開按鈕時(shí)LED熄燈。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: