Como ya lo expresé anteriormente, un LCD es la forma más económica y sencilla de dotar nuestros proyectos de una pantalla que permita visualizar resultados importantes del sistema automatizado con Arduino.
Las pantallas LCD Arduino tienen diferentes características porque son fabricadas en diferentes tamaños y su uso depende de la necesidad que se tenga, los tamaños comunes en el mercado son el LCD 16×2 (2 filas y 16 caracteres), de 20×4, 20×2 y 40×2. A continuación podemos ver el LCD en diferentes tamaños:
Para que el LCD consiga mostrar los caracteres se utiliza un controlador en estos dispositivos donde el más popular es el Hitachi HD44780, el cual trabaja con LCDs monocromáticos de hasta 80 caracteres alfanuméricos y símbolos. Y poseen una luz de fondo la cual puede ser de color azul o verde y adicionalmente poseen un pin con el cual se puede variar el contraste de la pantalla utilizando para eso un potenciómetro.
Display LCD Arduino
Los displays LCDs de 16×2 tienen 16 pines de los cuales únicamente usaremos 12 pines para la realización de una conexión básica. El pinado del LCD 1602a Arduino con controlador HD44780 se muestra a continuación:
.El pin “RS” controla en que parte de la memoria LCD se están escribiendo los datos.
El pin de “lectura/escritura” (R/W) selecciona el modo de lectura o de escritura. Si el pin es conectado a +5V el modo de lectura es activado, so el pin es conectado a GND el modo de lectura es activado.
.EL pin para habilitar “enable”, este habilita los registros.
.8 pines de datos “D00-D07” donde se envían bits para escribir en un registro, también pueden ser usados para leer un registro.
.Pin V0 “de contraste” del display LCD Arduino.
.Pin A y Pin K “de retro-iluminación” (Bklt+ y Bklt-) que le permiten controlar la retroiluminación.
.Pin de alimentación (+5V y GND).
Conexión del LCD
Para conectar el display LCD 16×2 al Arduino vamos a utilizar la conexión a 4 dígitos, donde solo vamos a conectar los pines D4, D5, D6 y D7 del LCD a cualquiera de los pines digitales del Arduino. En este caso fue utilizado de los pinelcd.begin(16,2) // Inicia un LCD 16x02 (columnas, filas)s 2 hasta el 5.
Luego conectamos los pines de control del LCD RS, RW y E en otros tres pines digitales del Arduino. (NOTA: El pin RW es opcional, si deseas no es necesario conectarlo, basta con colocarlo directo a tierra y así puedes ahorrarte un pin del Arduino)
Por último, procedemos a realizar la conexión de alimentación del LCD junto con los LEDs de la luz de fondo y el potenciómetro que ayuda a regular el contraste del display de cristal líquido (LCD).
A continuación se muestra la conexión del LCD al Arduino UNO.
La conexión para displays mayores como por ejemplo el LCD 20×4 se hace exactamente igual.
Comandos LCD Arduino
La plataforma de Arduino, por tener una filosofía de software abierto, nos proporciona una librería capaz de controlar fácilmente nuestras pantallas LCD, dicha librería ya viene lista en nuestro IDE de Arduino y es conocida como: LiquidCrystal.
Debemos entonces adicionar en el encabezado de nuestro programa dicha librería
#include <LiquidCrystal.h>
Seguidamente deberemos definir cuales pines del Arduino utilizaremos para el control del LCD utilizando el siguiente formato:
LiquidCrystal lcd(<pin RS>,<pin RW>, <pin enable>, <pin D4>, <pin D5>, <pin D6>, <pin D7>)
Si no utilizas el pin RW entonces basta con usar el siguiente formato:
LiquidCrystal lcd(<pin RS>, <pin enable>, <pin D4>, <pin D5>, <pin D6>, <pin D7>)
Una vez se definen los pines dentro de la librería se procede a inicializar el LCD dentro de la función void setup, donde se especifica el número de filas y columnas que posee el LCD que estamos usando.
lcd.begin(16,2) // Inicia un LCD 16x02 (columnas, filas)
Otra instrucción importante, es la ubicación del CURSOR dentro del LCD para escribir el mensaje, para indicar dichas coordenadas del cursor usamos:
lcd.setCursor(0, 0); // Pone el cursor en las coordenadas (0,0)
Para encender o apagar el cursor del LCD usamos:
lcd.noCursor(); // Apaga el cursor
lcd.cursor(); // Enciende el cursor
Por último, para imprimir mensajes dentro del LCD usamos la instrucción:
lcd.print("Mensaje"); // Escribe el LCD
Ejemplo 1 – Uso del Display LCD 16×2 con Arduino
Implementar el siguiente circuito básico con LCD y Arduino mostrando la Frase “Ctrl Automatico” en la primera fila y “Educacion” en la segunda fila y que adicionalmente el cursor quede parpadeando. (Usando el mismo esquema mostrado arriba)
Esquema en Proteus
//Ejemplo 1 - Utilización del Display LCD
#include <LiquidCrystal.h>
LiquidCrystal lcd(10, 9, 8, 5, 4, 3, 2); //(RS, RW, E, D4,D5, D6, D7)
void setup()
{
lcd.begin(16, 2); // Inicia el LCD 16x02 (columnas, filas)
lcd.setCursor(0, 0); // Coloca el cursor en las coordenadas (0,0)
lcd.print("Ctrl Atumatico"); // Escribe no LCD
lcd.setCursor(3, 1); // Coloca el cursor en las coordenadas (3,1)
lcd.print("Educacion"); // Escreve no LCD
}
void loop()
{
//Apagar el cursor
lcd.noCursor();
delay(500);
//Encender el cursor
lcd.cursor();
delay(500);
}
No hay comentarios:
Publicar un comentario