Análise de código com motor de passo, estou tentando entender o Arduino.

O problema é exatamente este, até li o script da biblioteca Stepper para entender o que ela fazia. O arduino fica ocupado com o programa enquanto o motor esta executando seus passos, isso impede que eu leia o Serial para executar alguma outra ação solicitada pelo aplicativo como a de parar o motor.

O programa até funcionou quando usei apenas o script do portão, mesmo assim a lógica realmente esta errada por conta deste detalhe de funcionamento do motor de passos. Para que funcionasse corretamente, eu deveria ter alguma peça de hardware adicional que controlasse o motor e na programação eu apenas solicitaria a ligação ou desligamento do motor, deixando que o hardware cuidasse de controlar os passos do motor. Desta forma o programa ficaria livre para atender as solicitação de comandos via Serial.