Practica LCD 16x2 Arduino con programación de pulsos PDF

Title Practica LCD 16x2 Arduino con programación de pulsos
Author Erick Ruiz
Course Sensores y Actuadores Biomédicos
Institution Universidad Politécnica de Cuautitlán Izcalli
Pages 14
File Size 1017.9 KB
File Type PDF
Total Downloads 16
Total Views 127

Summary

Programacion de pantalla LCD con pulsos que puedan medirse a la par de otras cosas, como imagenes y salidas de otras cosas...


Description

UNIVERSIDAD POLITÉCNICA DE CUAUTITLÁN IZCALLI

STUDENT: Ruiz Navidad Erick Alexis GRADE: 05

CLASSROOM:

GROUP: 01

SUBJECT: Biomedical sensors and actuators

WORK: PRACTICE 13 “LCD”

TEACHER: José Fernando García

DATE OF DELIVERY: Cuautitlán Izcalli, Mex, June 25th, 2021

Pantalla Alfanumérica LCD 16X2 INTRODUCCIÓN Como hemos analizado en prácticas anteriores, los periféricos en el entorno de desarrollo Arduino son amplios y con gran variedad de utilidad, sin embargo, muchos de ellos no tienen propósito si no se les pone en conjunto con otros, es por ello que es importante saber conjugar este tipo de sensores con dispositivos que nos muestren otra parte de nuestros proyectos. Y con esto llegamos a la pantalla Alfanumérica o mejor conocida como LCD, la cual según Fernandez C. (2015) dice “…es un dispositivo empleado para la visualización de contenidos o información de una forma gráfica, mediante caracteres, símbolos o pequeños dibujos dependiendo del modelo…” esto permite a cualquier desarrollador generar caracteres personalizados en la pantalla para hacer aún más vistoso lo que estamos haciendo, esta pantalla ya viene integrada a un micro controlador lo que permite dirigir todo el funcionamiento. Dentro de los LCD existen diversos modelos y tamaños para cualquier necesidad o proyecto. En esta ocasión se empleará un LCD 16X2 esto nos dice que dispone de 2 filas de 16 caracteres cada una y esto permite que cada una aparezca, sin embargo, cabe aclarar que por si solo no tiene mucha utilidad más que imprimir nuestras variables que quisiéramos denotar a las personas que estén viendo nuestro circuito, es por eso que lo conjuntaremos con un sensor de temperatura LM35 el cuál es el más usado para proyectos en diversos circuitos, este censor ya ha sido utilizado con anterioridad y esperamos que pueda darle una nueva utilidad a estos 2 periféricos dentro del entorno Arduino. OBJETIVO GENERAL Estudiar de manera analítica la combinación de diversos sensores a su vez relacionar su funcionamiento a través de la programación de librerías especificas y conocer sus aplicaciones en los futuros proyectos a realizar.

MATERIALES •

Programa Tinkercad



1 placa Arduino UNO



1 placa de pruebas pequeña



Cables Dupont



1 LCD 16X2



1 potenciómetro



1 resistencia 220 Ω



1 sensor de temperatura LM35

PROCEDIMIENTO Primero necesitaremos conocer la manera en como se conecta un LCD 16X2, por ello utilizaremos primeramente solo nuestra placa de pruebas pequeña, potenciómetro, nuestro LCD 16X2 y el Arduino el cuál nos dotará de la programación y potencia a nuestro circuito. Primero colocaremos nuestro Arduino y placa de pruebas donde extraeremos la potencia de 5 V, así como su tierra.

Pines de la pantalla LCD 16X2

Una vez terminado colocaremos nuestra pantalla alfanumérica en la placa de pruebas e iremos conectando los pines correspondientes. Primero podemos observar que cuenta con una tierra y potencia los cuales conectaremos a donde corresponden, posteriormente conectaremos el potenciómetro como ya conocemos,

Paso 1: cablear los componentes correctamente (Circuito 1)

sin embargo el wiper lo conectaremos al pin de nuestro LCD llamado V0 o contraste y el cual regulará la intensidad de nuestra pantalla, a su vez podemos observar que existen varios pines estos se les conoce como pines de control, el primer pin , RS el cual corresponde a la selección de registro de datos, cuando RS es 0 el dato presente en el bus de datos pertenece a un registro de control/ instrucción y cuando RS es 1 el dato pertenece a un registro de datos o un carácter por ello conectaremos este a pin digital en este caso será el pin 12, ahora el siguiente pin de control es RW, el cual corresponde a un pin de escritura (0) o lectura (1), estas dos funciones no las ocuparemos así que omitiremos el pin conectándolo a la tierra, el ultimo pin de control es el pin E (Enable) o habilitador, que será el pin que diga si está activo o no desde nuestro Arduino así que lo conectaremos al pin 11. Estos pines de control están acompañados por pines de bus de datos los cuales comprenden desde los pines D0 a D7, esto sirve para poder comunicarnos con el LCD donde podemos ocupar los 8 pines o usar los más significativos D4 a D7, los cuales serán los que utilicemos y conectaremos a los pines del Arduino (5-2). Por último, tenemos pines LED o retroiluminación que permiten darnos una retroiluminación efectiva, por esto deben ser tratados como un led, que conectaremos con una resistencia de 220 Ω y a la corriente.

Circuito 2 con nuestro sensor de temperatura conectado al Arduino

Cuando hemos finalizado este circuito se procederá a hacer la variante la cual contendrá nuestro sensor de temperatura, pues bien, conectaremos como ya lo hemos visualizado anteriormente nuestro sensor de temperatura a la placa de pruebas y el voltaje de salida a nuestro pin analógico A0, una vez conectado volveremos a repetir el proceso descrito anteriormente para conectar la pantalla alfanumérica, asegurándonos que todo este bien conectado procederemos a la programación de nuestra pantalla, con la variante del circuito que realizamos.

TRATAMIENTO DE DATOS Como se menciona este es un nuevo tipo de periférico, sin embargo, cuenta con su propia librería para poder controlarla desde nuestro Arduino, pues bien, primero comenzaremos con el primer circuito y su programación. Este circuito debido a sus pocos componentes a programar, son muy pocas líneas de código que utilizaremos, en primer lugar llamaremos la librería LiquidCrystal, la cual contendrá elementos que más tarde utilizaremos, una vez llamada definiremos los pines de nuestro LCD, los que son tanto controladores como los bus de datos conectados al Arduino, cuando hemos acabado de definir los pines pasaremos al void setup().

Paso 2: Programar el código correspondiente a cada circuito (primera parte del llamado de la librería)

Dentro del void setup(), comenzaremos a indicar el tipo de LCD que contamos que es el 16X2 y pasaremos al void loop() el cual contendrá algo similar como si fuese una impresión dentro del monitor en serie, pero en esta ocasión será nuestra pantalla. Por ello imprimiremos una frase cualquiera, en mi caso será “Soy Erick” y haremos que esta se mueva con un comando en la librería llamado lcd.scrollDisplayRight() con un ciclo for() indicando los pines que quisiéramos mover

Segunda parte del código del circuito 1

la frase. Debajo de esto colocaremos una limpieza de la pantalla con un comando llamado lcd.clear() y le diremos una nueva orden el cual sea que posiciones un nuevo texto en la segunda línea y este texto en mi caso será “Hola mundo” ambos procesos con un delay() de 1 segundo. Una vez finalizado cargaremos y correremos el código para visualizar el resultado. Sin embargo, aún nos falta programar un circuito, el cuál es bastante similar, pero con algunas diferencias debido a la combinación de nuestro sensor. Una vez más en la parte de nuestro código llamaremos a la librería liquidCrystal y definiremos los pines donde se encuentra nuestro LCD, ahora también se tiene que definir nuestro sensor de temperatura el cual se encuentra conectado al pin A0.

Parte 1 del Código del segundo circuito

Pasamos al void setup() en donde volvemos a colocar que tipo de pantalla contamos, colocamos un comando de limpiar nuestra pantalla y ordenamos en que parte iniciará la frase “Lector de Temperatura” (Esto parta indicar el funcionamiento de nuestro circuito) como sobrepasa los 16 caracteres de cada línea, lo dividiremos en dos pero en posiciones iguales con su respectivo delay() y una limpieza de pantalla. Ahora crearemos 3 voids estos con el propósito que almacenen la información del sensor de temperatura y sus diferentes conversiones, para que podamos

modificarlas en tiempo real sin necesidad de esperar a que el proceso finalice para que nos dé otra lectura.

Parte 2 del código del segundo circuito (voids)

Primero se creará el void cel() el cual contendrá la información de la temperatura en Celsius, con un float() definiremos una variable llamada temp() la cual será condicionada con la lectura del sensor y convertida con los valores correspondientes en grados Celsius, posterior a esto colocaremos un ciclo for() con el propósito de podamos ver como se desplaza de derecha a izquierda nuestra temperatura, sin usar el comando ya que puede haber ciertas complicaciones. Colocaremos dentro del ciclo for() una limpieza de pantalla, nuestro texto fijo que será “Grados Celsius” y condicionándolo con la variable que se moverá, se imprimirá en la pantalla la variable temp() con un delay() de 200ms.

Parte 3 del código del segundo circuito

Terminando este crearemos el void fer () el cual volveremos a crear el mismo código con la variante que haremos la ecuación correspondiente para convertir la temperatura resultante a Fahrenheit e imprimiremos la variable fahr(). Y el último void() a crear será el void kel() el cual contendrá en un float() llamado kelvin() la ecuación correspondiente para convertir la temperatura de Celsius a Kelvin y se imprimirá en la pantalla. Cuando finalicemos esto en el void loop() ejecutaremos cada uno de los voids , ya que tengamos esto cargaremos y visualizaremos el funcionamiento del circuito.

RESULTADOS Comenzaremos a analizar los resultados del primer circuito, los cuales se nos muestran de manera satisfactoria, ya que reacciona a los comandos que colocamos en nuestra programación.

Paso 3: correr el código correspondiente y visualizar los resultados (Circuito 1)

Observamos como el LCD se puede ir iluminando de acuerdo con el potenciómetro y en su estado máximo visualizamos la primera frase moverse de derecha a izquierda y posteriormente nuestro Hola mundo moverse en conjunto con la primera frase. Son resultados significativos para lo que procede a continuación en nuestro segundo circuito Dentro del segundo circuito, se observa como la pantalla se enciende y se presenta de que trata el circuito.

Resultados del segundo circuito (Pantalla de bienvenida)

Una vez dicho esto se limpia y procede a mostrar la primera temperatura que dicta el sensor, está por defecto dentro del simulador es 25 °C por lo que hará las operaciones correspondientes y por los decimales mostrados tendrá una variación de .29 grados con respecto a la original, esto sin embargo no afecta la cantidad convertida en Fahrenheit o Kelvin.

Pantalla de grados Celsius (25°C)

Podemos ir modificando la temperatura a nuestra conveniencia, y que la podemos visualizar convertida al instante, es decir, si queremos ver 30 °C en kelvin solamente en el proceso donde nuestro LCD vaya a cambiar al estado de Kelvin procedemos a poner el sensor en ese estado, existen algunas limitaciones como el tiempo de espera que se debe de tener en cada una de las lecturas y que debe ser secuencial, lo que se propone colocar push buttons en la placa e ir cambiando nuestra temperatura según lo necesite el usuario.

Pantalla de grados Kelvin (57°C)

Como bien se observa los resultados de ambos circuitos fueron favorables para observar el funcionamiento de las pantallas alfanuméricas y que estas puedan ser usadas con mayor utilidad en diversos casos.

CONCLUSIÓN En la presente práctica, se puede observar que los diferentes sensores que se pueden combinar, estos presentan funciones que son aprovechadas para los propósitos que queremos representar en algún proyecto o circuito que lograremos aplicar en nuestra área de estudio, es importante recalcar que el LCD cuenta con posibilidades infinitas de representación y le da un extra a cualquier programa o dispositivo que estemos realizando. Para mi en esta práctica, fue un tanto sencillo crear el circuito que se nos pidió hacer, esto por qué tuve la fortuna de conocer un poco sobre el LCD, su aplicación y la librería que utiliza ya que en un anterior proyecto tuve que informarme para llevar a cabo este mismo. Es por eso por lo que no se me dificultó el comprender a su totalidad la manera en como funcionaba, que pines utilizaba o como esta se comportaba a la hora de combinar otros sensores. Este pequeño programa, nos puede dar la idea en donde más se puede ocupar el tipo de sensor de temperatura, así como visualizar los parámetros que este midiendo, de manera que no sea necesario verlo en el monitor en serie o una computadora este cerca para visualizarlo, también nos abre la puerta a nuevas posibilidades, tales como usar los sensores de humedad o distancia que ya hemos utilizado en prácticas anteriores y que se utilizan en gran parte de nuestra carrera. Una situación que se me presentó fue el que pudiera cambiar la temperatura al momento, sin embargo, a travesé la dificultad por medio de conocimientos previos que me permitió diferenciar cada acción en su propio void(), facilitando el uso de cada una de las funciones de nuestro programa. Espero que pueda volver a utilizar mi pantalla alfanumérica en proyectos futuros y que sea de utilidad para la comprensión de mi programa o dispositivo electronico que quiera desarrollar.

BIBLIOGRAFÍA •

Giraldo, S. A. C. (2020, 3 diciembre). LCD Arduino. Control Automático Educación. https://controlautomaticoeducacion.com/arduino/lcd/#:%7E:text=LCD%20Arduino. %20Description.%20El%20LCD%20%28Pantalla%20de%20Cristal,visualizar%20 diferentes%20datos%20e%20informaciones%20de%20nuestro%20proyecto.



A. (2019, 19 octubre). Pantalla alfanumérica LCD 16X2 con Arduino. Geek Factory. https://www.geekfactory.mx/tutoriales/tutoriales-arduino/pantalla-lcd16x2-con-arduino/



A. (2021, 6 julio). LCD 16×2 por I2C con Arduino usando solo dos pines. Geek Factory. https://www.geekfactory.mx/tutoriales/tutoriales-arduino/lcd-16x2-por-i2ccon-arduino/



Alzate, O. F. (2015, 8 octubre). Arduino lcd 2x16. CÃ3digo ElectrÃ3nica. http://codigoelectronica.com/blog/arduino-lcd-2x16/



Lcd 16x2. (2013, 10 febrero). TodoElectrodo. https://todoelectrodo.blogspot.com/2013/02/lcd-16x2.html...


Similar Free PDFs