Arduino 开关检测

2017-01-061.6万
AI 快速预览详细 收起
这篇文章介绍了一种使用Arduino进行开关检测的方法,特别是如何修改代码以实现在按钮抬起时才发送信号。文章提供了具体的代码示例,包括设置数字输入引脚、初始化串口通信以及在循环中添加延时和状态判断。这种方法可以有效避免按钮按下时的误触发,提高项目的稳定性。
各位大神          我是个刚学Arduino的学生    下面这段简单的程序是写:当我用按钮按下时   串口就发送一个‘1’      
请问能不能改成  按钮按下的时候还不发送   等我抬起的时候再发送“1”啊   (开关接在Arduino D3和+5V之间    下拉电阻1K接在Arduino D3和GND之间)
[mw_shl_code=c,true]int Switch=3;
void setup() {
  // put your setup code here, to run once:
  pinMode(Switch,INPUT); //按钮端子作为输入
  Serial.begin(115200);
}

void loop()
{
   if(digitalRead(Switch)==LOW)  //上升沿触发,先检测输入是否低电平,
  {
    delay(10); //然后延时一段时间,
      if(digitalRead(Switch)==HIGH) //然后检测是不是电平变为高了。是的话,就是刚好按钮按下了。
      {
         Serial.print(1);  
         delay(10);  //延时一段时间,防止按钮突然断开再按下
         while(digitalRead(Switch)==HIGH) //判断按钮状态,如果仍然按下的话,等待松开。
          {
           delay(1);
           }
      }   
  }
}
[/mw_shl_code]

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
shijinxianzhe
shijinxianzhe
初学就能用语言编程,太厉害啦!
- 没有更多了 -