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.