Arduino 简明教程

Arduino - Connecting Switch

按钮或开关将电路中的两个开口端子连接起来。此示例在按连接到引脚8的按钮开关时打开引脚2上的LED。

connecting switch

Pull-down Resistor

下拉电阻用于电子逻辑电路中,以确保在外部设备断开连接或处于高阻抗时,输入到Arduino会稳定在预期的逻辑电平。因为没有任何东西连接到输入引脚,这并不意味着它是一个逻辑零。下拉电阻连接在接地和设备上相应的引脚之间。

数字电路中的下拉电阻示例如下图所示。按钮开关连接在电源电压和微控制器引脚之间。在这样的电路中,当开关闭合时,微控制器输入处于逻辑高值,但当开关打开时,下拉电阻将输入电压下拉至接地(逻辑零值),防止输入处于未定义状态。

下拉电阻的阻值必须大于逻辑电路的阻抗,否则它可能会将电压下拉得太低,并且无论开关位置如何,引脚上的输入电压仍将保持在恒定的逻辑低值。

pull down resistor

Components Required

您将需要以下组件:

  1. 1 × Arduino UNO 电路板

  2. 1 × 330 欧姆电阻

  3. 1个×4.7K欧姆电阻(下拉)

  4. 1 × LED

Procedure

按照电路图进行操作,并按照下面给出的图片所示进行连接。

connections of circuit diagram

Sketch

在电脑上打开 Arduino IDE 软件。使用 Arduino 语言编写代码将控制你的电路。单击新建打开一个新草图文件。

sketch

Arduino Code

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

Code to Note

当开关打开时(未按下按钮),按钮的两个端子之间没有连接,所以引脚通过(下拉电阻)连接到地,我们读到一个LOW。当开关闭合时(按下按钮),它会在其两个端子之间建立连接,将引脚连接到5伏,这样我们就能读到一个HIGH。

Result

按下按钮时LED打开,松开时关闭。