Sei que já resolveu o problema, mas todo mundo deixou passar um detalhe logo nos primeiros posts:
O Colega "sijoga" disse que o programa para, mas o motor não. Logo o arduino esta enviando pulsos se a entra estiver on
lpt1 esta ficando no mesmo estado como se o botão da direção estivesse precionado.
Portanto esta assim:
LPT "sinal alto" -> Arduino "pulsos" |_-_-_-_-_|
LPT "sinal baixo" -> Arduino "sinal Baixo" |_______|
A Lpt não trabalha com tipo "liga/desliga" os motores, mas sim por passos, cada pulso que sai do lpt é um passo no motor. Logo não precisa do arduino para fazer nada. Ligar diretamente como você fez soluciona.
Pode ate usar o Arduino como uma BOB, ligado entre a LPT e o driver (chip no seu caso). Basta usar o codigo:
int pino;
void setup() {
pinMode(1, INPUT);
pinMode(2, INPUT); // pinos de entrada
pinMode(3, OUTPUT);
pinMode(4, OUTPUT); // pinos de saida
}
void loop(){
for(pino=1 ; pino < 3 ; pino++)
{
if (digitalRead(pino)==HIGH)
digitalWrite(pino+2, HIGH);
else
digitalWrite(pino+2,LOW);
}
}