Ayuda con proyecto motor stepper!!

Hola a todos!...

Estoy trabajando en un proyecto mas bien llamado láser show, estoy programando Arduino UNO para funcionar con dos motores stepper a través de dos ULN2003, en arduino solo uso 3 pines por cada motor los cuales están armados como tales galvos...

El problema es el siguiente por ej tengo armado el código para darle forma al láser, pero lo que quiero lograr es que a través de un botón al presionar cambie a otro código diferente (forma).

el proyecto consta de estos códigos:

int motorPin1 = 8;
int motorPin2 = 9;
int motorPin3 = 10;
int motorPin4 = 11;
int motorPin5 = 12;
int motorPin6 = 13;
int delayTime = 50;

void setup() {
  pinMode(motorPin1, OUTPUT);
  pinMode(motorPin2, OUTPUT);
  pinMode(motorPin3, OUTPUT);
  pinMode(motorPin4, OUTPUT);
  pinMode(motorPin5, OUTPUT);
  pinMode(motorPin6, OUTPUT);
  
}

void loop() {
  digitalWrite(motorPin1, HIGH);
  digitalWrite(motorPin2, LOW);
  digitalWrite(motorPin3, LOW);
  digitalWrite(motorPin4, HIGH);
  digitalWrite(motorPin5, LOW);
  digitalWrite(motorPin6, LOW);
  delay(delayTime);
  digitalWrite(motorPin1, LOW);
  digitalWrite(motorPin2, LOW);
  digitalWrite(motorPin3, HIGH);
  digitalWrite(motorPin4, HIGH);
  digitalWrite(motorPin5, LOW);
  digitalWrite(motorPin6, LOW);
  delay(delayTime);
  digitalWrite(motorPin1, LOW);
  digitalWrite(motorPin2, LOW);
  digitalWrite(motorPin3, HIGH);
  digitalWrite(motorPin4, LOW);
  digitalWrite(motorPin5, LOW);
  digitalWrite(motorPin6, HIGH);
  delay(delayTime);
  digitalWrite(motorPin1, HIGH);
  digitalWrite(motorPin2, LOW);
  digitalWrite(motorPin3, LOW);
  digitalWrite(motorPin4, LOW);
  digitalWrite(motorPin5, LOW);
  digitalWrite(motorPin6, HIGH);
  delay(delayTime);
}

Alguien por favor podría darme una mano?

Tienes que estudiar lo que es una "function"
Es decir, trozos de código que llamas a voluntad por el método que quieras.
Es como varios programas en uno solo.

Jopapa
www.jopapa.me

mirate la libreria stepper que viene con el IDE ,te simplificara el codigo y te facilitara la programacion:

Por dios!! estas muy novato y no es para ofender.
Detente un instante. Mira los ejemplos, estudialos bien porque te serán de ayuda. Comprende cosas como Blink y blink sin delay, uso de serial, manejo de stepper, y demás ejemplos disponibles en el IDE.
Veras tambien como llamar funciones y rutinas, que diferencias hay entre ellas.
Luego recomienza esta idea y lo harás con mejor base.

Ahora tienes una mezcla de mucho internet y muchos códigos que crees entender pero lo que presentaste es sumamente confuso.
Acepta el consejo de jopapa, jose y mio.

Saludos
Aportando un poco, el ULN2003 solo soporta 0,5 A, tienes que ver cuanto consumen tus motores, en mis inicios, tambien use un ULN2003 con estos motores y queme como 5 , ya que no soportaban el freno del motor.

Si había que moverlo continuamente funcionaba, pero para que estuviesen quietos en la ultima posición no se podía porque quemaba los ULN2003, por eso use Mosfet Canal N al final.

Gracias a sus comentarios, tendré en cuenta lo que me dijeron. veré mas ejemplos y estudiarlo un poco mas.

Respondiendo al comentario de #max_saeta, siempre use ULN2003 en antiguos proyectos de láser sin arduino y nunca se quemaron pero voy a estudiar esa parte.