Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
For loop 我可以同时(而不是顺序)发送Arduino输出吗?_For Loop_Arduino_Output - Fatal编程技术网

For loop 我可以同时(而不是顺序)发送Arduino输出吗?

For loop 我可以同时(而不是顺序)发送Arduino输出吗?,for-loop,arduino,output,For Loop,Arduino,Output,我有八个LED灯,我用Arduino灯淡入淡出。我用下面的代码分别控制每一个 for(int fade1=0;fade1<=255;fade1+=1){ analogWrite(8,fade1); delay(10); } for(int fade1=255;fade1>=0;fade1-=1){ analogWrite(8,fade1); delay(10); } for(int-fade1=0;fade1=0;fade1-=1){

我有八个LED灯,我用Arduino灯淡入淡出。我用下面的代码分别控制每一个

  for(int fade1=0;fade1<=255;fade1+=1){
   analogWrite(8,fade1); 
   delay(10);
  }
  for(int fade1=255;fade1>=0;fade1-=1){
    analogWrite(8,fade1);
    delay(10);
  }
for(int-fade1=0;fade1=0;fade1-=1){
模拟写入(8,fade1);
延迟(10);
}
我希望能够为八个单独的管脚分配一个单独的淡入淡出时间和延迟,这样所有八个灯光都会同时淡入淡出,并无限循环。然而,我只能让他们按顺序开始我的程序


我一直在使用for循环、循环中的循环等的不同位置,但似乎无法让它实现我想要的。有人可以向我推荐任何想法或示例吗?

将16个循环减少为两个:

  for(int fade1=0;fade1<=255;fade1+=1){
   analogWrite(8,fade1);
   analogWrite(9,fade1); 
   // etc.
   delay(10);
  }
  for(int fade1=255;fade1>=0;fade1-=1){
    analogWrite(8,fade1);
    analogWrite(9,fade1);
    // etc.
    delay(10);
  }
for(int-fade1=0;fade1=0;fade1-=1){
模拟写入(8,fade1);
模拟写入(9,fade1);
//等等。
延迟(10);
}
您将无法观察从写入端口8到写入端口9的时间差。此代码将导致LED同时淡入和淡出,但您可能希望它们单独淡出

在这种情况下,您需要分别设置每个LED的淡入度值,因此定义淡入度值向量,初始值为:

  int fade[8] = {2, 0, 4,200,20,47,45,150};
  int dir[8]  = {1,-1, 1, -1, 1,-1, 1, -1};

  loop() {
      for (i = 0; i < 8, i++)
      {
         if ((fade[i] <= 0) || (fade[i] >= 255))
         {
            dir[i] *= -1;
         } else
           fade[i] += dir[i];
         }
         // + 8 for leds at ports 8 thru 15
         analogWrite(i+8, fade[i]);
      }
      delay(10);

   }
int-fade[8]={2,04200,20,47,45150};
int dir[8]={1,-1,1,-1,1,-1,1,-1};
循环(){
对于(i=0;i<8,i++)
{
如果((衰减[i]=255))
{
dir[i]*=-1;
}否则
淡入淡出[i]+=dir[i];
}
//+8用于端口8至15处的LED
模拟写入(i+8,衰减[i]);
}
延迟(10);
}

注意,我还没有尝试过这段代码,但这是一个很好的开始,LED看起来彼此独立运行。

如果您需要大量示例,请查看我的博客。特别是在本节中,我有很多关于如何以高更新频率独立衰减20个LED的示例。

太棒了!这看起来是我开始实验的一个很好的开始,同时也给了我一些随机化一些值的想法。。。