Tutorial Con Arduino para Mover Un Motor DC
Tutorial Con Arduino para Mover Un Motor DC
Materiales:
Arduino
Puente h L293D
Motor Dc
Cables
Los cables rojos representan la alimentación y los negros los cables que van a tierra.
El cable verde representa el PWM
Los cables amarillos representan las entradas de el puente H, estos van conectados a los pines 2
y 3 de nuestra Arduino.
Nuestro cable verde va al pin numero 9 de nuestra arduino y representa el PWM que lo
controlaremos para aumentar o disminuir la velocidad de nuestro motor dc.
Finalmente, los cables morados representan las salidas de nuestro puente h y van conectados a
los cables de nuestro motor Dc.
En1 y En2 son nuestros enables; aquí pusimos nuestro pwm en nuestro ejemplo.
Observamos los In y los Outs que son nuestras entradas y nuestras salidas, podemos observar es
posible tener un motor al lado derecho y otro al lado izquierdo.
Finalmente tenemos los 0 v que son nuestros ground, estos van a tierra para tener una
referencia.
Nuestro void setup (){} es el que nos inicializa nuestro programa y solo se ejecuta una vez; para
este ejemplo por medio de la función pinmode asignamos a nuestros pines que son salidas
(también pueden ser entradas pero no para este ejemplo) por medio del nombre del pin que
anteriormente habíamos asignado una coma (,) y en mayúscula OUTPUT (como dijimos
anteriormente también puede ser un INPUT). Para nuestro ejemplo los pines 2,3 y 9 van a ser
salidas.
Luego podemos crear sub programas para nuestro motor, en este caso creamos void derecha(){}
y void izquierda(){}.
Derecha es el nombre que le asignamos a nuestra función, puede ser cualquier nombre como
derecha, right o lo que ustedes quieran.
Dentro de nuestros paréntesis encontramos dos int o variables, en este caso X y W en donde X
nos representara más adelante nuestra velocidad y W el tiempo que tarda el motor.
Es muy importante escribir bien la sintaxis como se muestra en el ejemplo; (int x,int w), los
errores más frecuentes es por no hacer los espacios entre un int y una variable.
Luego tenemos nuestra función digitalWrite; mucho cuidado de nuevo con la sintaxis de esta
función, el error más común es escribir el Write sin la mayúscula de la W.
Para nuestro ejemplo, asignaremos un valor HIGH y otro LOW a cada una de las entradas del
motor.
La sintaxis es la siguiente
digitalWrite(entradamotor1,HIGH);
digitalWrite(entradamotor2,LOW);
esto se hace para polarizar nuestro motor y hacer que gire hacia un lado, todo se escribe sin
espacios.
Nuestra función analogWrite al igual que digital write nos escribe un valor pero esta vez
análogo; para el caso de nuestro motor podremos poner un valor entre 0 y 255 siendo cero la
menor velocidad (quieto) y 255 la mayor velocidad.
analogWrite(pwm,x);
de nuevo sin espacios y mucho cuidado con la mayúscula de Write. Recordemos que X fue una
variable que nombranos anteriormente en nuestro subprograma void derecha(){}.
La última función que tenemos es nuestra función delay que nos representa un retardo en
milisegundos en arduino.
La sintaxis es la siguiente:
delay(w);
De esta manera hemos creado nuestro subprograma void derecha(){}, para crear vooid
izquierda hacemos exactamente lo mismo pero cambiamos nuestras variables X y W por otras
(en nuestro ejemplo Y y Z)y lo único que hacemos es cambiar nuestros digitalWrite al revés de
void derecha(){} ( los HIGH a LOW y viceversa).
Para finalizar llamamos nuestra función void loop(){} la cula nos realiza una repetición
constante de lo que le programemos.
void loop(){
derecha(250,2000);
izquierda(50,5000);
Derecha e izquierda nos llama nuestros sub programas anteriormente creados, 250 y 50
representan la velocidad a la que va a andar nuestro motor y 2000 y 5000 representan cuanto
tiempo va a durar nuestro sub programa en este caso para derecha 2 segundos y para
izquierda 5 segundos.
NOTA: no olvidar los punto y coma después de terminar cada línea de programación y cerrar
correctamente los corchetes
ESPERO QUE SEA DE GRAN AYUDA PARA USTEDES COMO ME HA SERVIDO A MI.