Problema en el codigo?

Buenas chicos:

Tengo un problema con una tarea, consiste en que el programa debe encender un led durante un segundo tras pulsar y soltar un bot贸n. He probado otro programa que enciende un led mientras pulsas el boton y se apaga cuando lo sueltas, y este si funciona a la perfecci贸n. He mirado todo y esta todo bien conectado, y es el mismo montaje para los dos programas. A ver si me podeis ayudar. :slight_smile: Os dejo el codigo.

#define pulsador 2
#define led 13
void setup (){
pinMode(pulsador, INPUT);
pinMode(led, OUTPUT);
}
void loop(){
while(digitalRead(pulsador) ==HIGH);
while(100);
while(digitalRead(pulsador) ==LOW);
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW)
}

Hola Oaksito

while(digitalRead(pulsador) ==LOW);

En esa linea de c贸digo se te queda bloqueado al soltar el pulsador, por eso no te enciende. Entiendo que lo que quieres es pulsar, soltar y que se encienda, si mantienes pulsado que no se encienda hasta que lo sueltes, correcto?

if(digitalRead(pulsador) ==HIGH)
{
      pulsadorOn = true;
}
if(digitalRead(pulsador) ==LOW && pulsadorOn)
{
      digitalWrite(led, HIGH);
      delay(1000);
      digitalWrite(led, LOW)
      pulsadorOn = false;
}

Prueba con algo as铆 a ver si te funciona

Saludos!!