Arduino - 连接开关



按钮或开关连接电路中的两个断开端子。此示例在按下连接到 8 号引脚的按钮开关时,打开 2 号引脚上的 LED。

Connecting Switch

下拉电阻

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

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

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

Pull-down Resistor

所需组件

您将需要以下组件:

  • 1 个 Arduino UNO 开发板
  • 1 个 330 欧姆电阻
  • 1 个 4.7K 欧姆电阻(下拉电阻)
  • 1 个 LED

步骤

按照电路图,进行如下所示的连接。

Connections of Circuit Diagram

程序

在您的电脑上打开 Arduino IDE 软件。使用 Arduino 语言进行编码将控制您的电路。点击“新建”打开一个新的程序文件。

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

代码说明

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

结果

按下按钮时 LED 亮起,松开按钮时 LED 熄灭。

广告