关于读取按钮状态的问题

2017-07-111.4万
AI 快速预览详细 收起
本文讨论了在Arduino中读取按钮状态并控制LED开关的问题。通过引入按钮去抖逻辑,解决了按下按钮时间过长导致的多次触发问题。具体来说,当按钮按下时,读取当前LED的状态,并根据状态切换LED的开关。这种方法确保每次按下按钮都能准确切换LED状态,适用于初学者和STEM教育项目。
各位好,请教一个按钮状态读取的问题。
想法是,按下按钮时,读取当前LED是开还是关。
每按一下按钮,切换一次开关状态。

但实际运行中,可能是按下按钮时间比一次循环的时间要长。
有的时候要按几下按钮,才能切换开关。

有什么更好的办法实现吗?
多谢指教!


[mw_shl_code=applescript,true]

int led = 13;
int button = 9;

void setup() {               
  pinMode(led, OUTPUT);     
  pinMode(button,INPUT);
}

void loop() {
  int stateButton = digitalRead(button);
  int statLed = digitalRead(led);
  
  if ( stateButton == HIGH ) {
    if (statLed == LOW){
      digitalWrite(led,HIGH);
    }
    if (statLed == HIGH){
      digitalWrite(led,LOW);
    }
  }
}[/mw_shl_code]

创作许可协议

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

评论(2)
pATAq
pATAq
去抖动?
esojourn
esojourn
作者
回复pATAq
版主大人,刚来啊?
esojourn
esojourn
作者
83阅,没人回复。悲催。
不过找到答案了。
https://mc.dfrobot.com.cn/thread-2535-1-1.html
- 没有更多了 -