Arduino - 连接开关
按钮或开关连接电路中的两个开路端子。此示例在按下连接到引脚 8 的按钮开关时打开引脚 2 上的 LED。
下拉电阻
下拉电阻用于电子逻辑电路,以确保当外部设备断开连接或处于高阻抗时,Arduino 的输入稳定在预期的逻辑电平。由于没有任何东西连接到输入引脚,因此这并不意味着它是逻辑零。下拉电阻连接在接地和设备上的相应引脚之间。
下图显示了数字电路中下拉电阻的示例。按钮开关连接在电源电压和微控制器引脚之间。在这样的电路中,当开关闭合时,微控制器输入处于逻辑高值,但当开关打开时,下拉电阻将输入电压拉低至地(逻辑零值),防止输入处于未定义状态。
下拉电阻的电阻值必须大于逻辑电路的阻抗,否则它可能会将电压拉低太多,并且无论开关位置如何,引脚处的输入电压都会保持恒定的逻辑低值。
所需组件
您将需要以下组件 −
- 1 × Arduino UNO 板
- 1 × 330 欧姆电阻
- 1 × 4.7K 欧姆电阻(下拉)
- 1 × LED
步骤
按照电路图进行连接,如下图所示。
草图
在计算机上打开 Arduino IDE 软件。使用 Arduino 语言编码将控制您的电路。单击新建打开一个新的草图文件。
Arduino 代码
// 常量不会改变。它们在这里用于
// 设置引脚号:
const int buttonPin = 8; // 按钮引脚号
const int ledPin = 2; // LED 引脚号
// 变量将发生变化:
int buttonState = 0; // 用于读取按钮状态的变量
void setup() {
// 将 LED 引脚初始化为输出:
pinMode(ledPin, OUTPUT);
// 将按钮引脚初始化为输入:
pinMode(buttonPin, INPUT);
}
void loop() {
// 读取按钮值的状态:
buttonState = digitalRead(buttonPin);
// 检查按钮是否被按下。
// 如果是,则 buttonState 为 HIGH:
if (buttonState == HIGH) {
// 打开 LED:
digitalWrite(ledPin, HIGH);
} else {
// 关闭 LED:
digitalWrite(ledPin, LOW);
}
}
需要注意的代码
当开关打开时(未按下按钮),按钮的两个端子之间没有连接,因此引脚接地(通过下拉电阻),我们读到低电平。当开关闭合(按下按钮)时,它会在两个端子之间建立连接,将引脚连接到 5 伏,这样我们读到高电平。
结果
按下按钮时 LED 亮起,松开按钮时 LED 熄灭。

