Proyecto 12 Servo

1. Descripción

Este servo cuenta con alto rendimiento y alta precisión con un ángulo máximo de rotación de 180°. Con un peso de solo 9g, es perfectamente adecuado para cualquier dispositivo mini en múltiples ocasiones. Además, disfruta de un tiempo de arranque corto, bajo ruido y gran estabilidad.

2. Principio de Funcionamiento

Rango de ángulo: 180° (360°, 180° y 90°)

Voltaje de alimentación: 3.3V o 5V

Pin: Tres cables

GND: Tierra (marrón)

VCC: Un pin rojo que se conecta a una fuente de +5V (3.3V)

S: Un pin de señal naranja controlado mediante señal PWM

Principio de Control: El ángulo de rotación se controla mediante el ciclo de trabajo del PWM. Teóricamente, el ciclo estándar de PWM es de 20ms (50Hz), por lo que el ancho del pulso debe distribuirse entre 1ms y 2ms. Sin embargo, el ancho real del pulso alcanza de 0.5ms a 2.5ms, lo que corresponde a 0° a 180°. Preste atención a que, para la misma señal, el ángulo de rotación puede variar según la marca del servo.

3. Diagrama de Conexiones

Agregue una fuente de alimentación externa en lugar de usar solo USB para la alimentación.

4. Código de Prueba

int servoPin = 4;//servo PIN

void setup() 
{
  pinMode(servoPin, OUTPUT);//servo pin is set to output
}

void loop() 
{
  for(int i = 0 ; i <= 180 ; i++) 
  {
   servopulse(servoPin, i);//Set the servo to rotate from 0° to 180°
  delay(10);//delay 10ms
  }
  for(int i = 180 ; i >= 0 ; i--) 
  {
   servopulse(servoPin, i);//Set the servo to rotate from 180° to 0°
  delay(10);//delay 10ms
  }
}

void servopulse(int pin, int myangle) 
{ //Impulse function
  int pulsewidth = map(myangle, 0, 180, 500, 2500); //Map Angle to pulse width
  for (int i = 0; i < 10; i++) 
  { //Output a few more pulses
    digitalWrite(pin, HIGH);//Set the servo interface level to high
    delayMicroseconds(pulsewidth);//The number of microseconds of delayed pulse width value
    digitalWrite(pin, LOW);//Lower the level of servo interface
  }
}

5. Resultado de la Prueba

Después de conectar el cableado y cargar el código, el servo comienza a rotar de 0° a 180° y luego en sentido inverso.