6442浏览
查看: 6442|回复: 1

[求助] 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]

shijinxianzhe  高级技匠

发表于 2017-4-26 14:50:30

初学就能用语言编程,太厉害啦!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail