Como configurar dos velocidades distintas y por tiempo en motores a pasos

Disculpen la molestia, en la realizacion de un proyecto, tengo que hacer que un motor a pasos realice dos tipos de giro dentro de la misma programacion, es decir.
Este tiene que hacer un recorrido como de 1", y se necesita que la primera parte del recorrido avance 1/2" rapidamente, una vez finalice ese recorrido comience con la otra 1/2" de manera mas lenta.
Soy nuevo en arduino, he probado de distintas maneras y no doy, he mirado que con millis(), sin embargo no logro aplicarlo de ninguna manera (ya sea por tiempo de recorrido o por numero de pasos).
El codigo que tengo es este.
De antemano Gracias

const int stepPin = 5; 
 
void setup() {
   
  pinMode(stepPin,OUTPUT); 
     
}
void loop() { 

  for(int x = 0; x < 800; x++) 
  {
    digitalWrite(stepPin,HIGH); 
    delayMicroseconds(500); 
    digitalWrite(stepPin,LOW); 
    delayMicroseconds(500); 
  } 


  delay(1000);

  for(int x = 0; x < 800; x++) 
  {
    digitalWrite(stepPin,HIGH); 
    delayMicroseconds(3000); 
    digitalWrite(stepPin,LOW); 
    delayMicroseconds(3000); 
  } 
}

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

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.