【发布时间】:2020-03-11 17:37:50
【问题描述】:
感谢大家的宝贵时间。 我有我的代码,当我按住按钮时,激光会打开“HIGH” 当我从按钮上松开手指时,激光会关闭“LOW”
但是我想当我双击激光打开时,当我再次双击激光关闭时。
谢谢你,对不起我的英语不好。
const int btn = 6;// The push button
int previousButtonStateLAZER = HIGH; // for btn6
void setup(){
pinMode(btn, INPUT);
pinMode (laserPin, OUTPUT);
}
void loop(){
int buttonStateLAZER = digitalRead(btn);
// if the button state has changed,
if (buttonStateLAZER != previousButtonStateLAZER){
if( buttonStateLAZER == HIGH ) {
digitalWrite (laserPin, HIGH);
}else{
digitalWrite (laserPin, LOW);
}
}
previousButtonStateLAZER = buttonStateLAZER;
}```
【问题讨论】:
-
1.定义什么是双击。 2. (在纸上)画一个状态机,显示如何在所有状态之间转换。 3. 将这个状态机翻译成代码,只有在你把它画出来之后。
-
尝试了不同的解决方案,但仍然无法正常工作。
-
定义双击。您将需要使用 Arduino 的计时器功能。两次单击相隔 1 小时是双击吗?
-
因为我是 Arduino 世界的新手,所以我需要找到有用的链接、按钮和状态等。顺便说一句,非常感谢你
-
你知道什么是状态机吗?
标签: c++ c arduino arduino-uno