Control de motores en arduino (Servomotor y motor a pasos)

Soy nueva en esto y estoy tratando de unir un par de códigos para que mis motores (Servomotor y motor a pasos) trabajen simultáneamente.

A continuación les dejo mi código:

#include <Servo.h>

Servo myservo; // crea el objeto servo

int pos = 0; // posicion del servo

int IN1 = 8; // pin digital 8 de Arduino a IN1 de modulo controlador
int IN2 = 9; // pin digital 9 de Arduino a IN2 de modulo controlador
int IN3 = 10; // pin digital 10 de Arduino a IN3 de modulo controlador
int IN4 = 11; // pin digital 11 de Arduino a IN4 de modulo controlador
int demora = 20; // demora entre pasos, no debe ser menor a 10 ms.

void setup() {

Serial.begin(9600);
pinMode(IN1, OUTPUT); // todos los pines como salida
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);

myservo.attach(2); // vincula el servo al pin digital 9

}

void loop() {

for (pos = 0; pos <= 90; pos += 1) //aqui empieza el servomotor

{
myservo.write(pos);
delay(10);
}
delay(5000);
for (pos = 90; pos >= 0; pos -= 1)

{
myservo.write(pos);
delay(10);
}Aqui termina

for (int i = 0; i < 128; i++) // aqui empieza el motor a pasos
{
digitalWrite(IN1, 0); // paso 1
digitalWrite(IN2, 0);
digitalWrite(IN3, 0);
digitalWrite(IN4, 1);
delay(demora);

digitalWrite(IN1, 0); // paso 2
digitalWrite(IN2, 0);
digitalWrite(IN3, 1);
digitalWrite(IN4, 0);
delay(demora);

digitalWrite(IN1, 0); // paso 3
digitalWrite(IN2, 1);
digitalWrite(IN3, 0);
digitalWrite(IN4, 0);
delay(demora);

digitalWrite(IN1, 1); // paso 4
digitalWrite(IN2, 0);
digitalWrite(IN3, 0);
digitalWrite(IN4, 0);
delay(demora);
}
{
digitalWrite(IN1, LOW); // detiene por 5 seg.
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
delay(5000);
}
for (int i = 0; i < 128; i++) // 512*4 = 2048 pasos
{
digitalWrite(IN1, 1); // paso 1
digitalWrite(IN2, 0);
digitalWrite(IN3, 0);
digitalWrite(IN4, 0);
delay(demora);

digitalWrite(IN1, 0); // paso 2
digitalWrite(IN2, 1);
digitalWrite(IN3, 0);
digitalWrite(IN4, 0);
delay(demora);

digitalWrite(IN1, 0); // paso 3
digitalWrite(IN2, 0);
digitalWrite(IN3, 1);
digitalWrite(IN4, 0);
delay(demora);

digitalWrite(IN1, 0); // paso 4
digitalWrite(IN2, 0);
digitalWrite(IN3, 1);
digitalWrite(IN4, 0);
delay(demora);
} // Aqui termina el motor PAP
}

actualmente el programa trabaja por bloques (primero trabaja uno y cuando este termina empieza el otro), primero el servomotor avanza hasta 90 grados, espera 5 segundos y regresa a su posición, de igual manera el motor a pasos

Lo que espero que realice el programa es: que ambos motores empiecen a trabajar al mismo tiempo, espero su ayuda y sus consejos...

Lee el privado y edita tu post usando etiquetas para código </>