Arduino: Servos de Rotación Continua

duemilanove

Extisten diferentes opciones para el desplazamiento de robots: Motores Paso a Paso, Motores DC, Servos de Rotación Contínua…

En nuestro caso hemos utilizado los Servos de Rotación Contínua dado que poseen su propia circuitería y permiten ser utilizado directamente con cualquier microcontrolador por PWM sin necesidad de componentes externos.

Conectaremos la señal de cada Servo a un Pin PWM (9 y 10 en el ejemplo), utilizando el siguiente Código:

#define SERVO1 9
#define SERVO2 10
#define CEN 0

void setup()
{
}

void loop()
{
throttle(100,-100);
}

// Maneja el avance o retroceso, recibe la velocidad desde -100 a 100 %
void throttle(int Mot1, int Mot2)
{
  analogWrite(SERVO1,(Mot1> CEN || Mot1<-CEN) ? map(-Mot1,-100,100,135,225):0);
//Giro al contrario
  analogWrite(SERVO2,(-Mot2> CEN || -Mot2<-CEN) ? map(Mot2,-100,100,135,225):0);
}