Arduino 連接開關(guān)

2018-11-21 18:18 更新

按鈕或開關(guān)連接電路中的兩個開路端子。當按下連接到引腳8的按鈕開關(guān)時,此示例打開引腳2上的LED。

按鈕

下拉電阻

在電子邏輯電路中使用下拉電阻,以確保在外部器件斷開連接或處于高阻抗狀態(tài)時,Arduino的輸入信號達到預(yù)期的邏輯電平。雖然沒有任何東西連接到輸入引腳,但這并不意味著它是一個邏輯0。下拉電阻連接在地面和器件上相應(yīng)的引腳之間。

下圖顯示了數(shù)字電路中下拉電阻的示例。在電源電壓和微控制器引腳之間連接了一個按鈕開關(guān)。在這樣的電路中,當開關(guān)閉合時,微控制器輸入處于邏輯高值;但是當開關(guān)打開時,下拉電阻將輸入電壓下拉到接地(邏輯零值),防止輸入處于未定義狀態(tài)。

下拉電阻的電阻必須大于邏輯電路的阻抗,否則可能會使電壓下降太多,而無論開關(guān)的位置如何,引腳處的輸入電壓將保持在恒定的邏輯低值。

下拉電阻

必需的組件

你將需要以下組件:

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

程序

按照電路圖進行連接,如下圖所示。

電路圖

草圖

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

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);
   }
}

代碼說明

當開關(guān)打開時(按鈕未被按下),按鈕的兩個端子之間沒有連接,因此引腳接地(通過下拉電阻),我們讀取低電平。當開關(guān)閉合時(按鈕被按下),它在其兩個端子之間建立連接,將引腳連接到5伏,這樣我們讀出高電平。

結(jié)果

按下按鈕時LED亮燈,松開按鈕時LED熄燈。


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號