Estoy usando placa de motor quadstepper de Sparkfun :
con Arduino Uno / Leonardo. Actualmente puedo manejar motores al mismo tiempo, pero no puedo cambiar la velocidad por separado.
Uso este código para los motores de accionamiento:
void oneStep(int STEP_PIN, int delay_velocity) {
digitalWrite(STEP_PIN, HIGH);
delayMicroseconds(delay_velocity);
digitalWrite(STEP_PIN, LOW);
delayMicroseconds(delay_velocity);
}
Pero si en mi bucle principal tengo algo como:
void loop() {
oneStep(6, 100);
oneStep(8, 600);
}
los motores funcionan con la misma velocidad.
Creo que esto podría tener sentido porque delayMicroseconds
está bloqueando la función, por lo que, en mi humilde opinión, la manera de hacer que funcionen con diferente velocidad debería estar pensando en alguna función concurrente, pero no soy un gurú con microcontroladores, así que no sé Muy bien como manejar esto. ¿Alguna ayuda?