variabile non si incrementa

MauroTec:
Il mancato conteggio dipende proprio dalla if(... return;
Si può usare return per impedire la prosecuzione di una funzione e infatti loop è proprio una funzione,
e il mancato funzionamento dipende proprio dal fatto che return ritorna al chiamante, il quale chiama nuovamente

Appunto, era del tutto inutile. Esci a quello che aveva chiamato loop, che nell'ambiente Arduino è il vero main che c'è dietro. E cadi in un loop infinito for(;:wink: che rilancia il loop.