Saltar la navegación

Dos servo consecutivos

Dos servo consecutivos

//Modificaciones by www.sacosta.org a partir de Sweep
#include <Servo.h>

Servo myservo1; // creamos objeto Servo1
Servo myservo2; // creamos Servo2
int pos1 = 0;// variable donde almacenamos la posición
int pos2=0;
int angulo_paso1=1;
int angulo_paso2=2;//variable donde almacenamos el número de grados de cada paso, susceptible de ser modificada por bluetooth u otros mecanismos.
int espera_paso1=25;
int espera_paso2=50;//variable donde almacenamos el tiempo, en milisegundos, que transcurre entre paso y paso
void setup()
{
myservo1.attach(9); // número del pin de arduino donde conectamos el cable de control del servo
myservo2.attach(10);
}

void loop()
{
for(pos1 = 0; pos1 < 180; pos1 += angulo_paso1) // va de 0 a 180º, la variable angulo_paso1 marca los grados de cada salto
{
myservo1.write(pos1);// dice al servo1 que vaya a la posición marcada por la variable 'pos1'
delay(espera_paso1); // espera los milisegundos que le indica la variable 'espera_paso1'
}
for(pos2 = 0; pos2 < 180; pos2 += angulo_paso2) // va de 0 a 180º, la variable angulo_paso2 marca los grados de cada salto
{
myservo2.write(pos2);// dice al servo2 que vaya a la posición marcada por la variable 'pos2'
delay(espera_paso2); // espera los milisegundos que le indica la variable 'espera_paso2'
}
for(pos1 = 180; pos1>=1; pos1-=angulo_paso1) // va de 180º a 0º
{
myservo1.write(pos1); // dice al servo1 que vaya a la posición marcada por la variable 'pos1'
delay(espera_paso2); // espera los milisegundos que le indica la variable 'espera_paso1'
}
for(pos2 = 180; pos2>=1; pos2-=angulo_paso2) // va de 180º a 0º
{
myservo2.write(pos2);// dice al servo que vaya a la posición marcada por la variable 'pos2'
delay(espera_paso2); // espera los milisegundos que le indica la variable 'espera_paso2'
}
}