Arduino传感器06.Arduino 连接开关

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

按钮

下拉电阻

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

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

下拉电阻的电阻必须大于逻辑电路的阻抗,否则可能会使电压下降太多,而无论开关的位置如何,引脚处的输入电压将保持在恒定的逻辑低值。

下拉电阻

必需的组件

你将需要以下组件:

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

程序

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

电路图

草图

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

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

代码说明

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

结果

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

发布者:suiyublg,转转请注明出处:https://huibian.net/1506-2/

(0)
suiyublg的头像suiyublg
上一篇 2017年4月24日 17:08
下一篇 2017年4月26日 17:11

相关推荐

  • Arduino教程11.Arduino 字符串

    字符串用于存储文本。它们可用在LCD或Arduino IDE串口监视器窗口中显示文本。字符串也可用于存储用户输入。例如,用户在连接到Arduino的键盘上键入的字符。 在Arduino编程中有两种类型的字符串: 在本章中,我们将学习Arduino草图中的字符串,对象和字符串的使用。在本章末尾,你将学习在草图中使用哪种类型的字符串。 字符串字符数组 我们要学习…

    2017年3月27日
    65000
  • Arduino教程16.Arduino 比较运算符

    假设变量A为10,变量B为20,则: 运算符名称 运算符简写 描述 例子 等于 == 检查两个操作数的值是否相等,如果相等,则条件为真(true)。 (A == B)不为真 不等于 != 检查两个操作数的值是否相等,如果值不相等,则条件为真。 (A != B)为真 小于 < 检查左操作数的值是否小于右操作数的值,如果是,则条件为真。 (A < B…

    2017年3月23日
    41700
  • Arduino进阶01.Arduino Due 和 Zero

    Arduino Due是基于Atmel SAM3X8E ARM Cortex-M3 CPU的微控制器板。它是第一款基于32位ARM内核微控制器的Arduino板。

    2017年4月5日
    47402
  • Arduino教程19.Arduino 复合运算符

    假设变量A为10,变量B为20,则: 运算符名称 运算符简写 描述 例子 自增 ++ 自增运算符,将整数值增加1 A++ 将得出11 自减 — 自减运算符,将整数值减1 A– 将得出9 复合加 += 加且赋值运算符。把右边操作数加上左边操作数的结果赋值给左边操作数。 B += A等效于B = B + A 复合减 -= 减且赋…

    2017年3月23日
    40100
  • Arduino教程07.Arduino 运算符

    运算符是一个符号,它告诉编译器执行特定的数学或逻辑函数。

    2017年3月23日
    67524

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
欢迎大家来到大雄学编程!