[精品书单]Button: 使用按键,控制开关 LED 灯

本文介绍如何利用按键控制LED灯。通过Arduino开发板,瞬时按键,10K欧电阻等硬件搭建电路,按下按键时,LED灯亮起。详细讲解了电路原理、代码实现,以及为何需要下拉电阻防止输入浮空导致的不稳定性。
摘要由CSDN通过智能技术生成

按键

当你按下按键或开关时,电路上的两点就会相通。这个例子展示了你在按下按键时能点亮内置在引脚13上的LED灯。

硬件需求

  • Arduino 开发板
  • 瞬时按键或开关
  • 10K 欧电阻
  • 布线用电线
  • 电路试验板

电路

图像使用Fritzing.开发。更多的电路例子, 请看 fritzing项目界面

连接三条线到板子上.前两条,红色和黑色, 连接到旁边的电路实验板上的两个长竖行口,去提供5V供电和接地。 第三条线从数字引脚2连接到按键的一个引脚上.同样的按键的引脚连接通过一个下拉电阻器(10 k欧姆)去接地.按键的另一个引脚连接到5V供电。

当按键打开(没有被按压)的时候,按键的两个引脚是不相连的,所以它的引脚是连接到地的(通过下拉电阻器),这时我们读到是一个低电平。当按键关闭(按压)时,使它的两个引脚之间相接,连接到5V的引脚,这样我们就会读到高电平。

你也可以连接这个电路相反的方向,引体向上电阻保持拉高的输入,当按键被按下要拉低。 如果是这样,所描素的动作将是相反。然后当你按下按键关闭时,LED就会导通。

如果你断开所有的数字I / O口引脚,LED可能会没有规律性的闪烁。这是因为输入是“浮空”——也就是说,它会随机返回高电平或低电平。这就是为什么你需要一个上拉或下拉电阻的电路。

原理图

 

代码

/*
 按键

 当按下连接到引脚2的按键那么连接到数字引脚13的
 发光二极管(LED)就会点亮和熄灭。


 电路:
 * LED 从引脚13连接到地
 *按键从5V连接到引脚 2 
 * 10K电阻器从地线连接到引脚2 

 * 注意: 在大多数Arduinos板子上的 
 引脚13已经有连接LED灯


 编写时间: 2005
 作者: DojoDave <http://www.0j0.org>
 更新:2011年8月30日
 更新者: Tom Igoe
 翻译:GiveMeAgain
 翻译日期:2016年12月26日

 说明书,可以在此链接查阅。
 http://www.arduino.cc/en/Tutorial/Button
 本示例代码公布在公用网络上.

 */
// 一个不会改变的常量。这里用来定义一个引脚:
// 引脚定义:
const int buttonPin = 2;     // 按键的引脚号
const int ledPin =  13;      // LED引脚号

//一个会变化的变量: 
int buttonState = 0;         // 读取按键变化状态

void setup() {
  // 初始化LED引脚为输出:
  pinMode(ledPin, OUTPUT);
  // 初始化按键引脚为输入:
  pinMode(buttonPin, INPUT);
}

void loop() {
  // 读取按键的状态值:
  buttonState = digitalRead(buttonPin);

  // 检查按键是否被按下.
  // 如果是, 这里 buttonState为高电平:
  if (buttonState == HIGH) {
    // 点亮LED灯:
    digitalWrite(ledPin, HIGH);
  } else {
    // 熄灭LED灯:
    digitalWrite(ledPin, LOW);
  }
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值