Ciao
Vorrei chiedervi se mi potete aiutare a trovare una soluzione per cambiare in un solo ciclo la direzione del motorino stepper.Allego codice
void motorF(){
while (n_step++<1)
{
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
while (tmp2++<Speed);
tmp2=0;
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
while (tmp2++<Speed);
tmp2=0;
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
while (tmp2++<Speed);
tmp2=0;
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
while (tmp2++<Speed);
tmp2=0;
}
n_step = 0;
}
void motorR ()
{
while ( n_step++<1)
{
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
while (tmp2++<Speed);
tmp2=0;
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
while (tmp2++<Speed);
tmp2=0;
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
while (tmp2++<Speed);
tmp2=0;
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
while (tmp2++<Speed);
tmp2=0;
}
n_step = 0;
}
Vorrei poter cambiare direzione con una soluzione più elegante magari giocando sui bit ( 4 bit) e caricarli sulla porta
qualche idea ? ![]()
Grazie mille in anticipo