Arduino系列之按键模块(二)

上一节简单介绍啦一下按键模块怎么使用

但是在使用过程中会常常出现延时时间过长,有时候按键会失灵

所以,接下来,我将优化程序,使得按键按下时,就能使count加1

下面是程序思路:
同样的定义按键脚;

定义一个全局变量count,用来计数;

定义波特率

设置按键脚为输入模式

再循环中:

当按键没有按下时,执行空指令;

按键按下时,计数加1;

并且打印出结果;

延时一段时间,作用是为了隔开两次按键操作时间;

下面我将把程序写出来:

#define anjian 4        //定义按键脚
int count=29;            //定义初始count值
void setup() {
Serial.begin(9600);    //设置波特率
pinMode(anjian,INPUT);    //设置按键为输入模式
}
void loop() {
while(!digitalRead(anjian))    //一直检测按键是否按下
{}
if(digitalRead(anjian)==HIGH)     //当按键按下时
{
delay(2);                                     //消抖
count=count+1;                          //计数加1
Serial.println(count);                  //输出结果
delay(1000);                              //延时,隔开两次按键时间
}

原文地址:https://www.cnblogs.com/fqhy/p/7986332.html