DUDA CON ULN2003 Y 28BYJ

Hola a todos, gracias por ayudarnos a lo que estamos empezando.

Necesito manejar un motor 28BYJ que funcione en ambos sentidos con un potenciometro de 10 kas y una placa dirver ULN2003, y solo consigo que lo haga en un recorrido muy corto y no se me queda parado.
Me podéis ayudar?

#include <Stepper.h> // Include the header file

// change this to the number of steps on your motor
#define STEPS 32

// create an instance of the stepper class using the steps and pins
Stepper stepper(STEPS, 8, 10, 9, 11);

int Pval = 0;
int potVal = 0;

void setup() {
 Serial.begin(9600);
 stepper.setSpeed(250);
}

void loop() {

potVal = map(analogRead(A0),0,1024,0,500);
if (potVal>Pval)
 stepper.step(5);
if (potVal<Pval)
 stepper.step(-5);

Pval = potVal;

Serial.println(Pval); //for debugging
}

De entrada ,la velocidad que le has puesto es exagerada.Esos motores tienen mucha reduccion y no creo que puedas llevarlos mucho mas alla de las 15 rpm.Tampoco me queda claro como debe funcionar,segun vas girando el potenciometro debe ir avanzando x pasos?o debe mantener una velocidad proporcional a giro del potenciometro?o…

Jose gracias por contestar . La idea es que siempre tenga el mismo punto inicial y pueda con el potenciometro moverlo en un sentido a una velocidad proporcional y retroceder si hace falta, pero siempre hasta el punto inicial prefijado. Ahora consigo que se desplace en un sentido, y que retroceda, pero no se queda en el punto que estaba, no se si me explico.

Bajare las rpm, gracias por aclarármelo. A lo mejor debería de usar en vez de un potenciometro pulsadores. La idea es añadirle , sin funciona un display para que indique en el punto que se encuentra.Si lo hago andar claro. Gracias de nuevo