📜  Arduino-连接开关

📅  最后修改于: 2020-11-05 03:43:40             🧑  作者: Mango


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

连接开关

下拉电阻

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

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

下拉电阻必须具有比逻辑电路阻抗更大的电阻,否则下拉电压可能会下降太多,并且引脚上的输入电压将保持恒定的逻辑低值,而与开关位置无关。

下拉电阻

所需组件

您将需要以下组件-

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

程序

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

电路图的连接

草图

打开计算机上的Arduino IDE软件。使用Arduino语言进行编码将控制您的电路。通过单击“新建”打开一个新的草图文件。

草图

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伏,因此我们读到高电平。

结果

按下按钮时,LED点亮;释放按钮时,LED熄灭。