Tutorial
Arduino - control de un servomotor con un potenciómetro
Hoy escribí un pequeño código para controlar Servo usando
Arduino.
La idea es que conectemos el potenciómetro a la tarjeta y al
Servo. El trabajo del potenciómetro es controlar la posición del Servo a medida
que lo giramos.
El potenciómetro está conectado al pin analógico 0 en la
tarjeta, leerá el valor (valor que va de 0 a 1023) y lo traducirá en grados
para controlar el servo.
De acuerdo, el Servo necesita 5 voltios para funcionar, el
potenciómetro tiene tres pines, el que está a la izquierda está conectado a + 5
V, el derecho a tierra y, finalmente, el central va a un nivel análogo de 0. La
forma en que trasladamos el voltaje a la posición es de esta manera Sabiendo
que el valor de cualquier sensor analógico va de 0 a 1023 y que el voltaje de
salida es de + 5V, lo que se hace es dividir esos 5 voltios en 1023 partes
iguales, de modo que el pin analógico lea los valores de 0 al 1023, el código
que cargamos en la tarjeta traduce esos valores de 0 a 1023 en grados (0 ° a
180 °), luego esta señal se envía al pin 9 que tiene capacidad PWM y emite esa
señal regulada al servocontrolador. lo que hace que El Servo se mueva de
derecha a izquierda.
Ahora para hacer todo más fácil el esquema
Necesitaremos:
Un potenciómetro de 100k Ohm.
Un Servo estándar de 180 ° o incluso una rotación continua
(360 °) y juega con los valores del código para mover el Servo cuántos grados
queremos y en la dirección que queremos.
#include <Servo.h>
Servo ServoJimmy; //Declaramos que queremos controlar un
Servo, al cual le vamos a poner un nombre cualquiera
int pot = 0; //El pin análogo donde va conectado el
Potenciómetro
int val; //El valor a leer por el puerto análogo
void setup()
{
ServoJimmy.attach(9); //El pin al cual conectaremos nuestro
Servo
}
void loop()
{
val = analogRead(pot); //Aquí le decimos que lea el valor
del potenciómetro, valor el cual oscila entre 0 y 1023
val = map(val, 0 ,1023, 0, 180); //Traduce la lectura análga
(0, 1023) a grados (0°, 180°)
ServoJimmy.write(val); //Mueve el Servo según la lectura
análoga
delay(15);
}
https://ingenieriaiktronic.com/inicio/programacion-de-arduino-uno/
https://www.youtube.com/channel/UCzBXEhHoYyEJ4thHs3EdJbA
si quieres aprehender mas has clic aquí: