LCD CON ARDUINO
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.
pág. 1
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
pines 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).
pág. 2
A continuación se muestra la conexión del LCD al Arduino UNO.
Conexión de Arduino con LCD 16×2 Funcionamiento
La conexión para displays mayores como por ejemplo el LCD 20×4 se hace
exactamente igual.
t c n
microcontrolador PIC
Comandos LCD Arduino
pág. 3
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
1 #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.
1 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:
1 lcd.setCursor(0, 0); // Pone el cursor en las coordenadas (0,0)
Para encender o apagar el cursor del LCD usamos:
1 lcd.noCursor(); // Apaga el cursor
2 lcd.cursor(); // Enciende el cursor
Por último, para imprimir mensajes dentro del LCD usamos la instrucción:
pág. 4
1 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
PROGRAMACIÓN EN ARDUINO
pág. 5
1 //Ejemplo 1 - Utilización del Display LCD
2 #include <LiquidCrystal.h>
3 LiquidCrystal lcd(10, 9, 8, 5, 4, 3, 2); //(RS, RW, E, D4,D5, D6, D7)
4 void setup()
5 {
6 lcd.begin(16, 2); // Inicia el LCD 16x02 (columnas, filas)
7 lcd.setCursor(0, 0); // Coloca el cursor en las coordenadas (0,0)
8 lcd.print("Ctrl Atumatico"); // Escribe no LCD
9 lcd.setCursor(3, 1); // Coloca el cursor en las coordenadas (3,1)
10 lcd.print("Educacion"); // Escreve no LCD
11 }
12 void loop()
13 {
14 //Apagar el cursor
15 lcd.noCursor();
16 delay(500);
17 //Encender el cursor
18 lcd.cursor();
19 delay(500);
20 }
pág. 6