Jopapa tiene mas razón que un santo.
Intentare explicarte el error:
if (Estado_Pulsador_Set == HIGH);
delay (1000);
{ contador = contador+1 ;}
es lo mismo que :
if (Estado_Pulsador_Set == HIGH) {;} // Si Variable=HIGH , No hagas nada
delay (1000); // en cualquie caso para 1 segundo
contador = contador+1 ; // en cualquer caso conador++
y yo creo que lo que pretendes hacer es:
if (Estado_Pulsador_Set == HIGH)
{
delay (1000);
contador = contador+1 ;
}
prueba algo así haber si hay mas suerte y es lo suficientemente bonito
byte pinLED = 13;
byte Pulsador_Reset = 8;
byte Pulsador_Set = 9;
bool Estado_Pulsador_Set ;
bool Estado_Pulsador_Reset ;
bool Estado_Anterior_Set=false ;
bool Estado_Anterior_Reset=false ;
int contador=0;
int valor_para_encender=1;
void setup()
{
pinMode (pinLED, OUTPUT);
pinMode (Pulsador_Reset, INPUT);
pinMode (Pulsador_Set, INPUT);
}
void loop()
{
Estado_Pulsador_Set = digitalRead(Pulsador_Set);
Estado_Pulsador_Reset = digitalRead (Pulsador_Reset);
if (Estado_Pulsador_Set && !Estado_Anterior_Set && contador<32766) {contador++;}
if (Estado_Pulsador_Reset && !Estado_Anterior_Reset) {contador=0;}
if (contador == valor_para_encender) {digitalWrite (pinLED, HIGH);} else {digitalWrite (pinLED, LOW);}
Estado_Anterior_Set=Estado_Pulsador_Set;
Estado_Anterior_Reset=Estado_Pulsador_Reset;
}