Lo hubieras comentado y se resolvía. El programa en si funciona tal como lo comentaste inicialmente.
El simple agregado de un flag que arranca en false y cuando se de la condición de que pulses y este en HIGH entonces comenzará la secuencia
int entrada = 6;
int led = 13;
int entero;
bool estadoPulsador;
bool flag = false;
void setup() {
Serial.begin(9600);
pinMode(entrada,INPUT_PULLUP);
pinMode(led, OUTPUT);
}
void loop() {
Serial.println(entero);
estadoPulsador = digitalRead(entrada);
if ( estadoPulsador == HIGH){
if (!flag) {
entero = 1;
flag = true;
}
if (entero == 1){
digitalWrite(led, LOW);
delay2(500);
digitalWrite(led, HIGH);
delay2(500);
digitalWrite(led, LOW);
delay2(500);
entero = 2;
}
}
if (estadoPulsador == LOW){
if (entero == 2){
digitalWrite(led, LOW);
delay2(500);
digitalWrite(led, HIGH);
delay2(500);
digitalWrite(led, LOW);
delay2(500);
entero = 1;
}
}
}
void delay2(int time){
for (int i; i< time/100; i++) {
estadoPulsador = digitalRead(entrada);
delay(100);
}
}