nid69ita:
Io avevo messo 100 come delay, delay(100); // per debounce dei pulsanti
Il problema di base è il debounce o rimbalzo del pulsante. Quando lo premi una volta in realtà (non sempre) lo premi più volte a causa del contatto elettrico. Se cerchi nel forum o su internet trovi parecchie spiegazioni e rimedi software e hardware.Per le resistenze ai led, non servono per far funzionare il programma ma per non bruciare i led.
Poi non ho capito, se premi un pulsante di seguito esempio l'1 certo che var diventa zero, è come se premessi 1 e poi invece della seuenza stabilita 1 e poi 2 !?!
Onestamente non conoscevo il problema del rimbalzo dei pulsanti e mi hai insegnato un'altra cosa nuova.Grazie mille!
Tu lo avevi inserito solo dopo l'else, ma dopo varie prove l'ho inserito sotto ogni if e di 200 delay(200) e questo problema sembra risolto.
Grazie anche per il consiglio riguardo ai led, dove ho messo una resistenza di 220.
Io vorrei fare in modo che ogni volta che si prema il primo tasto la variabile vada ad 1 e non so se tecnicamente è corretto, ma ho risolto sostituendo il primo if con questi 3: if(var==0) var=1; else var=1; if(var==1) var=1; else var=1; if(var==2) var=1; else var=1; e funziona!