Arduino 連接開關(guān)

2018-11-21 18:18 更新

按鈕或開關(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)的位置如何,引腳處的輸入電壓將保持在恒定的邏輯低值。

下拉電阻

必需的組件

你將需要以下組件:

  • 1 × Arduino UNO 板
  • 1 × 330歐姆電阻
  • 1 × 4.7K歐姆電阻(下拉)
  • 1 × LED

程序

按照電路圖進(jìn)行連接,如下圖所示。

電路圖

草圖

在計(jì)算機(jī)上打開Arduino IDE軟件。使用Arduino語言進(jìn)行編碼控制你的電路。通過單擊“New”打開一個(gè)新的草圖文件。

Sketch

Arduino代碼

// 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伏,這樣我們讀出高電平。

結(jié)果

按下按鈕時(shí)LED亮燈,松開按鈕時(shí)LED熄燈。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)