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

下拉电阻

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

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

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

必需的组件

您将需要以下组件 -

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

代码说明

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

结果

按下按钮时LED亮灯,松开按钮时LED熄灯。

新闻动态 联系方式 广告合作 招聘英才 安科实验室 帮助与反馈 About Us

Copyright © 2013 - 2019 Ancii.com All Rights Reserved京ICP备18063983号-5 京公网安备11010802014868号