Buon giorno a tutti. Sono ad un punto morto del mio progetto ed ho bisogno di aiuto; la mia necessità è realizzare un comando temporizzato che si attivi a seguito della pressione di un pulsante. In pratica un banale luce scale (di cui peraltro avete già discusso su altri post) con una sostanziale differenza : il tempo di pressione del pulsante di comando non deve influire sulla durata della temporizzazione, che dovrebbe aggirarsi in tempi inferiori al secondo. Allego il codice su cui sto lavorando.
/*In questo progetto chiamato luce scale , voglio azionare un comando
* temporizzato (con tempo regolabile in millisecondi) che sia influente
* dal tempo di pressione del tasto.
*/
int potenziometro ;
long int millisecondi ;
int era_tasto ;
int ora_tasto ;
void setup() {
pinMode(11, INPUT); //tasto
pinMode(2, OUTPUT); //relè
pinMode(A0, INPUT); //potenziometro
era_tasto = digitalRead(11);
}
void loop() {
digitalWrite(2, LOW);
potenziometro = analogRead(A0);
millisecondi = map(potenziometro, 0, 1023, 50, 700);
ora_tasto = digitalRead(11);
if (era_tasto =! ora_tasto) {
tempo();
}
ora_tasto = digitalRead(11);
}
void tempo()
{
digitalWrite(2, HIGH);
delay(millisecondi * 10 );
}
Grazie mille