Accelstepper

Al posto di quelle if potresti usare uno switch case come di seguito,

switch (state)
    {

        case 0:
            // qui il tuo codice quando state == 0
            state = 1; // switch to state 1
            break;

        case 1:
            // qui il tuo codice quando state == 1
            state = 2; // switch to state 2
            break;

        case 2:
            // qui il tuo codice quando state == 2
            state = 3; // switch to state 3
            break;

        case 3:
            // qui il tuo codice quando state == 3
            state = 0; // switch to state 0

            break;
    }

Sinceramente non capisco perché non ricominci, anzi per me non dovrebbe neanche entrare in questa if:

   if(stepper3.distanceToGo() ==0 &&(prova==2))
    {
       stepper1.move(-4000);
       prova=0;

      }

Però non riesco a seguire il codice perché ci sono varie versioni di questa lib e non so da dove l'hai presa.

Ciao.