监控按钮是否已停止按下

时间:2011-08-13 18:15:41

标签: button arduino

我有一个Arduino草图,当在电路板上按下按钮时,通过串口报告数据。读取串口的是Node.js服务器,当按下按钮时,该服务器与操作系统有一些交互。

我首先发现的问题是,如果我在循环结束时没有延迟,那么Node.js服务器似乎会出现瓶颈并在完成最后一组之前开始阅读下一组指令。每个循环总是将数据发送到串行端口。

无论如何,我将草图设置为在每个循环结束时延迟100毫秒。

我现在发现的问题是,如果我按住按钮超过100毫秒,它会将其视为按下2个按钮,因此每个按钮上运行的node.js代码会加倍。有没有办法告诉用户按下按钮是否已经释放了按钮?

1 个答案:

答案 0 :(得分:1)

您需要添加软件才能去掉开关。

根据您的应用程序可能需要自动重复或发送不同的 释放开关时的代码。

如果您只想发送一个,可以添加如下代码:

    If (buttonpressed==TRUE)
    {
        If (buttonsent==FALSE)
        {
            sendbutton();
            buttonsent=TRUE;
        }
     }
     else
     {
         buttonsent=FALSE;
     }