Cómo apagar una secuencia de LEDs con un botón del control infrarrojo

Hola.
Tengo un código para encender y apagar una secuencia de LEDs con el botón número 1 del control, use el comando while. Pero tengo que apagar la secuencia con el botón 2 y no logro hacerlo.
#include <IRremote.h>
#define Boton1 0xFD08F7
#define Boton2 0xFD8877
int CONTROL=2;
IRrecv irrecv (CONTROL);
decode_results codigo;
const int LED1=13;
const int LED2=12;
const int LED3=11;
const int LED4=10;
const int LED5=9;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(LED1,OUTPUT);
pinMode(LED2,OUTPUT);
pinMode(LED3,OUTPUT);
pinMode(LED4,OUTPUT);
pinMode(LED5,OUTPUT);
}
void loop()
{
if (irrecv.decode(&codigo))
{
Serial.println(codigo.value,HEX);
while (codigo.value == Boton1)
{
digitalWrite(LED1,HIGH);
delay(200);
digitalWrite(LED1,LOW);
delay(200);
digitalWrite(LED2,HIGH);
delay(200);
digitalWrite(LED2,LOW);
delay(200);
digitalWrite(LED3,HIGH);
delay(200);
digitalWrite(LED3,LOW);
delay(200);
digitalWrite(LED4,HIGH);
delay(200);
digitalWrite(LED4,LOW);
delay(200);
digitalWrite(LED5,HIGH);
delay(200);
digitalWrite(LED5,LOW);
delay(200);
digitalWrite(LED1,HIGH);
digitalWrite(LED2,HIGH);
digitalWrite(LED3,HIGH);
digitalWrite(LED4,HIGH);
digitalWrite(LED5,HIGH);
delay(500);
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,LOW);
digitalWrite(LED4,LOW);
digitalWrite(LED5,LOW);
delay(500);
digitalWrite(LED5,HIGH);
delay(200);
digitalWrite(LED5,LOW);
delay(200);
digitalWrite(LED4,HIGH);
delay(200);
digitalWrite(LED4,LOW);
delay(200);
digitalWrite(LED3,HIGH);
delay(200);
digitalWrite(LED3,LOW);
delay(200);
digitalWrite(LED2,HIGH);
delay(200);
digitalWrite(LED2,LOW);
delay(200);
digitalWrite(LED1,HIGH);
delay(200);
digitalWrite(LED1,LOW);
delay(200);
if (codigo.value == Boton2)
{
digitalWrite(LED1,HIGH);
digitalWrite(LED2,LOW);
digitalWrite(LED3,LOW);
digitalWrite(LED4,LOW);
digitalWrite(LED5,LOW);
}
irrecv.resume();
}
delay(100);
}
}