No se que motor estas usando, cuando presentes un problema en un foro técnico debes aportar toda la información posible, más aún cuando confiesas ser novato.
Entonces hay cosas que das por que estan bien y no lo estan.
Un motor paso a paso como mínimo se mueve con dos pines, uno de dirección y otro de pasos.
Solo veo en tu código el de pasos. supongamos que siempre sea igual, pero acaso nunca lo debes regresar? Pregunta 1.
Mira este hilo de Luis Llamas, tal vez no sea tu caso y tal vez uses un L298 o un L293
intenta dar precisiones.
Tienes la librería step que hace mucho y de manera muy facil.
Busca en Google: Arduino motor paso a paso para ver tutoriales y guias.
Acá otra guia