Codigo de programacion

Me podria ayudar con este codigo!! Tengo que realizar el encendido de un led con dos bottones, pero tiene que encender hasta el sexto toque en el boton y otro boton para reiniciar la cuenta.
Realice el código pero solo logro que el el led parpedee 6 veces.

int BOTTON1 = 2;
int LED =  3;
int BOTTON2 = 4;
int BOTTONESTADO= 0;

void setup() {
 pinMode(LED, OUTPUT);
 pinMode(BOTTON1, INPUT);
 pinMode (BOTTON2, INPUT);
}

void loop() {
 BOTTONESTADO = digitalRead(BOTTON1);

 if (BOTTONESTADO == HIGH) {
   for (int x = 0; x < 6; x++) {
     digitalWrite(LED, HIGH);
     delay(1000);
     digitalWrite(LED, LOW);
     delay(1000);
   }
 }

 if (BOTTON2 == HIGH){

   digitalWrite(LED, LOW);
   delay(2000);
 }
}

No queda muy claro lo de los botones... entonces a la sexta pulsacion recién te tiene que encender el led? y luego de eso con el otro boton reiniciar la cuenta??

encender hasta la sexta pulsación nada tiene que ver con lo que has posteado.

primero detecta el pulsador o mejor su transición 0 a 1, teniendo en cuenta el estado anterior.
Luego con cada pulsación incrementa un contador
cuando el contadora sea igual a 6 tomas la acción que corresponda.