Información
La pantalla LCD 20×4 con I2C incorporado permite visualizar hasta 20 caracteres por 4 filas. Gracias a su módulo I2C, se reduce significativamente el número de cables necesarios para su conexión, utilizando solo 2 cables para transmisión de datos y 2 para alimentación.
Especificaciones
| Especificación | Detalle |
|---|---|
| Tipo de Pantalla | LCD |
| Resolución | 20×4 |
| Color de Fondo | Azul o verde, según la variante |
| Retroiluminación | Encendido y apagado por software o con el jumper LED |
| Alimentación | 5V |
| Protocolo de Comunicación | I2C |
| Dirección I2C | 0x27 con chip PCF8574T o 0x3F con chip PCF8574AT (los puentes A0, A1 y A2 la mueven dentro del rango de cada chip) |
| Controlador I2C | PCF8574 |
| Compatibilidad | Arduino de 5 V (Uno, Nano, Mega, Leonardo). Placas de 3,3 V como ESP32 o Raspberry Pi, con conversor de nivel en SDA y SCL |
Documentación
Información Adicional
DIMENSIONES
Conexión con Arduino
Para conectar el módulo con Arduino, se deben utilizar los pines SDA y SCL según el modelo de la placa:
| Modelo | SDA | SCL |
|---|---|---|
| Arduino Uno, Nano, Mini | A4 | A5 |
| Arduino Mega, DUE | 20 | 21 |
| Arduino Leonardo | 2 | 3 |
Control de Contraste y Luz de Fondo
- El contraste se ajusta mediante un potenciómetro en el módulo I2C.
- La retroiluminación puede controlarse por software con
lcd.backlight();ylcd.noBacklight();, o físicamente retirando el jumper LED.
Librería LiquidCrystal_I2C
Para utilizar la pantalla LCD con I2C en Arduino, se recomienda la librería LiquidCrystal_I2C. Algunas de sus funciones principales incluyen:
lcd.init();– Inicializa el LCD.lcd.clear();– Borra la pantalla.lcd.setCursor(col, row);– Ubica el cursor en una posición.lcd.print("texto");– Muestra texto en la pantalla.lcd.scrollDisplayLeft();ylcd.scrollDisplayRight();– Desplazan el contenido de la pantalla.
Ejemplo de Código
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F, 20, 4);
void setup() {
lcd.init();
lcd.backlight();
lcd.print("Hola Mundo");
}
void loop() {
lcd.setCursor(0, 1);
lcd.print(millis()/1000);
lcd.print(" Segundos");
delay(1000);
}
Preguntas frecuentes
La pantalla enciende pero no muestra texto o solo muestra bloques. ¿Está mala?
Casi siempre es el contraste. Gira con un destornillador el potenciómetro azul del módulo I2C hasta que aparezcan las letras, porque con el contraste mal ajustado se ven bloques o no se ve nada. Si sigue igual, revisa dos cosas en el código. La primera es que use la dirección I2C de tu módulo y declare la pantalla como 20, 4, por ejemplo LiquidCrystal_I2C lcd(0x3F, 20, 4). La segunda es que llame a lcd.init() en el setup.
¿Qué dirección I2C tiene, 0x27 o 0x3F?
Depende del chip del módulo I2C, que trae el modelo impreso. Con PCF8574T la dirección es 0x27 y con PCF8574AT es 0x3F, en ambos casos con los puentes A0, A1 y A2 abiertos, como se ven en las fotos. Soldar esos puentes mueve la dirección dentro del rango de cada chip (0x20 a 0x27 o 0x38 a 0x3F). Si no alcanzas a leer el chip, carga un escáner I2C en tu Arduino y usa en el código la dirección que muestre el monitor serie.
¿Viene con el módulo I2C soldado? ¿Cuántos cables necesita?
Sí. El módulo I2C viene soldado detrás de la pantalla y deja 4 pines a la vista. Necesitas 4 cables, 2 de alimentación (GND y VCC a 5 V) y 2 de datos (SDA y SCL). Conecta cada uno según la sigla impresa junto al pin en el módulo. En Arduino Uno y Nano, SDA va a A4 y SCL a A5; en Mega, a los pines 20 y 21.
¿Funciona con ESP32 o con placas de 3,3 V?
Sí, con un conversor de nivel lógico en SDA y SCL. La pantalla se alimenta con 5 V, y a ese voltaje la hoja de datos del PCF8574 pide al menos 3,5 V en SDA y SCL para leer un nivel alto. Los 3,3 V de un ESP32 o de una Raspberry Pi quedan bajo ese umbral. Un conversor bidireccional de 5 V a 3,3 V resuelve la diferencia con 2 de sus canales.







