Relè temporizzato dopo il rilascio del pulsante

Ci sono tre tipi di temporizzatore retriggerabile:

Timer ritardato sia all'attacco che al rilascio (uso debounce)

if(tIn == tOut) t = millis(); else if(millis() - t >= RITARDO) tOut = tIn;

Timer T-ON, ritardato all' attacco (uso sequenze/automazioni)

if(!tIn) { t = millis(); tOut = 0; } else if(millis() - t >= RITARDO) tOut=1;

Timer T-OFF, ritardato al rilascio (uso "luci scale")

if(tIn) { t = millis(); tOut = 1; } else if(millis() - t >= RITARDO) tOut=0;

'tIn' è la variabile di comando del timer (1=comando attivo)
'tOut' è l'uscita del timer (1=attiva)

Il programma si riduce a:

  • leggere il pulsante assegnando a 'tIn' il valore 1 quando il pulsante è premuto
  • eseguire la riga del timer
  • scrivere sull'uscita il valore che attiva il relè se l'uscita del timer è 1, o il valore che lo disattiva se l'uscita del timer è 0

Etemenaki:
Comunque, se e' il primo caso, forse puo funzionare cosi (da provare, e nel caso adattare)

Metti a posto le digitalRead :wink: