Code in einer loop -Schleife wiederholen???

Hallo, Ich habe diesen code geschrieben:

#include <IRremote.h>

int RECV_PIN = 6;
int led1 = 13;
int led2 = 31;
int led3 = 30;
long randOn = 0;                  
long randOff = 0; 
int x;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); 
   pinMode(led1, OUTPUT);
   pinMode(led2, OUTPUT);
   pinMode(led3, OUTPUT);
   
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, DEC);
    irrecv.resume(); 
  }
  switch(results.value){


  case 0x1CE3807F:                   //Der Code meiner ir-Fernbedienung
  [b]digitalWrite (led1, LOW);[/b]         //Möchte gerne dass sich dieser Teil immer wiederholt bis ich den Knopf erneut drücke!!
  [b]digitalWrite (led2, LOW);
  digitalWrite (led3, LOW);
  delay(600);
  digitalWrite (led1, HIGH);
  digitalWrite (led2, HIGH);
  digitalWrite (led3, HIGH);
  delay(600);[/b]
  
  }  
}

Nun hätte ich gerne wie oben schon gesagt dass sich der Teil immer wieder wiederholt
bis ich diese Taste erneut drücke!!

Ist das möglich?? Wenn antwortet bitte mit Vorschlägen :slight_smile:

Ist doch simpel.

Du nimmst ne zwete Variable, die Du beim Eingehen des IR-Signals toggelst: Ist sie false, dann setzt Du sie auf true. Ist sie true, dann setzt Du sie auf false. Das Ganze dann noch entprellen bzw. nach dem Umschalten eine gewisse Zeit die IR-Auswertung aussetzen, damit nicht gleich wieder umgeschaltet wird.

Und dann noch im Loop die Variable auswerten und nur bei true die gewünschte Ausführung vornehmen.

Hallo,

laut meinem Verständnis würde ich das mit einer zusätzlichen Variablen machen und diese mittels if Schleife auswerten, wenn 1 wird die Schleife mit Deinem Programm durchlaufen, wenn die 0 ist, dann eben nicht. Mittels ExklusiveOder ( XOR )kann man eine 1 zur 0 machen und wieder zurück zur 1, je nach Tastendruck. Toggeln genannt.

Jetzt änderst Du Dein Programm so, dann XOR nur ausgeführt wird wenn eine Taste gedrückt und und wertest es anschließend aus ...