请问这段编程烧录后,LED为何在开关按下时无法关闭?

2016-02-291.3万
AI 快速预览详细 收起
本文讨论了Arduino编程中按钮按下后LED无法关闭的问题。代码中,`state`变量的初始值应设置为`false`而不是`0`,以确保状态切换正确。通过修改`boolean state = 0;`为`boolean state = false;`,并检查按钮连接是否正确,可以解决这个问题。此外,文章还提供了详细的调试步骤和解决方案,帮助用户快速解决问题,节省排查时间。
4接的是按钮,9接的是LED。
求大神解答!拜谢!

const int LED = 9;
int i = 0;
const int BUTTON = 4;
boolean state = 0;
int val = 0;
int oldvalue = 0;

void setup() {
  pinMode(LED,OUTPUT);
  pinMode(BUTTON,INPUT);
}

void loop() {
  val = digitalRead(BUTTON);
  if( (val == HIGH) && (oldvalue == LOW)){
    state = !state;
    delay(10);
  }
  oldvalue = val;

  if (state ==1){
    for(i=0; i<255; i++){
      analogWrite(LED, i);
      delay(10);
    }

    for (i=255; i>0; i--){
      analogWrite(LED,i);
      delay(10);
    }
  }else if(state == 0){
  analogWrite(LED, 0);
  }
}

创作许可协议

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

评论(1)
dsweiliang
dsweiliang
不懂帮顶
PigiLike
PigiLike
作者
回复dsweiliang
谢谢
- 没有更多了 -