MOVIENDO UN SERVOMOTOR CON UN POTENCIÓMETRO

Utilizando un potenciómetro, guiaremos el movimiento de un servomotor.    

  1. ¿Qué es un potenciómetro?
  2. Circuito: Cómo conectar un servomotor a Arduino
  3. Programación con Mblock
  4. Programación con Arduino IDE

1.  ¿Qué es un potenciómetro?

Un potenciómetro es una resistencia variable cuyo valor podemos cambiar de forma mecánica.

Si conectamos el potenciómetro a la placa Arduino, éste recibe una corriente de 5V. Conectando la patilla central a una entrada analógica, al realizar la lectura obtendremos la señal que resulta tras aplicar la resistencia a la corriente inicial. Podemos variar esta resistencia moviendo mango del potenciómetro.

2. Circuito: Cómo conectar un potenciómetro a Arduino

Para realizar esta práctica necesitaremos el siguiente material

Conectar potenciómetro y servomotor a Arduino

Conectamos el servomotor a un pin digital 8 de la placa Arduino y el potenciómetro a la entrada analógica A0.

¡Ya sólo nos queda programar! Para programar la placa Arduino puedes utilizar diferentes lenguajes. Nosotros nos vamos a centrar en dos opciones

  • MBlock – programación basada en bloques
  • Arduino IDE – programación basada en líneas de código

3.  Programación con Mblock

Para resolver esta práctica, debemos realizar la lectura de la entrada analógica A0,k donde está conectado el potenciómetro, y posicionar el motor en el ángulo correspondiente.

El primer paso es configurar la tarjeta, sigue los pasos que te indicamos en «Mblock: primeros pasos«  Una vez configurada la tarjeta comenzamos con la programación.

El potenciómetro nos enviará una señal entre 0 y 1023, pero el motor sólo se puede mover entre los ángulo 0 y 180º. Es preciso realizar un cálculo proporcional para obtener el ángulo que podemos enviar al servomotor. Recuerda que para mover el motor tienes un bloque específico dentro de la sección pines.

Para comprobar el resultado, pulsa la bandera verde y mueve el potenciómetro por el mango o con ayuda de un destornillador.

Pulsa en la bandera verde y comprueba el resultado.

4.  Programación con Arduino IDE

Vamos a realizar el mismo programa, utilizando líneas de código con Arduino IDE El primer paso es configurar la tarjeta, sigue los pasos que te indicamos en «Arduino IDE: primeros pasos«. Una vez configurada la tarjeta comenzamos con la programación. Recuerda que al trabajar con código debemos respetar la sintaxis: Cuidado con las letras mayúsculas y minúsculas y con los signos de puntuación. ¡Son importantes!.

En este caso, para calcular la proporción entre la señal aportada por el potenciómetro, y el ángulo del servomotor, utilizaremos la instrucción «map».

#include <Servo.h>

int angulo;
int potenciometro;

Servo myServo;                        // crea el objeto servomotor

void setup(){
   myServo.attach(8);                // asigna el pin 8 al servo
}

void loop(){

   potenciometro=analogRead(A0);   // lee la señal del potenciómetro
   angulo=map(potenciometro, 0, 1023, 0, 179); // mapea la señal de 0 a 179
   myServo.write(angulo);          // mueve el servomotor
   delay(15);

}


Pulsa en el icono subir, y comprueba el resultado moviendo el potenciómetro por el mango o con ayuda de un destornillador