Tiempo de delay definido por el usuario en un motor a pasos-

Buenos dias, soy nuevo en esto del arduino y tal vez la respuesta a mi
duda sea sencilla sin embargo no se como resolverla...
¿Como puedo obtener del monitor serial un valor ingresado por el usuario
para que sea el tiempo de respuesta entre cada paso de mi arduino?
Este es mi codigo:

#include <Stepper.h> //Importamos la librería para controlar motores paso a paso

#define STEPS 200 //Ponemos el número de pasos que necesita para dar una vuelta. 200 en nuestro caso

// Ponemos nombre al motor, el número de pasos y los pins de control
Stepper stepper(STEPS, 8, 9, 10, 11); //Stepper nombre motor (número de pasos por vuelta, pins de control)

void setup()
{
// Velocidad del motor en RPM
stepper.setSpeed(2);
Serial.begin(9600);
}

void loop()
{
char cargas = Serial.read();
int my=0;
//char time = Serial.read();

switch(cargas)
{
case '1':
for(my=0;my!=1;my++)
{
stepper.step(2);
delay(500);
}
break;

case '2':
for(my=0;my!=2;my++)
{
stepper.step(2);
delay(500);
}
break;

case '3':
for(my=0;my!=3;my++)
{
stepper.step(2);
delay(500);
}
break;
case '4':
for(my=0;my!=4;my++)
{
stepper.step(2);
delay(500);
}
break;
case '5':
for(my=0;my!=5;my++)
{
stepper.step(2);
delay(500);
}
break;
}
}

vueltas_controladas_motor_a_pasos.ino (1.12 KB)

Hola,

mirate los ejemplos de serial.read y sobre todo lo de "blink without delay" para evitar delay. cuando avanzes más, te enterarás porque.

Es mejor aprender así en vez de pegar codigo hecho por otro. Hazlo paso a paso, y al final combinas todo. No intentes integrarlo directamente en tu código, resultará muy lioso si aún no tienes los correspondientes conocimientos.

En los posts se pone el código entre los "code tags", para que aparezca así
aquí tu código