lunes, 22 de julio de 2019

Tutorial Arduino - control de un servomotor con un potenciómetro

 https://jlizarazurocha.com/inicio/fabrica-y-disena-tu-propio-robot/


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í: