como puedo interrumpir un ciclo for en un case

buenas noches tengo un problema que no puedo resolver soy nuevo en esto de programacion en arduino y si alguien me pudiere ayudar aconsejar, es sobre una serie de 10 leds tiene una se secuencia cruzada activada por un control remoto solo pues que al precionar el mismo boton se apague o cuando le puche otro boton se interrumpa y ejecute la otra secuencia en la serie de leds como le hago para interrumpir el ciclo for precionando otro boton del control de antemano muchas gracias saludos… :slight_smile:

case 0xFF30CF: 
if (digitalRead(led)) 
//digitalWrite(led, LOW);
for (var=3; var<=12; var++) {
   digitalWrite(var, LOW);
 }


else 
// digitalWrite(led, HIGH);
for (i =0;i>=0;i++){
for (var=0; var<=9; var++) {
   digitalWrite(3+var, HIGH);
   digitalWrite(12-var, HIGH);
   delay(tiempo);

   digitalWrite(3+var, LOW);
   digitalWrite(12-var, LOW);
   delay(tiempo);

   i++; 
 }
}

break;

Hola,
Break, sirve para salir de bucles.
Dentro del for tendrás que poner un if donde se compruebe si el botón esta pulsado y de cumplirse ejecutas el break.

Busca sobre interrupciones en arduino!
Salu2

Interrupcioines para que?

ya busque sobre iterrupciones pero no encuentro aun por eso publique aqui mi problema.... :confused:

Esta es la secuencia de comandos que controla toda tu recepcion IR

  if (irrecv.decode(&results)) // have we received an IR signal?
 {    translateIR(); 
    irrecv.resume(); // receive the next value
  }

donde translateIR() // tomado del ejemplo https://arduino-info.wikispaces.com/IR-RemoteControl
solo decodifica con un switch los diferentes códigos hexadecimales. Como en tu caso 0xFF30CF

Ahora bien.. todo lo que se este ejecutando dentro de cada case no va a ser interrumpido a menos que consultes irrecv.decode(&results) que si es true te dirá que salgas del for o loop en el que estes.

Se comprende?

Lo que no puedes hacer es usar delay(tiempo); porque ahi estas condenado a esperar que eso termine para ver si ha recibido otro comando.

De nuevo plantea bien toda la idea para que podamos entenderte y darte una mejor solución si cabe.

rodripelto:
Hola,
Break, sirve para salir de bucles.
Dentro del for tendrás que poner un if donde se compruebe si el botón esta pulsado y de cumplirse ejecutas el break.

Esto funciona muy bien. Muchas gracias.