
Controlar un servomotor con un potenciómetro: Tutorial paso a paso
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 nuestra tienda online.
- Placa Arduino (Para este tutorial usaremos Arduino Uno) – Ver en la tienda
- Servomotor – Ver en tienda
- Potenciómetro de 10k Ω – Ver en tienda
- Cables puente – Ver en tienda
- Cables de macho a hembra – Ver en tienda
¿Qué es un 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?
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
- 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
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
3. Si combinamos el servomotor y el potenciómetro nos tiene que quedar un circuito así:
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?
edu
🤢