Cajun Crawler

Arduino: Servos de Rotación Continua

  • March 15, 2009
  • cybercaronte
  • 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);
    }

Algunas figuras geeks que todos querríais tener ;)