上一节简单介绍啦一下按键模块怎么使用
但是在使用过程中会常常出现延时时间过长,有时候按键会失灵
所以,接下来,我将优化程序,使得按键按下时,就能使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); //延时,隔开两次按键时间
}