O_oYYQ 发表于 2017-1-6 16:23:35

Arduino 开关检测

各位大神          我是个刚学Arduino的学生    下面这段简单的程序是写:当我用按钮按下时   串口就发送一个‘1’      
请问能不能改成按钮按下的时候还不发送   等我抬起的时候再发送“1”啊   (开关接在Arduino D3和+5V之间    下拉电阻1K接在Arduino D3和GND之间)
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);
         }
      }   
}
}


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

初学就能用语言编程,太厉害啦!
页: [1]
查看完整版本: Arduino 开关检测