Necesito ayuda en mi programación

Saludos a todos…
Hace poco entré al mundo del arduino y me encuentro muy animado.
Necesito ayuda con un proyecto, que se trata de un simple circuito de led’s secuenciador con efecto desvanecido, pero en mi caso lo necesito igualmente con efecto de relevo; es decir, que antes de terminar el desvanecido de un led, comience a encenderse seguidamente el otro led.

Este es el código sencillo con el que estoy trabajando, pero por mas que investigo y aplico no encuentro la manera de encontrar este efecto, ya que para iniciarse un led; se debe esperar que termine totalmente el anterior.
Agradezco de antemano cualquier ayuda…

int led1 = 9;
int led2 = 10;
int led3 = 11;
int i;
 
void setup() {             
  pinMode(led1, OUTPUT)
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
} 
void loop() {

  for(i=0; i<256; i++)
  { 
    analogWrite(led1,i);
    delay(30);                
  }
  for(i=255; i>-1; i--)
  {  
    analogWrite(led1,i);
    delay(30);
  }
  for(i=0; i<256; i++)
  { 
    analogWrite(led2,i);
    delay(30);
  } 
  for(i=255; i>-1; i--)
  {
    analogWrite(led2,i);
    delay(30);
  }
  for(i=0; i<256; i++)
  { 
    analogWrite(led3,i);
    delay(30);
  }
  for(i=255; i>-1; i--)
  {
    analogWrite(led3,i);
    delay(30);  
  }
}

Hola. Se me ocurre que intercales un led encendiéndose con el siguiente también encendiéndose y luego empieces a apagar, de tal forma que quede más o menos así, que creo que es lo que quieres:

-Enciende pin 1
-Enciende pin 2
-Apaga pin 1
-Enciende pin 3
-Apaga pin 2
-Enciende pin 1
-Apaga pin 3

Si no me he equivocado, creo que la secuencia es correcta. :wink:

EDITO: Creo que para lo que quieres hacer debes declarar las variables fuera del FOR y empezar a encender el LED cuando la primera variable haya alcanzado un valor mínimo que tú estimes. En cuanto esté delante de un ordenador te lo explico mejor. :wink:

se trata de un simple circuito de led's secuenciador con efecto desvanecido, pero en mi caso lo necesito igualmente con efecto de relevo; es decir, que antes de terminar el desvanecido de un led, comience a encenderse seguidamente el otro led.

Bien pero establece criterios mas claros. Si no los sabes consulta a tu profesor porque es una clara tarea escolar o de curso.

Bien el momento de disparo esta dado en determinado punto del desvanecimiento de un LED que digamos tiene el control de pasar el testigo al siguiente siendo una secuencia cerrada.

Supongamos que tiens un UMBRAL (no importa el valor) y cuando el LEDn esta en ese valor se inicia la secuencia del LEDn+1
LED1 esta desvaneniendose y supongamos UMBRAL en 50. cuando llegue a 50 se inicia proceso en LED2

Evidentemente tienes que usar una secuencia de pasos para todos los leds en funcionamiento.
Hacerla de tal modo que trabajes sobre dos, uno desvanece y otro se ilumina.

Estas cosas no pueden hacer con delay(NADA)
Tienes que usar millis().

Ve a Documentación => inidice de temas tutoriales => millis()

Cuando lo leas nos dices y te digo como seguir o alguien mas lo hará