Encender y apagar led con pulso

Hola amigos tengo el siguiente inconveniente quiero prender un led pero solo que cuando tenga pulsado el boton me prenda y que cuando lo suelte se me apague por medio de una apk pero no me funciona me podrian ayudar haber en donde esta el error

char estado;
byte status = false;

void setup(){
  Serial.begin(9600);
  pinMode(13,OUTPUT);
  
}


void loop(){
   
  if (Serial.available()>0) {
    estado = (char) Serial.read();
  }

    if (estado== '3') { 
       status = !status;
      
    if (status)
       digitalWrite(13,HIGH);
    else
       digitalWrite(13,LOW); 
  }
}

Ese programa ("que yo modifique para otra persona") espera a que alguien presione 3 y cada vez que presiona 3 cambia de estado prendiendo o apagando el led.
Ahora tu quieres que el led se encienda si se presiona y cuando deja de hacerlo se apague.
muy simple, al final solo borras el contenido del puerto serie

char estado;
byte status = false;

void setup(){
  Serial.begin(9600);
  pinMode(13,OUTPUT);
  
}


void loop(){
   
  if (Serial.available()>0) {
    estado = (char) Serial.read();
  }
    if (estado== '3') { 
       status = !status;
      
    if (status)
       digitalWrite(13,HIGH);
    else
       digitalWrite(13,LOW); 
  }
  Serial.flush():
  estado = "":  // para que se mantenga encendido el led debe leer en cada ciclo 3 sino se apaga
}

Amigo no me funciona el led me que da prendido cuando suelto el boton

Esto funciona perfecto

char estado;
bool status = false;

void setup(){
  Serial.begin(9600);
  pinMode(13,OUTPUT);
  Serial.println("Inicializando port Serie");
  
}


void loop(){
  estado = 0;
  if (Serial.available()>0) {
 	estado = (char) Serial.read();
 	Serial.write(estado);
  }
  if (estado== '3') {
      Serial.println("Recibido");
      status = !status;
  }
  if (status)
      digitalWrite(13,HIGH);
  else
      digitalWrite(13,LOW); 	
}

Este lo que hace es que me prende y me apaga con el mismo pulsador pero lo que yo necesito es que si lo mantenia prensionado prendiera y si lo soltaba se apaga

Muchas gracias amigo

Que pena las molestias

Y dime como quieres probar eso?
Yo no veo un modulo BT que este conectado y provea un '3' constante.
Asi que solo puedo enviar un 3 por el monitor serie que dura microsegundos y no se alcanza a ver y por lo tanto se apaga enseguida.
Dime como pretendes que se mantenga encendido ese LED entonces?

He modificado algo el código para podamos ver el Led usando un delay de 10 a 20 mseg
modifica el loop apenas con esto, y mientras intenta hacer algun esfuerzo de tu parte.

void loop(){
 	
  estado = 0;
  if (Serial.available()>0) {
     estado = (char) Serial.read();
   }
  if (estado== '3') {
      digitalWrite(13,HIGH);
      delay(15);
  }
  else {
      digitalWrite(13,LOW); 
  }	
}

Yo tambien estoy modificando.

pero no sabia que no podia mandar una señal contante por un modulo bloutho

muchas gracias

hay disculpa las molestian

NO dije que no podías... dije que en ese código no veo un BT.
Ahora si lo tienes y envias tal como hice yo con un terminal serie, el led se ilumina durante el delay pero se apaga
A mi no me gusta usar delays pero lo hice por comodidad para mostrar la idea.
No entiendo para que sirve lo que quieres hacer.
No tiene aplicación práctica según mi punto de vista.

Por cierto, a mi no me molesta que pregunten, me molesta que no intenten resolverlo por su cuenta, Si dices que lo haces lo acepto y me da gusto.