Cartel con leds

Buenas estoy empezando con esto de arduino y quiero hacer para mi negocio un cartel con leds
deberian se asi tres leds debesn encender secuenciamente de forma indefinida y 7 leds diferentes deberia poder programarlos para que se enciendan y apaguen uno solo o varios pero sin esperar la secuencia de los tres primeros no se si me explico bien .
esto es lo que pude hacer pero no es lo que quiero
deberia led 1 a 3 caer secuencia y todo lo demas que agregue sea otra secuencia sin detener la primera perdon si no m explique bien desde ya gracias Perdon por mi error estaba haciendolo mal

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
 
  This example code is in the public domain.
 */
 
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led1 = 13;
int led2 = 12;
int led3 = 11;
int ledA = 10;
int ledB = 9;
// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  pinMode(led1, OUTPUT); 
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT); 
  pinMode(ledA, OUTPUT);
  pinMode(ledB, OUTPUT);   
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led1, HIGH);   
  digitalWrite(ledA, HIGH);
  digitalWrite(ledB, HIGH);
  delay(30);               
  digitalWrite(led1, LOW);    
  delay(10);
  digitalWrite(led2, HIGH);   
  delay(300);               
  digitalWrite(led2, LOW);    
  delay(10); 
  digitalWrite(led3, HIGH);   
  delay(300);               
  digitalWrite(led3, LOW);    
  delay(10); 
  digitalWrite(ledA, HIGH);   
  delay(500);               
  digitalWrite(ledA, LOW);    
  delay(500); 
  digitalWrite(ledB, HIGH);   
  delay(500);               
  digitalWrite(ledB, LOW);    
  delay(511); 
  // wait for a second
}

hacer eso es dificil porque no puedes usar delay para hacer secuencias que se mezclan.

Busca en el IDE BlinkWithoutDelay.ino estúdialo
Luego ve a Documetnación y lee Maquinas de estado.

Cuando lo hagas nos comentas y te diré como seguir.

Encontre lo de maquinas de estado es como trabajar por separado ciertas acciones tambien hay que usar lo de milli no puedo usar delay he podido ejecutar dos leds pero no de forma secuencial si le puedo variar los tiempos pero no que uno siga a l otro sigo investigando y veo si puedo armar algo ... lo de la secuencia me parece que deberia hacer algo con for asignandole variable a los pines y ejecutar una secuencia que sume el pin creo jeje investigare es asombroso

Exacto esa es la manera. No es fácil pero posible.
Si miras sobre la respuesta 14 creo hay un comentario mio y resuelvo un caso parecido.

Esto sería asi

unsigned long start;
byte estado = 0;

void loop() {
  
  
  switch (estado) {
     case 0:  digitalWrite(led1, HIGH);   
			  digitalWrite(ledA, HIGH);
			  digitalWrite(ledB, HIGH);
			  start = millis();
			  break;
	 case 1:  if (millis()-start > 30) {
	 			  digitalWrite(led1, LOW);    	
	 			  start = millis();	
	 	      }
	 	      break;
    // sigue
 
  }

con lo que solo hice esto

digitalWrite(led1, HIGH);   
  digitalWrite(ledA, HIGH);
  digitalWrite(ledB, HIGH);
  delay(30);               
  digitalWrite(led1, LOW);

Escribi el codigo del archivo adjunto es largo pero todavia no tengo la madurez para hacerlo mas corto acepto sugerencias y no hice tiempo de aplicar lo de motor de estados el letrero tendra efectos varios y el codigo me anda bien

CartelAbiertoEfectos.ino (8.68 KB)