Saltar al contenido
Debido a la contingencia, las paqueterías están saturadas y los envíos pueden tardar un poco más de lo habitual. Agradecemos su comprensión.
Debido a la contingencia, las paqueterías están saturadas y los envíos pueden tardar un poco más de lo habitual. Agradecemos su comprensión.
Empezando con Arduino - 5B: Servo

Empezando con Arduino - 5B: Servo

Proyecto 5: Robot

Circuito 5B: Servo

En esta práctica aprenderemos a utilizar un Servomotor y a programarlo para realizar ciertos recorridos y a controlarlo con otros componentes. 

Para la serie de proyectos Empezando con Arduino, estamos utilizando este kit. Podrás contar con todos los componentes necesarios para todas las prácticas de esta serie si adquieres el kit. De lo contrario, podrás realizar las prácticas con la lista de materiales a continuación: 

Materiales: 

Paso 1:

Hacer las conexiones indicadas en el diagrama de conexión mostrado en la Figura 1.

Figura 1: Esquemático de conexiones.
Figura 1: Esquemático de conexiones

 

NOTA: En general, la alimentación a los servos se realiza desde una fuente de voltaje externo (una batería o fuente de alimentación) a una tensión de 5V-6.5V. El Arduino nos puede llegar a proporcionar la corriente suficiente para encender un servo pequeño (como el SG90) pero no para uno grande, ya que podríamos dañar tanto los servos como la tarjeta Arduino. 

Paso 2:

El IDE  de Arduino nos da la ventaja de poder usar la librería "Servo.h", con la cual podemos hacer mucho más sencilla la programación de estos. 

NOTA: La comunicación de la posición deseada se realiza mediante la transmisión de un señal pulsada con periodo de 20ms. El ancho del pulso determina la posición del servo. 

El rango depende del modelo del servo. En general, en todos los modelos: 

  • Un pulso entre 500-1000 us corresponde con 0º. 
  • Un pulso de 1500 ms corresponde con 90º (punto neutro) 
  • Un pulso entre 2000-2500us corresponde con 180º. 

Para probar nuestro servo, realizaremos un código que haga que nuestro motor vaya de 0° a 180° y de 180° a 0°, en pequeños movimientos de 1° hasta alcanzar el rango y regresar. Como se muestra en el código de la Figura 2. 

Figura 2: Código para mover servo de 0° a 180° y de 180° a 0°.
Figura 2: Código para mover servo de 0° a 180° y de 180° a 0°.

 

Paso 3:

Cargar el programa a nuestra tarjeta Arduino y ver los resultados.

Figura 3: Servo funcionando.
Figura 3: Servo funcionando

 

Paso 4:

Hacer las conexiones indicadas en el diagrama de conexión mostrado en la Figura 4. 

NOTA: Es importante conectar los componentes a la misma fuente ya que si no lo hacemos podríamos dañar nuestros componentes y la tarjeta Arduino. 

Figura 4: Esquemático de conexiones.
Figura 4: Esquemático de conexiones.

 

Paso 5:

Realizar el código de la Figura 5, el cual nos muestra cómo controlar la posición de nuestro servo motor utilizando la variación de un potenciómetro.

Figura 5: Código para controlar servo con un potenciómetro.
Figura 5: Código para controlar servo con un potenciómetro.

 

Paso 6:

Cargar el programa a nuestra tarjeta Arduino y ver los resultados.

 Figura 6: Servo funcionando con potenciómetro.
Figura 6: Servo funcionando con potenciómetro.

 

Artículo previo Empezando con Arduino - 5C: Motor shield
Siguiente artículo Empezando con Arduino - 5A: Motores DC