关于 读取按钮按下的次数问题(详细版)
认真学习了 Arduino入门教程--第四课--按钮控制的LED延时开关 的教程,该教程的用按钮控制led灯,连接图和代码如下:************************************************************
const int ledPin = 13;
const int buttonPin = 2;
int buttonState = 0;
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop()
{
buttonState = digitalRead(buttonPin);
if(buttonState == HIGH)
digitalWrite(ledPin, HIGH);
else
digitalWrite(ledPin, LOW);
}
************************************************************
在这基础上,能否实现读取按钮按下的次数,求教大神代码如何实现? 可以用 定时器 来做,例如:在500ms内记录按钮按下的次数,再根据次数决定程序的具体流向。 楼上正解:lol:lol:lol xinhoujue 发表于 2015-8-12 19:07 static/image/common/back.gif
可以用 定时器 来做,例如:在500ms内记录按钮按下的次数,再根据次数决定程序的具体流向。
初学者,不是很理解:loveliness:请大神指点:1、定时器是算法实现还是硬件呢? 2、关键的500ms内记录按钮按下的次数不知道怎么实现?感谢感谢 类似这样。。。
//************************************************************
const int ledPin = 13;
const int buttonPin = 2;
boolean buttonState = 0;
boolean OldState = 0;
int buttonPressCount = 0;
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop()
{
buttonState = digitalRead(buttonPin);
if (buttonState & !OldState) {
buttonPressCount++;
delay(40);
}
OldState = buttonState;
if (buttonState == HIGH)
digitalWrite(ledPin, HIGH);
else
digitalWrite(ledPin, LOW);
}
//************************************************************ lkc8210 发表于 2015-8-12 20:32 static/image/common/back.gif
类似这样。。。
//************************************************************
const int ledPin = 1 ...
学习了,收获很大,非常感谢! 初学者学习
页:
[1]