mi motor de pasos no consigo que vuelva para nueva funcion

hola comunidad estoy trabado en un proceso de funcion con mi motor de pasos no consigo que vuelva solo a cero para empezar la nueva función a sentido contrario y volver a cero , creo que el sensor inductivo pnp me traba la función , la función es posición cero lo detecta un sensor gira izquierda cantidad de pasos activa relé vuelve a cero desactiva relé detecta sensor gira derecha activa rele gracias por sus sugerencias ; adjunto librería

int Stepping = false;

void setup() {
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
digitalWrite(8, LOW);
digitalWrite(9, LOW);

pinMode(10,INPUT); // sensor inductivo pnp
pinMode(7,OUTPUT); // rele
digitalWrite(7, HIGH);

}

void loop() {
if (digitalRead(10) == HIGH && Stepping == false)
{
Stepping = true;
}

if (Stepping == true)
{
digitalWrite(9, HIGH);
delay(1);
digitalWrite(9, LOW);
delay(1);

StepCounter = StepCounter + 1;// grabar este paso

// Verifica si estamos al final de nuestro movimiento

if (StepCounter == DISTANCE)
{
// ¡Estamos! Dirección inversa (invertir la señal DIR)
if (digitalRead (8) == LOW)

{
digitalWrite (8, HIGH);
digitalWrite(7, HIGH);
}
else
{
digitalWrite (8, LOW);
digitalWrite(7, LOW);

}
StepCounter = 0;
Stepping = false;
}
}
}

Lee las Normas del foro y edita tu post[/b]