Микба, а ты вот это читал?
Из даташыта на твой энкодер:
Contact Bounce (15 RPM) ........................................................................................................
............................5 milliseconds maximum
То есть там тупые механические контакты чтоль? С дребезгом, который длится 5мс. То есть тебе надо или ждать более 5мс, а потом смотреть сигнал. Или устранять дребезг RC-цепочкой, триггером, программно или спецовой микрухой (которая, как ни странно, некий дифцит).
От обычной кнопки программно на ардуине я пробовал. В целом работает. Но это, конечно, неспортивно. Триггер или микруха -- вот настоящее решение.