查看: 2697|回复: 0

Stduino小白练习第四弹--按键控制LED灯闪灭&按键去抖

[复制链接]

53

主题

55

帖子

431

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
431
发表于 2020-1-6 21:58:38 | 显示全部楼层 |阅读模式
本帖最后由 Astilbe001 于 2020-1-8 19:48 编辑

2020/01/06 星期一  作者:Astilbe

问题:如何利用Stduino通过按键控制LED灯亮灭。


我们已经学习过怎么点亮一颗LED灯,那么怎么用按键来控制它亮和灭呢?
简化一下我们需要达到的目标:

即按键按下LED灯亮,再按一次,LED灯灭。
那么只要让处理器知道按键状态,再调整LED灯的引脚输出电平(LOW还是HIGH)即可。
话不多说:

  1. int Button = 9;//设置按键为数字引脚9
  2.     int LED =13;//设置LED灯为数字引脚13
  3.     int Button_State=0;
  4. void setup() {
  5.   // put your setup code here, to run once:
  6. pinMode(Button,INPUT);//数字输入初始化,不拉高,得加电阻
  7.     pinMode(LED,OUTPUT);//数字输出初始化
  8. }

  9. void loop() {
  10.   // put your main code here, to run repeatedly:
  11.    Button_State = digitalRead(Button) ;//读取当前按键状况
  12.    
  13.     if(Button_State){
  14.         digitalWrite(LED,HIGH);
  15.     }else{
  16.         digitalWrite(LED,LOW);
  17.         }
  18. }
复制代码
一般按键按下时,往往会出现所按的按键在闭合和断开位置之间跳几下,才稳定在闭合状态——这就是按键抖动。这可能会导致按下或松开时电路不正常工作。
据此,在按下按键时,延时10MS,就可消除抖动。抖动持续时间不一,一般不会大于10MS。在loop()中第一行加入
  1. delay(10);
复制代码
即可。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门推荐

Stduino 零基础入门课程系列(五) 实验三:按键输入
Stduino 零基础入门课程系
Hello!各位同学大家好~上节课我们利用管脚输出高低电平信号,控制LED的亮灭,那么我
Stduino小白练习第六弹--按键控制串口通信
Stduino小白练习第六弹--
2020/01/08 星期三 作者:Astilbe 问题:我们如何通过按下按键来传输固定的信息给PC呢
37种传感器(二十九)MPU6050陀螺仪模块+Stduino Nano&UNO
37种传感器(二十九)MPU6
StduinoUno /纳米37种传感器(二十九)六轴 MPU陀螺仪模块关键词: 51 ; stm32 ; ar
stm32 最小系统 小蓝板 LED闪烁灯(三),无需刷Bootloader
stm32 最小系统 小蓝板 LE
关键词:stm32 小蓝板 STM32F103C8T6 Stduino IDE Stduino Nano LED闪烁灯 通过Stduin
Stduino IDE软件下载专区
Stduino IDE软件下载专区
Stduino IDE软件下载专区 Windows版:7月29号发布1.01, 现可
今天在文涛老大的帮助下我的stm32zet6终于把simlpefoc库跑起...
今天在文涛老大的帮助下我
[md]首先本身是刚刚从MDK转到arduino过来的新人,只因为要完开源的simplefoc,期间由
连接ADS1292模拟前端芯片,使用SPI库,导致串口不输出数据
连接ADS1292模拟前端芯片
[md]连接ADS1292模拟前端芯片,使用SPI库,导致串口不输出数据 ![QSJSBEZF83I8C907%$
©2001-2018  Stduino官网  Powered by©Discuz!   ( 皖ICP备17011998号 )
快速回复 返回顶部 返回列表