Arduino.. motor de passo

Estou adquerido um motor de passo 23HS5628. Eu tenho uma PONTE H L298N. Qual vai ser a maior dificuldade de controlar motor com ponte h com arduino, e não com driver TB6600 por exemplo.

Se for devagarinho. Nada. Agora um driver de motor de passo e bem melhor. Pode fazer passos menores, controlar melhor corrent/tensão .

alguém sabe como eu posso colocar um comando que volta o motor, para ponto de inicio e deixe ele até (if) ser executado de novo! No exemplo abaixo na linha do else?

byte HOR[4] = {0x09,0x03,0x06,0x0C}; // Matriz dos bytes das Fases do Motor - sentido Horário Full Step
byte AHO[4] = {0x0C,0x06,0x03,0x09}; // Matriz dos bytes das Fases do Motor - sentido Anti-Horário Full Step
int atraso_fase = 2 ; // Intervalo de tempo entre as fases em milisegundos - min 2 para Full Step
int intervalo = 1000 ; // Intervalo de tempo entre os movimentos do motor em ms

void Motor_AHO() // Movimento no sentido anti-horário
{
for(int i = 0; i < 512; i++) // incrementa o contador i de 0 a 511 - uma volta

for(int j = 0; j < 4; j++) // incrementa o contador j de 0 a 3
{
PORTB = AHO[j]; // Carrega bytes da Matriz AHO na Porta B
delay (atraso_fase); // Atraso de tempo entre as fases em milisegundos
}
}

void Motor_HOR() // Movimento no sentido horário
{
for(int i = 0; i < 512; i++) // incrementa o contador i de 0 a 511 - uma volta

for(int j = 0; j < 4; j++) // incrementa o contador j de 0 a 3
{
PORTB = HOR[j]; // Carrega bytes da Matriz HOR na Porta B
delay (atraso_fase); // Atraso de tempo entre as fases em milisegundos
}
}

void setup()
{
******.begin(9600);

pinMode(A0, INPUT);
pinMode(A1, INPUT);
DDRB = 0x0F; // Configura Portas D08,D09,D10 e D11 como saída
PORTB = 0x00; // Reset dos bits da Porta B (D08 a D15)
}

void loop()
{
******.println(“luz A0”);
******.println(analogRead(A0));
******.println(“luz A1”);
******.println(analogRead(A1));
if (analogRead(A0) < 500) {
Motor_HOR(); // Gira motor no sentido Horário
delay (intervalo); // Atraso em milisegundos
} else {

}
if (analogRead(A1) < 500) {
Motor_AHO(); // Gira motor no sentido Anti-Horário
delay (intervalo); // Atraso em milisegundos
} else {

}
}

não entendi a pergunta