Mandar pulso a LED

Hola a todos.
Armagedon no aclaras si solo quieres hacer que el led encienda y apague o si tu sketch lleva mas funciones, pero entrando a ver tu codigo veo cosas que yo creo que no deberian estar ahi (al menos que haga otra cosa aparte de encender y apagar un led)
Primero: ¿ para que usas la variable entero?
segundo: ¿para que comienzas con

digitalWrite(led, LOW)
 delay2(500);

si se supone que el led ya esta apagado
tercero: si vas a usar delay para encender y apagar el led ¿ porque usar la funcion delay2 ? ¿ porque no pones simplente el tiempo dentro del delay (tiempo) y listo

modifique tu codigo para que haga lo que dices aqui:

Tengo un pulsador y un led, cuando mantengo presionado el pulsador el led tiene que prender y apagar 1 vez, Y cuando suelto el pulsador el led debe prender y apagar otra vez.

Esto es solo para que te des una idea y puedas hacer los cambios que sean necesarios, como por ejemplo tratar de deshacerte de esos delays

int entrada = 6;
int led = 13;
int entero;
bool estado_entrada=true;
bool estado_ant_entrada=true;


void setup() {
Serial.begin(9600);
  
pinMode(entrada,INPUT_PULLUP);
pinMode(led, OUTPUT);

}

void loop() {
Serial.println(entero);

estado_entrada=digitalRead(entrada);


// Aqui cuando  presionas el led enciende y apaga una sola vez
  if (estado_entrada != estado_ant_entrada)     
    if(estado_entrada==false){                   
  delay(500);
  digitalWrite(led, LOW);
  delay(500);
  estado_ant_entrada=estado_entrada;
  entero = 2;               //No se para que usas esto...
  }
    
 //cuando sueltas el pulsador el led prende y apaga una vez
if (estado_entrada != estado_ant_entrada) 
 if(estado_entrada==true){
  digitalWrite(led, HIGH);
  delay(500);
  digitalWrite(led, LOW);
  delay(500);
  entero = 1; 
  estado_ant_entrada=estado_entrada; 
    }
}