Arduino 如何使覆盖按钮在淡入淡出循环中运行

Arduino 如何使覆盖按钮在淡入淡出循环中运行,arduino,esp8266,arduino-esp8266,adafruit,Arduino,Esp8266,Arduino Esp8266,Adafruit,我试图允许一个按钮覆盖我的LED,它被设置为反复淡入淡出。相反,该按钮只是关闭微控制器Adafruit Huzzah ESP8266本身上的led,对引脚13 led没有影响 代码: const int buttonPin=2;//按钮销的编号 int-ledPin=13;//LED连接到的PWM引脚 int亮度=0;//LED多亮啊 int fadeAmount=5;//有多少点可以使LED变暗 int buttonState=0;//用于读取按钮状态的变量 无效设置(){ 引脚模式(LED引

我试图允许一个按钮覆盖我的LED,它被设置为反复淡入淡出。相反,该按钮只是关闭微控制器Adafruit Huzzah ESP8266本身上的led,对引脚13 led没有影响

代码:

const int buttonPin=2;//按钮销的编号
int-ledPin=13;//LED连接到的PWM引脚
int亮度=0;//LED多亮啊
int fadeAmount=5;//有多少点可以使LED变暗
int buttonState=0;//用于读取按钮状态的变量
无效设置(){
引脚模式(LED引脚,输出);
pinMode(按钮输入,输入);
}
void循环(){
buttonState=digitalRead(buttonPin);
如果(按钮状态==低){
数字写入(ledPin,低电平);
}否则{
数字写入(ledPin,高电平);
}
模拟写入(LED引脚,亮度);
buttonState=digitalRead(buttonPin);
亮度=亮度+fadeAmount;
如果(亮度=255){
fadeAmount=-fadeAmount;
}
//等待30毫秒以查看变暗效果
延误(30);
}

按如下所示更改循环,然后重试

void loop() {
  buttonState = digitalRead(buttonPin);

  if (buttonState == LOW) {
    digitalWrite(ledPin, LOW);
  } else {
    analogWrite(ledPin, brightness);
  }

  buttonState = digitalRead(buttonPin);

  brightness = brightness + fadeAmount;

  if (brightness <= 0 || brightness >= 255) {
    fadeAmount = -fadeAmount;
  }
  // wait for 30 milliseconds to see the dimming effect
  delay(30);
}
void循环(){
buttonState=digitalRead(buttonPin);
如果(按钮状态==低){
数字写入(ledPin,低电平);
}否则{
模拟写入(LED引脚,亮度);
}
buttonState=digitalRead(buttonPin);
亮度=亮度+fadeAmount;
如果(亮度=255){
fadeAmount=-fadeAmount;
}
//等待30毫秒以查看变暗效果
延误(30);
}

只要按住按钮,它就会保持打开状态,但如果(buttonState==HIGH){运行良好,则会进行更改
void loop() {
  buttonState = digitalRead(buttonPin);

  if (buttonState == LOW) {
    digitalWrite(ledPin, LOW);
  } else {
    analogWrite(ledPin, brightness);
  }

  buttonState = digitalRead(buttonPin);

  brightness = brightness + fadeAmount;

  if (brightness <= 0 || brightness >= 255) {
    fadeAmount = -fadeAmount;
  }
  // wait for 30 milliseconds to see the dimming effect
  delay(30);
}