Accionar solo una vez cuando la señal sube a HIGH

tengo este codigo

{
   val2=digitalRead(caserina);
if (val2==HIGH){
myDFPlayer.play(0003);
delay(1000);
myDFPlayer.stop();

loque hace actualmente es cuando se mantien en high activa 1 segundo separa por un segundo y se vuelve a activar

quiero que cuando se mantenga en high solo una vez active el dfplayer deje de sonar y se active despues de regresar a low y de vuelta a high

Por favor lee las Normas del foro y edita tu post usando etiquetas para código.

Cuando lo hagas te ayudo

buenas ya lo edite agradecería su ayuda.

Define dos variables bool

bool estado, estadoAnt = false;
byte caserina = 2; // supongo que 2 sea el pin a leer

void setup() {
}

void loop() {

   estado =digitalRead(caserina);
   if (estado && !estadoAnt){
       myDFPlayer.play(0003);
       delay(1000);
       myDFPlayer.stop();
   }
    estadoAnt = estado;

}

lo corregi y funciono gracias :slight_smile: