Pantalla LCD 16x2
¿Qué es el LCD?
El LCD 16x2 consiste en una pantalla en la que se pueden representar letras, números y
símbolos típicos del código ASCII, los cuales utilizamos diariamente. El display consta de 2
filas y 16 columnas. En cada rectángulo que tiene (32 en total) se puede representar una letra,
número o símbolo.
Conexiones
A fin de no complicar la materia, metiéndonos en el funcionamiento específico de cada pin
del lcd, vamos a estandarizar un conexionado el cual implementaremos para todos los
trabajos y laboratorios que requieran del uso de este periférico.
LCD Arduino
GND GND
VCC 5V
VD A un resistor de entre 1k y 10k, y luego a GND
RS 2
RW GND
E 3
DB4 4
Programación y Robótica 5° Página 1
DB5 5
DB6 6
DB7 7
LED + A un resistor de 220 ohms y luego a 5V
LED - GND
Programación y Robótica 5° Página 2
Incorporar librería
Para utilizar el LCD es necesario incluir una librería para luego utilizar sus funciones. Para
ello en la parte superior del programa (encima del setup) escribimos:
● #include <LiquidCrystal.h>
Crear un objeto LCD
Una vez incluida la librería, hay que crear un objeto (una variable para la llegada de la
materia) que identifique al LCD. Para ello DEBAJO de lo anterior escribimos:
● LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
Función [Link]()
La función [Link](tamaño_columna, tamaño_fila); sirve para indicar el tamaño del lcd que
estamos usando. Esta función se debe escribir dentro del setup. Como nuestro lcd es de
tamaño 16x2. dentro del setup escribimos:
● [Link](16, 2);
Seguidos los 3 pasos anteriores el lcd ya está listo para ser utilizado, el código hasta el
momento se debería ver así:
Ya estamos listos para empezar a utilizar el lcd. Para ello hay una serie de funciones útiles
que nos provee la librería. Entre ellas una función para escribir, otra para indicar desde qué
lugar empezar a escribir, y finalmente una para borrar todo el contenido del lcd en un
momento.
Programación y Robótica 5° Página 3
Función [Link]()
● [Link](COLUMNA, FILA)
La función [Link](COLUMNA, FILA) indica en qué posición se sitúa el cursor del
lcd, a partir de allí se comenzará a escribir. Es muy importante para bajar el renglón (fila), ya
que como vimos, tenemos 2 filas disponibles para escribir.
Para empezar a escribir al comienzo de la primer fila:
[Link](0, 0);
Para empezar a escribir al comienzo de la segunda fila:
[Link](0, 1);
Función [Link]()
● [Link](mensaje)
La función [Link](mensaje); permite escribir en el lcd. Es necesario no olvidar que la
cantidad máxima de caracteres por fila es de 16, los espacios en blanco cuentan como un
carácter.
Tanto la función setCursor como la función print se pueden utilizar tanto en el setup como en
el loop. A continuación un código de ejemplo.
__________
#include <LiquidCrystal.h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
void setup() {
[Link](16, 2);
}
void loop() {
[Link](0, 0);
[Link]("Primer fila");
[Link](0, 1);
[Link]("Segunda fila");
}
Programación y Robótica 5° Página 4
También se pueden utilizar variables en la función print. Variables tanto de tipo String como
de tipo int. A continuación un código de ejemplo.
__________
#include <LiquidCrystal.h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
void setup() {
[Link](16, 2);
}
void loop() {
String mensaje_1 = "Tengo";
String mensaje_2 = "años";
int anios = 20;
[Link](0, 0);
[Link](mensaje_1);
[Link](6, 0);
[Link](anios);
[Link](9, 0);
[Link](mensaje_2);
}
Programación y Robótica 5° Página 5
Función [Link]()
● [Link]()
La función [Link](); borra todo el contenido del lcd.
Integridad con el puerto serie
El arduino permite utilizar y combinar varios tipos de periféricos, siempre y cuando la
cantidad de pines se lo permita. En ese sentido siempre se podrá combinar el puerto serie y el
lcd, ya que el puerto serie utiliza el USB para conectarse a la pc, dejando libres y disponibles
todos los pines digitales.
Veamos un ejemplo en el que:
1- El lcd pide un nombre.
2- Se ingresa el nombre por el puerto serie.
3- Se borra el lcd.
4- Nos da los buenos días.
Programación y Robótica 5° Página 6
Código y vista de la terminal
Como se vió en la clase de puerto serie, para entrar dentro del bloque del if, se necesita
escribir al menos un carácter y darle al botón ENVIAR.
El LCD va a presentar 2 pantallas distintas:
Programación y Robótica 5° Página 7
LCD al inicio
LCD luego de darle al botón ENVIAR del puerto serie
Y así con este ejemplo utilizamos todo el contenido presentado en este apunte, y además, lo
combinamos con el puerto serie.
Programación y Robótica 5° Página 8