That code will surely work, but I think it could be a little "intimidating" for a newbie.
Try to "read" this one instead. It is everithing you need to turn your opti wheel into a mouse:
(I am at the phone, so please give me some time to clean it...)
/*Controller per encoder ottici arcade (volanti, spinner, trackball etc).
Lo sketch traduce movimenti dell'encoder ottico in movimenti del mouse.
Funziona solo con Arduino Micro, Leonardo, Pro Micro, DUE.
Lo sketch identifica la variazione di stato del pin A e la compara con lo stato del Pin B (1X counting).
NOTA: gli spinner Taito necessitano di una resistenza di 10KOhm fra pinA e massa e fra pinB e massa.
Testato su volante ottico "MIMO", spinner Taito con switch
Connessioni: optical encoder arduino out A pin 2 out B pin 3 Vcc 5V Gnd Gnd
by Barito, 2016-2018 */
#include <Mouse.h>
bool optA_state;
int xAxisMov = 2;
void setup() {
pinMode (2,INPUT_PULLUP); //OptA
pinMode (3,INPUT_PULLUP); //OptB
optA_state = digitalRead(2);
Mouse.begin();
}
void loop() {
if (digitalRead(2) != optA_state){
optA_state=!optA_state;
if (optA_state == HIGH){
if(digitalRead(3) == LOW){
Mouse.move(-xAxisMov, 0, 0);}
else{Mouse.move(xAxisMov, 0, 0);}
} }
}//loop end