Brauche Hilfe: IR-Sensor, LED blinken

Hi, ich möchte eine Reihe von LEDs mit Hilfe von einem IRSensor ansteuern und möchte sie blinken lassen. Das Problem ist, dass ich nicht weiß wie man das blinken so lange aufrecht erhält bis man das nächste mal die Taste drückt um es zu stoppen...
Bei meinem momentanen Code blinkt es nureinmal auf für die gewünschte Zeit doch danach muss man wieder die Taste drücken um es erneut aufleuchten zu lassen.

#include <IRremote.h>

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

const int p1 = 2;
const int p2 = 3;
const int p3 = 4;
const int p4 = 5;
const int p5 = 6;
const int p6 = 7;
const int p7 = 8;
const int p8 = 9;
const int p9 = 10;

int zeit = 1000;

void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver

pinMode (p1, OUTPUT);
pinMode (p2, OUTPUT);
pinMode (p3, OUTPUT);
pinMode (p4, OUTPUT);
pinMode (p5, OUTPUT);
pinMode (p6, OUTPUT);
pinMode (p7, OUTPUT);
pinMode (p8, OUTPUT);
pinMode (p9, OUTPUT);
}

void loop() {
if (irrecv.decode(&results)) {
  Serial.println(results.value, DEC);
  
  if (results.value == 16718055) {   //Zahl für Taste 2
    digitalWrite(p1,HIGH);
    digitalWrite(p2,HIGH);
    digitalWrite(p3,HIGH);
    digitalWrite(p4,HIGH);
    digitalWrite(p5,HIGH);
    digitalWrite(p6,HIGH);
    digitalWrite(p7,HIGH);
    digitalWrite(p8,HIGH);
    digitalWrite(p9,HIGH);
    delay(zeit);
    digitalWrite(p1,LOW);
    digitalWrite(p2,LOW);
    digitalWrite(p3,LOW);
    digitalWrite(p4,LOW);
    digitalWrite(p5,LOW);
    digitalWrite(p6,LOW);
    digitalWrite(p7,LOW);
    digitalWrite(p8,LOW);
    digitalWrite(p9,LOW);
    delay(zeit-100);
  }
  irrecv.resume(); // Receive the next value
}
delay(100);
}

Und was bitte soll der DOPPELPOST ?
Antworten hast du schon erhalten und nichts daraus gelernt ?

Du hättest wenigstens hier die Code-Tags einsetzen können, oder liest du unsere Antworten nicht ?

Entschuldigung... ich bin erst seit ein paar Stunden hier angemeldet und hatte meinen Post nicht wiedergefunden. Habe es gerade nochmal in entsprechenden Text umgeformt, allerdings verstehe ich das mit dem zwischenspeichern trotzdem nicht

Ok, jetzt ist der Sketch auch gut mobil lesbar.
Dann brauchst du jetzt nur die Tipps berücksichtigen, die wir schon gegeben haben.
Und man könnte beide Threads zusammenbringen.
Dann haben wir es bei den Antworten einfacher.

Naja, du stellst fest dass die Taste gedrückt wurde, und dann dass du sie wieder ausgelassen hast. Entsprechend geht es an und wieder aus. Ist doch logisch. Dann ist es also auch logisch, dass du dir einen noch einen kleinen Merker einbauen musst, Taste gedrückt wird feststellt, dann den Merker von LOW auf HIGH invertiert und dann erst weitergeht, wenn die Taste nicht mehr gedrückt ist. Dann gehen die LED´s an weil der Merker auf HIGH ist. Und das bleibt er, bis die Taste wieder gedrückt ist, der Merker wird wieder invertiert wird also wieder LOW, dann geht das Programm weiter wenn die Taste wieder losgelassen wird und es wird festgestellt, dass der Merker LOW ist und die LED´s werden wieder gelöscht.

FragJemandAnderen:
...allerdings verstehe ich das mit dem zwischenspeichern trotzdem nicht

Dazu hatte ich dir einen Link zu einem Beispiel gepostet.
Und den Beitrag nicht wiedergefunden, verstehe ich nicht. Der steht doch auf der selben Seite.