DIGITALREAD() - ignorare salti brevi

E' possibile ignorare il cambio di stato di un input se questo non avvenga per un periodo di tempo determinato?

Ad esempio se l'input non cambia per 1000 ms non viene considerato.

Ma senza bloccare il codice in un loop di controllo.

Certo, usando la funzione millis() che NON è bloccante ed agire solo se lo stato del pin di ingresso rimane stabile per X tempo.

Guglielmo

Non riesco a capire come usarla senza usare un loop di controllo.

Salvare il momento iniziale di cambio di stato e, in continuazione, nel girare del loop() verificare se è passato il tempo voluto, senza mai fermarsi ...

Guglielmo

Ok, con una variabile globale.

Chiaro. Grazie