Il problema è che quando vado a ruotare l'encoder il campionamento dei valori non è sempre lineare...
risolvi con il circuito anti debounce che ti ho postato prima.
Ho rilevato un secondo problema, quando aziono il pulsante di switch mi va a scalare il valore di un unità.
possono essere diverse le cause.
la prima può essere dovuta alla posizione dell'asse dell'encoder vicino al prossimo step che nel momento della pressione effettivamente termina la corsa e causa il problema.
la seconda può essere a dei disturbi causati dal debounce del pulsante che causa una falsa lettura dell'interrupt. quindi circuiti il pulsante con un altro anti debounce...