Encoder problema

analizziamo il loop

premo il button
reading diventa = 1
se reading != buttonstate (=0) quindi entro nell'if
carico lastDebounceTime
non sono ancora passati 50 ms quindi non entro nell'if

metto ledPin = ledState (=1 da dichiarazione iniziale variabili)
entro nell'if ledState==1
e click diventa = 1
lastButtonState diventa = 1 (reading=1)
caso1 quindi minutes()
vado avanti con il programma

domanda:
il debounce che effetto ha?