page-title-bg2
  >  Blog   >  Controlar un servomotor con un potenciómetro: Tutorial paso a paso
Tutorial-control-servomotor

Controlar un servomotor con un potenciómetro: Tutorial paso a paso

Comparte en RRSS
 

En este proyecto lo que vamos a ver es cómo podemos controlar la posición de un servomotor con un potenciómetro. Este proyecto nos puede ser útil para controlar la dirección de un coche que construyamos o para el control de acceso de una puerta ya que podemos hacer un cierre electrónico.

¿Te animas a probarlo?

Componentes necesarios

Todos los componentes están disponibles en shop.flexbot.es

¿Qué es un Servomotor?

Servomotor

Un servomotor es un tipo especial de motor en el que se puede controlar los grados de rotación del eje.

Este tipo de motor está compuesto por un motor DC normal y corriente acoplado a una caja de engranajes. Gracias a esta caja de engranajes podemos controlar la posición que queremos que tenga el servomotor.

Los servomotores normalmente tienen tres cables, el de potencia, tierra y señal. El cable de alimentación suele ser rojo y se tiene que conectar al pin de 5V de nuestra placa Arduino, el cable de tierra suele ser de color negro o marrón y se tiene que conectar a alguno de los pines de GND de la placa Arduino y por último el cable de señal suelen ser de color amarillo o naranja y este va conectado al pin digital de la placa.

¿Qué es un potenciómetro?

Potenciómetro

Un potenciómetro es una resistencia variable que nosotros podemos controlar modificando su intensidad. Concretamente el potenciómetro que vamos a usar es lineal de 10 kΩ. Normalmente tiene 3 patillas, una es la de corriente (5V), otra la de tierra (GND) y la última ira conectada a uno de los pines analógicos de la placa Arduino (para este ejemplo usaremos al A0).

Esquema del circuito para controlar un servomotor

  1. Conectaremos el servomotor de la siguiente manera:
  • VCC (cable rojo) -> 5v
  • GND (cable marrón o negro) -> GND
  • Señal (cable amarillo o naranja)  -> D9

Tutorial-servomotor-1

2. Para el potenciómetro si ponemos las patillas mirando en contra de nosotros quedarían las conexiones de la siguiente manera:

  • VCC (pin colocado mas a la izquierda) -> 5V
  • GND (pin colocado mas a la derecha) -> GND
  • Señal (pin del centro) -> A0

Tutorial-servomotor-3

3. Si combinamos el servomotor y el potenciómetro nos tiene que quedar un circuito así:

Tutorial-servomotor-2

 

De una manera más esquemática el circuito debería verse así:

Hora de programar

Este el el código que debemos reproducir:


#include //Incluimos la libreria del motor
Servo servoMotor; // Creamos el objeto motor para poder controlarlo

int potenciometroPin = 0; // Establecemos el pin analogico para controlar el potenciometr
int val; // variable para leer los valores del potenciometro

void setup() {
servoMotor.attach(9); // establecemos el pin del motor en el pin digital 9
}

void loop() {
val = analogRead(potenciometroPin); // leemos el valor del potenciometro (valor entre 0 y 1023)
val = map(val, 0, 1023, 0, 180); // transformamos el valor del potenciometro para usarlo en el motor (valor entre 0 y 180)
servoMotor.write(val); // una vez transformado el valor, se lo mandamos al servomotor para moverlo
delay(15); // Esperamos la respuesta del servomotor
}

Puedes descargar el fichero dando click aquí.

Una vez completado todo solo queda ver el resultado final. 

¿Te ha gustado este tutorial paso a paso sobre cómo controlar un servomotor con un potenciómetro?

¡¡Sigue las novedades de Flexbot en Facebook y Twitter!!!

Post a Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.