Ciao a tutti. E' tutto il pomeriggio che provo ma non riesco a venirne a capo.Il programma in questione dovrebbe,dopo la pressione del pulsante,accendere un led per 50 millisecondi. Il mio problema è il seguente:se mantengo premuto il pulsante il led rimane acceso.In pratica a me servirebbe un'impulso di 50 ms anche se il pulsante rimane premuto. Spero di essermi spiegato di seguito posto il file sorgente.
int up = 8;
int down = 7;
int attup = 13;
int attdown = 12;
int pausa = 50;
int su = 0;
int giu = 0;
void setup() {
pinMode(attup, OUTPUT);
pinMode(attdown, OUTPUT );
pinMode(up, INPUT);
pinMode(down, INPUT);
}
void loop() {
su = digitalRead(up);
giu = digitalRead(down);
if (su == HIGH) {
digitalWrite(attup, HIGH);
delay (pausa);
digitalWrite(attup, LOW );
}
else {
digitalWrite(attup, LOW);
}
if (giu == HIGH) {
digitalWrite(attdown, HIGH);
delay (pausa);
digitalWrite(attdown, LOW );
}
else {
digitalWrite(attdown, LOW);
}
}
Grazie anticipatamente a chi vorrà spiegarmi dov'è l'errore e indicarmi la soluzione.