Holaaaa! estoy armando un proyecto donde necesito mover 3 servos a diferentes velocidad independiente uno de otro.
Hasta ahora se mueven los 3 juntos pero a la misma velocidad.
¿Cómo debería modificar el código para poder variar las velocidades de cada uno de los servos de forma independiente? ya trasnoche demasiado sin lograrlo jajaj
¡¡¡¡¡Gracias!!!
#include <Servo.h>
const unsigned long TIEMPO_INCREMENTO = 20;
const int ANGULO_MINIMO = 0;
const int ANGULO_MAXIMO = 180;
const int PIN_SERVO = 9;
unsigned long instanteAnterior = 0;
int angulo = ANGULO_MINIMO;
int incremento = -1;
Servo servo1;
int PINSERVO = 2;
int PULSOMIN = 650;
int PULSOMAX = 2600;
Servo servo2;
int PINSERVO2 = 3;
int PULSOMIN2 = 650;
int PULSOMAX2 = 2600;
Servo servo3;
int PINSERVO3 = 4;
int PULSOMIN3 = 650;
int PULSOMAX3 = 2600;
void setup() {
servo1.attach(PINSERVO, PULSOMIN, PULSOMAX);
servo2.attach(PINSERVO2, PULSOMIN2, PULSOMAX2);
servo3.attach(PINSERVO3, PULSOMIN3, PULSOMAX3);
}
void loop() {
unsigned long instanteActual = millis();
if( (instanteActual - instanteAnterior) >= TIEMPO_INCREMENTO ) {
instanteAnterior = instanteActual;
if ( (angulo <= ANGULO_MINIMO) || (angulo >= ANGULO_MAXIMO) )
{
incremento = -incremento;
}
angulo += incremento;
servo1.write(angulo);
servo2.write(angulo);
servo3.write(angulo);
}
}
Antes que nada, no está permitido por las reglas del foro poner Ayuda en el asunto del tema, por favor editalo.
Vamos al problema.
Yo definiría TIEMPO_INCREMENTO (con tiempos distintos, obviamente), instanteAnterior, incremento y angulo, para cada servo (le agregas un numero como hiciste con cada pinservo, por ej.)
Y haría una comparación para cada servo.
Intenta hacerlo solo (es de lo más simple, copias, pegas y pones el número correspondiente a cada servo donde haga falta).
Saludos
Pd: te sugiero que a las variables asociadas a servo1 les agregues el 1 así evitas confusiones y seguís la regla que usaste para los otros 2 (que les pusiste 2 y 3).
Tené en cuenta que los nombres de variables van en minúsculas y solo las constantes en mayúsculas, así todos entendemos mejor.