0% encontró este documento útil (0 votos)
136 vistas

Arduino PDF

Este documento describe cómo conectar un motor DC a un controlador L293D y Arduino para controlar la velocidad y dirección del motor mediante un potenciómetro. Se explica que el L293D usa un puente en H para controlar la polaridad del motor DC y cambiar su dirección, y que la velocidad se controla variando la señal PWM en función del valor del potenciómetro. El tutorial también describe brevemente el funcionamiento de un motor DC y la necesidad de usar un controlador como el L293D para proporcionar suficiente corriente desde una fuente externa

Cargado por

Ojeda Thomas
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
136 vistas

Arduino PDF

Este documento describe cómo conectar un motor DC a un controlador L293D y Arduino para controlar la velocidad y dirección del motor mediante un potenciómetro. Se explica que el L293D usa un puente en H para controlar la polaridad del motor DC y cambiar su dirección, y que la velocidad se controla variando la señal PWM en función del valor del potenciómetro. El tutorial también describe brevemente el funcionamiento de un motor DC y la necesidad de usar un controlador como el L293D para proporcionar suficiente corriente desde una fuente externa

Cargado por

Ojeda Thomas
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 19

AR

9 T
Tutorial 9: Display LCD
En este tutorial, se va a mostrar cómo conectar una pantalla LCD 1602A a
una placa Arduino UNO para mostrar texto por pantalla.

Material

1 Arduino uno

1 cable AB

1 Protoboard

1 Display LCD 16x2 16002A

1 Potenciómetro 10k

16 pines macho 2.54 mm

Estaño

Soldador
AR
9.1 T
Primero de todo observaremos la serigrafía escrita en los pines de nuestra
pantalla, siendo la siguiente:

-VSS que es el pin de negativo o masa o 0 volts o GND.

-VDD es la alimentación principal de la pantalla y el chip, lleva 5 voltios


(recomendable ponerle en serie una resistencia para evitar daños, con una
de 220 ohmnios es suficiente).

-VO es el contraste de la pantalla, debe conectarse con un potenciómetro


de unos 10k ohms o una resistencia fija una vez que encontremos el valor
deseado de contraste. Tengan en cuenta que si no conectan esto, no verán
nada.

-RS es el selector de registro (el microcontrolador le comunica a la LCD si


quiere mostrar caracteres o si lo que quiere es enviar comandos de control,
como cambiar posición del cursor o borrar la pantalla, por ejemplo).

-RW es el pin que comanda la lectura/escritura. En nuestro caso siempre


estará en 0 (conectado a GND) para que escriba en todo momento.
AR
9.2 T
-E es enable, habilita la pantalla para recibir información.
-D0~D3 no los vamos a utilizar. Como pueden ver la pantalla tiene un bus
de datos de 8 bits, de D0 a D7. Nosotros solamente utilizaremos 4 bits, de
D4 a D7, que nos servirán para establecer las líneas de comunicación por
donde se transfieren los datos.

-A y K son los pines del led de la luz de fondo de la pantalla. A se conectará


a 4 o 5 volts y K a gnd.

Preparando Conexiones de la LCD 1602A


La pantalla LCD viene sin conectores por defecto. Hay dos soluciones para
este problema: soldar cables o soldar pines macho de 2,54mm. He optado
por la segunda opción por la comodidad que representa (menos cable y
acoplan perfectamente con la breadboard).
AR
9.3 T
Diagrama De conexión.

Ahora procederemos a la preparación del contraste de la pantalla LCD. Para


ello haremos las siguientes conexiones mediante cables:

Conexión: fila GND (fila -) de la breadboard --> pin 1 de la LCD (VSS)

Conexión: fila 5V (fila +) de la breadboard--> pin 2 de la LCD (VDD)

Conexión: fila 5V (fila +) de la breadboard--> pin 15 de la LCD (A)

Conexión: fila GND (fila -) de la breadboard --> pin 16 de la LCD (K)

Para probar la correcta conexión, encenderemos la placa Arduino UNO


mediante el cable USB al ordenador y veremos que la pantalla LCD se
ilumina.

Conexión: primer pin del potenciómetro---> GND de la breadboard (fila -)

Conexión: pin de en medio potenciómetro --> pin 3 de la pantalla LCD (VO)

Conexión: tercer pin del potenciómetro---> 5V de la breadboard (fila -)


AR
9.4 T
Cuando la placa Arduino esté alimentada (conexión USB-PC), se verá por
pantalla caracteres en forma de cuadrado en la fila de arriba. Prueba a
ajustar con el potenciómetro y verificar que todo funciona correctamente.

Conexión: pin 4 de la LCD (RS)---> pin 1 del Arduino (salida digital, PWM)

Conexión: pin 5 de la LCD (RW) --> GND de la breadboard (fila -)

Conexión: pin 6 de la LCD (E)--> pin 2 de la placa Arduino UNO (PWM)

Conexión: pin 11 de la LCD (D4)--> pin 4 de la placa Arduino UNO (PWM)

Conexión: pin 12 de la LCD (D5)--> pin 5 de la placa Arduino UNO (PWM)

Conexión: pin 13 de la LCD (D6)--> pin 6 de la placa Arduino UNO (PWM)

Conexión: pin 14 de la LCD (D7)--> pin 7 de la placa Arduino UNO (PWM)

Código.

El código para poder probar la lcd es muy sencillo, lo primero es importar la


librería que usaremos #include<liquidCrystal.h> con esto
AR
9.4 T
Podremos usar los comandos y funciones especiales para programar una
LCD, lo que le sigue es la declaración de pines que estamos utilizando
según conectamos anteriormente, y nombramos nuestra lcd como lcd.
Luego en la configuración void setup, primero declaramos la dimensión de
la LCD en nuestro caso es 16x2 por lo que escribimos lcd.begin(16,2)
luego elegimos la línea donde se escribirá podemos mover el cursor con
coordenadas por ejemplo si queremos escribir al principio de la segunda fila
ponemos lcd.setCursor(0,1); si fuera en la primera fila (0,0),
posteriormente le decimos a lcd que escriba un “hola mundo”
lcd.write(“hola mundo”) esto lo escribirá de una vez por eso lo estamos
declarando desde el principio, y en el void loop no ponemos nada, pero es
necesario declararlo y cerrarlo con sus respectivas llaves.
Ejemplo 2
AR
9.5 T
En el ejemplo 2 de igual manera importamos la librería ,luego
declaramos los pines y hacemos la configuración diciéndole la
dimensión de la lcd a Arduino.
Luego en el void loop, Escribimos la primera línea con
led.print(“texto”) y agregamos un delay que funciona como una
animación luego movemos el cursor para que podamos escribir en la
línea de abajo con lcd.setCursor(0,1) y volvemos a escribir con un
print y le agregamos su espera, luego limpiamos la pantalla con un
lcd.clear() y le ponemos un tiempo, por ultimo podemos agregar una
pantalla de espera con el cursor parpadeando, con la función blink y
luego la apagamos con la función noBlink repetimos el código un par
de veces más para agregar diferentes pantallas y listo, hemos
terminado de programar nuestra lcd.
Sección de preguntas.
1 ¿Cuál es la configuración en el void setup para la lcd?
2¿Para qué sirve la función .clear?
3¿Es necesario utilizar la librería, Por qué?

1 En el void setup lo que se debe declarar como configuración


principal es la dimencion de la display con la que se trabajara con el
comando lcd.begin(16,2);
2 La función clear sirve para limpiar la pantalla de los caracteres que
tenía anteriormente, esto nos sirve para crear animaciones en la
pantalla lcd.
3 Es necesario ya que el uso de las display lcd es avanzado y para
que su código sea más sencillo y fácil de utilizar se importa la librería
oficial.
AR
12 L
Tutorial 12: Motor DC + Potenciómetro

Objetivo
En esta práctica conoceremos los ya antes mencionados motores dc, y
aprenderemos a usarlos mediante un driver para su óptimo funcionamiento,
y lo combinaremos con un potenciómetro para poder apreciar su capacidad
de la mejor manera.

Materiales
1 Arduino uno

1 Protoboard

1 Driver de motores L293D

1 Potenciómetro 10k

1 Motor DC

1 fuente externa
AR
12.1 L
¿Qué es un motor DC?

Un motor de corriente continua convierte la energía eléctrica en mecánica.


Se compone de dos partes: el estator y el rotor.

El estator es la parte mecánica del motor donde están los polos del imán.

El rotor es la parte móvil del motor con devanado y un núcleo, al que llega la
corriente a través de las escobillas.

Cuando la corriente eléctrica circula por el devanado del rotor, se crea un


campo electromagnético. Este interactúa con el campo magnético del imán
del estator. Esto deriva en un rechazo entre los polos del imán del estator y
del rotor creando un par de fuerza donde el rotor gira en un sentido de
forma permanente.

Si queremos cambiar el sentido de giro del rotor, tenemos que cambiar el


sentido de la corriente que le proporcionamos al rotor; basta con invertir la
polaridad de la pila o batería.

¿Qué es un driver L293D?

Para controlar un motor DC desde Arduino, tendremos que usar un driver


para motores para proporcionarle más corriente al motor ya que las salidas
AR
12.2 L
Del Arduino sólo dan 40mA. De esta manera, con el driver podemos
alimentar el motor con una fuente de alimentación externa.

El L293D es un integrado para controlar motores DC que usa el sistema


puente en H. ¿Qué es el puente en H? Es un sistema para controlar el
sentido de giro de un motor DC usando cuatro transistores. En la imagen
vemos que los transistores se comportan como interruptores y dependiendo
que transistores conducen y cuáles no cambia la polarización del motor, y
con esto el sentido de giro.

El L293D tiene dos puentes H y proporciona 600mA al motor y soporta un


voltaje entre 4,5V y 36V tal y cómo pone en el datasheet.

Control velocidad a través de PWM

Hasta este punto sabemos cómo controlar el sentido de giro del motor DC a
través del L293D. Pero ¿y la velocidad de giro? En este proyecto lo que
haremos es controlar la velocidad y el giro del motor con un solo
potenciómetro.
AR
12.2 L

Para hacerlo utilizaremos el PWM. Sabemos que hay que atacar los pins 2
y 7 del L293D desde dos salidas del Arduino. En estas dos salidas habrá un
PWM a cada una. Pero tenemos que invertir un PWM. ¿Qué quiere decir
invertir? Pues que cuando en un PWM tengamos un pulso a un valor alto,
en el otro PWM el mismo pulso sea valor bajo.
AR
12.3 L

Conexión.

Importante, tenemos que revisar como conectamos el l293d porque


cada pin tiene una función diferente, normalmente el pin 1 es el que
tiene un pequeño orificio arriba de su pin. Y el contrario de arriba es el
pin 16.

-Pins 4,5,12,13 del L293D a GND.

-Juntar GND del Arduino.

-Pin 8 del L293D a 5v. Es el voltaje que proporciona al motor.

-Pin 16 del L293D a 5V. Es la alimentación del L293D, a 5v de Arduino.

-El potenciómetro pude ser de cualquier valor. Al pin 0 analógico.


AR
12.4 L
Código

A estas alturas ya conocemos la programación escrita en esta práctica, solo


queda analizarla, podemos fijarnos en la parte de las variables adelante y
atrás, cuando hacemos la escala 0 ,1023 a 0,255 allí es donde invertimos
los valores, para que el motor gire en sentido contrario.
AR
13 T
Tutorial 13: Modulo sensor ultrasónico; Haz una alarma.

Objetivo
En esta práctica conoceremos el sensor ultrasónico, y aprenderemos a
programarlo, y también haremos una alarma sencilla para poner a prueba el
sensor.

Materiales
1 Arduino uno

1 Led

1 Cable AB

1 resistencia 220 ohm

1 Sensor ultrasónico HC-SR04

Cables de conexión
AR
13.1 T
¿Qué es un sensor ultrasónico?
El sensor de ultrasonido, nos permite obtener la distancia a partir de la
medición del tiempo de ida y vuelta del pulso de ultrasonido(medición del
tiempo del eco) para ello, utilizaremos el sensor hc-sr04 como hemos
estado comentando anteriormente. Explicaremos con la siguiente figura,
cómo funciona el sensor por ultrasonidos.

Como podemos ver en la figura, el sensor lanza un pulso y recibe una


respuesta a través del Eco que este hace al rebotar contra una superficie
sólida. En este caso, por ejemplo una pared. Este principio es el que
utilizaremos para poder medir la distancia; midiendo el tiempo entre la ida y
la vuelta y sabiendo la velocidad de propagación del sonido en el aire.

El sensor HC-SR04 se alimenta con 5 volts a 1.5 mA(DC) lo cual lo hace


ideal para trabajar con arduino.
Características del HC-SR04:
-Alimentación de 5 volts.
-Interfaz de cuatro hilos (vcc, trigger, echo, GND).
-Rango de medición: 2 cm a 400cm.
-Corriente de alimentación: 1.5mA.
-Frecuencia de pulso: 40Khz.
-Apertura del pulso ultrasónico: 15°.
-Señal de disparo: 10us.
AR

-Dimensiones del módulo: 45x20x15mm.


13.2 T
Conexión.
La siguiente imagen muestra cómo se conectara el sensor HC-SR04 y el
Arduino de manera correcta basándonos en nuestra programación.

-La línea de trigger (verde) conectarla al pin 10 del Arduino.

-La línea de echo (amarillo) conectarla al pin 9 del arduino.

-La línea de VCC (rojo) conectarla al pin del Arduino con el mismo nombre.

-La línea GND (negro) conectarla al pin del Arduino con el mismo nombre.

-La resistencia de 220Ω va un extremo en la parte negativa del protoboard


mientras su otra pata va al negativo del LED.

-La pata positiva del LED se conecta al pin 11 del Arduino y su pata
negativa a la resistencia.
AR
13.3 T
Código.
En el código tenemos que realizar la fórmula matemática para poder
obtener la distancia en centímetros, pero al igual que en las practicas
pasadas importaremos la librería necesaria para facilitarnos la programación
y que el código sea más simple, la podemos buscar en internet como
librería para sensor ultrasónico HC-SR04 o podemos bajarla de Aquí.

Una vez descargada, vamos a enseñaros a como añadir una librería en el


entorno de Arduino.

Estos son los pasos para insertar una librería en el entorno de Arduino:

Primero El archivo descargado lo descomprimimos y luego abrimos el IDE


de arduino.
AR
13.3 T
Una vez arrancado el entorno, nos iremos al menú programa->Incluir
Librería-> Añadir Librería

Seguidamente nos pedirá la localización de la carpeta extraída con el


código de la librería. Seleccionamos la que nos hemos descargado
entramos en la carpeta y luego seleccionamos la carpeta Ultrasonic y
damos click en abrir.
AR
13.4 T
Con esto la librería ya está importada, solo resta escribir el código.

Esta vez usamos otra forma de agregar los pines conectados, con la función
#define, luego declaramos los nombre de los sensores del ultrasónico. A los
cuales ya les definimos pin.

En el void loop, declaramos una variable tipo float llamada distance, y esta
almacenara los datos obtenidos en centímetros por el sensor, sin necesidad
de realizar la operación matemática.

Para hacer la alarma ponemos algunas condiciones, donde si l distancia es


menor a 21 cm entonces encenderá el LED, si esa condición no se cumple
entonces se apagara el LED.

Al final escribimos algunos Serial.print para ver en monitor los datos leídos,
para comprobar cómo actúa la alarma.

También podría gustarte