Arduino - LCD I2C
En este tutorial de Arduino LCD I2C, aprenderemos a conectar una LCD I2C (pantalla de cristal líquido) a la placa Arduino. Las pantallas LCD son muy populares y ampliamente utilizadas en proyectos de electrónica para mostrar información. Hay muchos tipos de LCD. Este tutorial toma como ejemplo un LCD 16x2 (16 columnas y 2 filas). Las demás pantallas LCD son similares.
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca de LCD I2C 16x2
En el tutorial anterior, ya habíamos aprendido a usar el LCD normal. Sin embargo, el cableado entre Arduino y el LCD normal es complicado. Por ello, LCD I2C se ha creado para simplificar el cableado. De hecho, LCD I2C está compuesto por un LCD normal, un módulo I2C y un potenciómetro.
Diagrama de pines
El LCD I2C utiliza la interfaz I2C, por lo que tiene 4 pines:
- Pin GND: debe conectarse a GND (0V).
- Pin VCC: la fuente de alimentación para el LCD, debe conectarse a VCC (5V).
- Pin SDA: señal de datos I2C
- Pin SCL: señal de reloj I2C

Coordenada LCD
LCD I2C 16x2 incluye 16 columnas y 2 filas. Las columnas y filas están indexadas desde 0.

Diagrama de Cableado

This image is created using Fritzing. Click to enlarge image
| LCD I2C | Arduino Uno, Nano | Arduino Mega |
|---|---|---|
| Vin | 5V | 5V |
| GND | GND | GND |
| SDA | A4 | 20 |
| SCL | A5 | 21 |
Cómo programar para LCD I2C
Gracias a la biblioteca LiquidCrystal_I2C, usar la pantalla LCD es pan comido.
- Incluir la biblioteca:
- Declarar un objeto LiquidCrystal_I2C con la dirección I2C, el número de columnas, el número de filas:
- Inicializar la pantalla LCD.
- Mover el cursor a la posición deseada (column_index, row_index)
- Imprimir un mensaje en la pantalla LCD.
Hay muchas más cosas que podemos hacer con LCD (ver la sección Haz más con LCD)
※ Nota:
La dirección I2C del LCD puede variar según los fabricantes. En el código, usamos 0x27, que está especificado por el fabricante DIYables.
Código de Arduino
Pasos R\u00e1pidos
- Ve al icono de Bibliotecas en la barra izquierda del IDE de Arduino.
- Busca "LiquidCrystal I2C", luego encuentra la biblioteca LiquidCrystal_I2C de Frank de Brabander.
- Haz clic en el botón Instalar para instalar la biblioteca LiquidCrystal_I2C.

- Copie el código anterior y ábralo con Arduino IDE
- Haga clic en el botón Subir en Arduino IDE para subir el código al Arduino
- Ver el resultado en la pantalla LCD

- Prueba a modificar el texto y la posición
Video Tutorial
Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.
Haz más con LCD
Personaje personalizado
La función lcd.print() solo admite caracteres ASCII. Si quieres mostrar un carácter o símbolo especial (p. ej. corazón, pájaro enfadado), necesitas usar el siguiente generador de caracteres.
La pantalla LCD 16x2 puede mostrar 32 caracteres (2 filas y 16 columnas). Cada carácter está compuesto por 40 píxeles (8 filas y 5 columnas).
El generador de personajes representa un personaje (40 píxeles). Solo necesitas hacer los siguientes pasos:
Resultado en la pantalla LCD:

Múltiples caracteres personalizados
Podemos crear hasta 8 caracteres personalizados (con índices de 0 a 7). El siguiente ejemplo crea y muestra tres caracteres.
Resultado en la pantalla LCD:

Resumen: cómo usar un carácter personalizado en una pantalla LCD
- Utilice el generador de caracteres anterior para crear el código binario del carácter personalizado.
- Declare el código binario para el carácter personalizado (copie del paso anterior).
- Crear un carácter personalizado y asignarlo a un valor de índice (de 0 a 7) en la función setup()
- Imprimir el carácter personalizado en la pantalla LCD en cualquier momento, en cualquier lugar (en setup() o loop())
Otras funciones
Añade las funciones que se muestran a continuación a la función loop() una por una y añade delay(5000) después de cada función.
- Pantalla LCD clara
- Mover el cursor a la esquina superior izquierda de la pantalla LCD
- Mover el cursor a la posición (columna, fila)
- Mostrar el cursor de la pantalla LCD
- Oculta el cursor LCD.
- Muestra el cursor LCD parpadeante.
- Apaga el cursor parpadeante de la pantalla LCD.
Rétate a ti mismo
Utiliza una pantalla LCD para realizar alguno de los siguientes proyectos:
- Enviando texto desde la PC (a través del Monitor Serial) y mostrarlo en el LCD. Consejo: Consulta Cómo enviar datos desde la PC a Aduino
- Mostrando la tecla pulsada del teclado en el LCD. Consejo: Consulta Arduino - Teclado
Solución de problemas de LCD I2C
Si el texto no se muestra en la pantalla LCD I2C, por favor verifique los siguientes problemas:
- Ajusta el brillo de la pantalla LCD girando el potenciómetro en la parte trasera de la pantalla LCD
- Dependiendo del fabricante, la dirección I2C de la pantalla LCD puede ser diferente. Por lo general, la dirección I2C predeterminada de la pantalla LCD es 0x27 o 0x3F. Prueba estos valores uno por uno. Si aún no funciona, ejecuta el código de abajo para encontrar la dirección I2C.
El resultado en el Monitor Serial: