Lo que hace el programa, es: Si se presiona y mantiene un pulsador (ó entrada HIGH) por 1 seg. ó más, se ejecuta la acción de activar el led del pin 13 (Salida HIGH). El Sketch me tira 1 error y no se como corregirlo. Si tienen un Sketch mejor ó más sencillo, también me serviría.
int ledpin =13;
int buttonPin = 8;
unsigned long tiempo;
byte pulsacionValida = 0;
void setup(){
pinMode(ledpin, OUTPUT);
pinMode(buttonPin, INPUT);
digitalWrite(buttonPin,HIGH); //Activa PullUp resistor
digitalWrite(ledpin,LOW);
}
void loop(){
while(!digitalRead(buttonPin)); { // Espera pulsación
{
tiempo = milis(); // guardo el inicio de la pulsación
}
do // Mientras dos condiciones: un segundo y botón apretado
if(milis() >= tiempo + 1000) // leo el reloj, ¿paso un segundo?
pulsacionValida = 1;
}
while( (!pulsacionValida) && (digitalRead(buttonPin) );
{
if(pulsacionValida);
digitalWrite(ledpin,HIGH);
delay(1000);
digitalWrite(ledpin,LOW);
}
{
else
}
digitalWrite(ledpin,LOW);
}