Dubbi su debounce pulsante

Salve a tutti, ho qualche dubbio sul debounce di un pulsante... :slight_smile:
Io ho fatto una cosa del genere (prima di leggere esempi e tutorial):

void abilitazione ()
{
  if (millis() > tempopreclettura + intervalloletturapin )
  {
    statopulsante = digitalRead( pinpulsante );
    tempopreclettura = millis();
   }
   
  if ( statopulsante == HIGH && statopulsanteprec == LOW )
  {
    stato = !stato;
  }
  
  statopulsanteprec = statopulsante;
}

Poi ho letto l'esempio di Arduino... mi sembra che fondamentalmente siamo lì, mi potreste dire se il codice sopra è sbagliato? :drooling_face:
A funzionare funziona, però ogni tanto salta un impulso...

Grazie mille, e scusate per le domande stupide ma sto ancora imparando :.

Ad occhio mi pare che tu effettui la lettura solo quando è passato un determinato intervallo di tempo. In questo modo però credo che tu salti le pressioni che avvengono proprio in quell'intervallo.