Button 监视按钮是否已停止按下
我有一个Arduino草图,当按下电路板上的按钮时,它通过串行端口报告数据。读取串行端口的是一个Node.js服务器,当按下按钮时,该服务器与操作系统进行一些交互 我首先发现的问题是,如果我没有在循环结束时设置延迟,Node.js服务器似乎会出现瓶颈,并在完成最后一组指令之前开始读取下一组指令。每个循环总是将数据发送到串行端口 无论如何,在每个循环结束时,我将草图设置为延迟100毫秒Button 监视按钮是否已停止按下,button,arduino,Button,Arduino,我有一个Arduino草图,当按下电路板上的按钮时,它通过串行端口报告数据。读取串行端口的是一个Node.js服务器,当按下按钮时,该服务器与操作系统进行一些交互 我首先发现的问题是,如果我没有在循环结束时设置延迟,Node.js服务器似乎会出现瓶颈,并在完成最后一组指令之前开始读取下一组指令。每个循环总是将数据发送到串行端口 无论如何,在每个循环结束时,我将草图设置为延迟100毫秒 我现在发现的问题是,如果我按住按钮超过100毫秒,它会将其视为按下两次按钮,因此每次按下按钮时运行的node.j
我现在发现的问题是,如果我按住按钮超过100毫秒,它会将其视为按下两次按钮,因此每次按下按钮时运行的node.js代码会加倍。有没有办法告诉我用户按下按钮是否释放了按钮?您需要添加一个软件来解除开关的抖动 根据您的应用程序,您可能需要自动回复或发送不同的 释放开关时的代码 如果只希望发送一个,可以添加如下代码:
If (buttonpressed==TRUE)
{
If (buttonsent==FALSE)
{
sendbutton();
buttonsent=TRUE;
}
}
else
{
buttonsent=FALSE;
}
我最终所做的略有不同,但核心是基本相同的。由于Arduino在一个恒定的循环中运行,我刚才说,如果上一个按钮状态为真,而当前状态为真,那么现在就真的为假。只有当状态以前为false,现在为true时,它才会为true。