首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我如何使这些LED的淡入和淡出一次?

我如何使这些LED的淡入和淡出一次?
EN

Stack Overflow用户
提问于 2019-05-19 06:15:15
回答 1查看 151关注 0票数 0

所以我正在做一个项目,我需要让LED一个接一个地淡入淡出,然后让它们同时淡入淡出。那么在确定下一个模式之前,所有的LED都应该熄灭。我已经让它们单独淡入和淡出,但似乎想不出如何让所有6个LED同时淡入淡出。

代码语言:javascript
运行
复制
void setup(){
  //initialize the led pins 4-11
  for (int thisPin=8; thisPin<14; thisPin++){
    pinMode(thisPin, OUTPUT);
  }//end for
}//end setup

void loop(){
  //Fade leds up
  for (int thisPin=8; thisPin<14; thisPin++){
    for (int fadeValue = 0; fadeValue < 256; fadeValue++){
      analogWrite(thisPin,fadeValue);
      delay(2);
    }//end for
    //Fade leds down
    for (int fadeValue = 255; fadeValue >=0; fadeValue--){
      analogWrite(thisPin,fadeValue);
      delay(2);
    }//end for 
    delay(1000);
  }//end for
}//end loop
EN

回答 1

Stack Overflow用户

发布于 2019-05-19 10:08:10

您只需稍微切换一下循环即可。

考虑将for循环分解成它们自己的函数,你的主循环将变得更容易阅读和维护。

代码语言:javascript
运行
复制
void loop(){
  //Fade leds up
  for (int thisPin=8; thisPin<14; thisPin++){
    for (int fadeValue = 0; fadeValue < 256; fadeValue++){
      analogWrite(thisPin,fadeValue);
      delay(2);
    }//end for
    //Fade leds down
    for (int fadeValue = 255; fadeValue >=0; fadeValue--){
      analogWrite(thisPin,fadeValue);
      delay(2);
    }//end for 
    delay(1000);
  }//end for

  // Fade in all LEDs
  for (int fadeValue = 0; fadeValue < 256; fadeValue++) {
    for (int thisPin = 8; thisPin < 14; thisPin++) {
      analogWrite(thisPin, fadeValue);
    }
    delay(2);
  }

  // Fade out all LEDs
  for (int fadeValue = 255; fadeValue >= 0; fadeValue--) {
    for (int thisPin = 8; thisPin < 14; thisPin++) {
      analogWrite(thisPin, fadeValue);
    }
    delay(2);
  }
  delay(1000);

}//end loop
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56203244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档