Por favor ayuda con progrma

Buenas noches, amigos soy nuevo en el foro y arduino, y quiero realizar un programa que con un pulsador encienda un led de forma intermitente por un periodo de 20 segundos, pero si vuelvo a oprimir el pulsador antes de los 20 segundos , el led se apague de inmediato.
tengo solo el temporizador del led pero sin parpadeo y sin que pueda apagarlo antes de los 20 segundos. gracias de antemano a quien pueda colaborarme.

int PULSADOR = 8;
int LED = 10;

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

void loop() {
while(digitalRead(PULSADOR) == LOW);
digitalWrite(LED , HIGH);
delay(8000);
digitalWrite(LED , LOW);

}

Varias correcciones antes de responderte:

  1. lee las normas del foro.
  2. El título no puede incluir la palabra ayuda. Asi que edita el título
  3. El código está mal posteado, debe hacerseusando tags </>
  4. Esto no es un proyecto asi que sección equivocada.

Respuesta mira el ejemplo del IDE BlinkWithoutDelay.ino

Por favor cumple con lo solicitado!