Pantalla LCD 16x2 con módulo I2C (PCF8574): qué es I2C y cómo conectarla a Arduino

Solo 4 cables: qué es el bus I2C, cómo encontrar la dirección de tu módulo y el código para tu primer mensaje.

La pantalla LCD 16x2 con módulo I2C es la misma pantalla de siempre, pero con una plaquita detrás que reduce la conexión a solo 4 cables. En esta guía te explicamos qué es I2C, cómo conectarla al Arduino Uno, cómo encontrar la dirección de tu módulo y el código para tu primer mensaje.

🔌Solo 4 cables
GND, VCC, SDA y SCL
📍2 pines del Arduino
A4 y A5 en el Uno
🎛️Contraste incluido
el potenciómetro viene en el módulo

¿Qué es I2C?

I2C (se lee "i dos c" o "i cuadrado c") es una forma de comunicación en la que varios módulos comparten los mismos 2 cables:

  • SDA (datos): por aquí viajan la información y las órdenes.
  • SCL (reloj): marca el ritmo para que el Arduino y el módulo se entiendan.

Diagrama del bus I2C: un Arduino Uno con sus pines A4 (SDA) y A5 (SCL) conectado por dos cables a una pantalla LCD con PCF8574, un reloj DS3231 y otro módulo I2C.

El Arduino es el que manda, y cada módulo tiene una dirección: un número que lo identifica, como 0x27. Es como un edificio: hay un solo pasillo (los 2 cables) y cada departamento tiene su número. Cuando el Arduino quiere escribir en la pantalla, "toca la puerta" de su dirección y solo ella responde.

¿Qué significa el "0x"? Indica que el número está escrito en hexadecimal, la forma en que se suelen escribir las direcciones I2C. Así lo vas a ver en los códigos y en el escáner de más abajo.

Gracias a esto puedes conectar en los mismos 2 cables la pantalla, un reloj DS3231 y otros sensores I2C. La única regla: no puede haber dos módulos con la misma dirección en los mismos cables.

¿Qué cambia respecto a la LCD normal?

Si ya leíste nuestra guía de la pantalla LCD 16x2 con Arduino, esta es la diferencia:

LCD 16x2 normalLCD 16x2 con I2C
Pines de la pantalla que conectas124
Pines del Arduino que ocupa6 (más 5V y GND)2: SDA y SCL (más 5V y GND)
Potenciómetro de contrasteLo pones tú en la protoboardYa viene en el módulo
Luz de fondoResistencia de 220 ΩSe enciende y apaga desde el código
LibreríaLiquidCrystal (ya viene en el IDE)LiquidCrystal I2C (se instala una vez)

El módulo I2C (PCF8574)

Pantalla LCD 16x2 con módulo I2C PCF8574 soldado en la parte de atrás, con 4 pines y un potenciómetro azul de contraste.

La plaquita negra de atrás tiene un chip PCF8574: recibe las órdenes por los 2 cables del I2C y las pasa a los 16 pines de la pantalla. Por eso, para el Arduino, la pantalla pasa a ser un módulo I2C más.

Puedes encontrarla ya soldada a la pantalla, o comprar el módulo suelto y soldarlo tú a una LCD 16x2 o 20x4.

Partes del módulo I2C PCF8574: 4 pines GND VCC SDA SCL, potenciómetro azul de contraste, chip PCF8574, jumper LED de la luz de fondo y puntos A0 A1 A2 para cambiar la dirección.

  • 4 pines (GND, VCC, SDA, SCL): son los únicos que van al Arduino.
  • Potenciómetro azul: ajusta el contraste. Si no ves las letras, casi siempre es esto.
  • Jumper LED: si tu módulo lo tiene, debe estar puesto para que se encienda la luz de fondo.
  • A0, A1 y A2: sirven para cambiar la dirección. Los vemos más abajo.

¿0x27 o 0x3F? Depende del chip

La dirección de fábrica depende de la versión del chip que traiga tu módulo, y el nombre está impreso encima:

Chip impresoDirecciones posiblesNormalmente viene en
PCF8574 (por ejemplo PCF8574T)0x20 a 0x270x27
PCF8574A (por ejemplo PCF8574AT)0x38 a 0x3F0x3F

Como los módulos pueden venir de distintos fabricantes, la forma segura de saberlo es con el escáner I2C: un código corto que le pregunta a cada dirección quién está conectado. Te lo dejamos más abajo.

Cómo conectarla al Arduino Uno

Conexión de la pantalla LCD 16x2 I2C al Arduino Uno con 4 cables: GND a GND, VCC a 5V, SDA a A4 y SCL a A5.

Módulo I2CArduino Uno / NanoArduino Mega 2560
GNDGNDGND
VCC5V5V
SDAA420 (SDA)
SCLA521 (SCL)

Guíate siempre por los nombres impresos en tu módulo, no por la posición de los pines. Si es tu primera vez con estos pines, revisa nuestra guía de pines del Arduino Uno.

Paso 1: encuentra la dirección con el escáner I2C

Abre el Arduino IDE, copia este código y súbelo con la pantalla ya conectada. No necesitas instalar nada: la librería Wire ya viene incluida.

#include <Wire.h>

void setup() {
  Wire.begin();
  Serial.begin(9600);
  Serial.println("Buscando dispositivos I2C...");

  byte encontrados = 0;
  for (byte direccion = 1; direccion < 127; direccion++) {
    Wire.beginTransmission(direccion);
    if (Wire.endTransmission() == 0) {   // 0 = alguien respondió
      Serial.print("Encontrado en la direccion 0x");
      if (direccion < 16) Serial.print("0");
      Serial.println(direccion, HEX);
      encontrados++;
    }
  }

  Serial.print("Listo: ");
  Serial.print(encontrados);
  Serial.println(" dispositivo(s) encontrado(s)");
}

void loop() {
}

Abre el Monitor Serie (la lupa arriba a la derecha del IDE) y elige 9600 baudios. Verás algo así:

Monitor Serie del Arduino IDE mostrando el resultado del escáner I2C: Encontrado en la direccion 0x27.

Anota la dirección que te salió. Si dice 0 dispositivos, revisa los cables antes de seguir: que SDA y SCL no estén invertidos y que GND y VCC estén bien conectados.

Paso 2: instala la librería LiquidCrystal I2C

  1. En el Arduino IDE, abre el menú Herramientas → Administrar bibliotecas (o el ícono de libros de la izquierda).
  2. Busca LiquidCrystal I2C.
  3. Instala la de Frank de Brabander.

Paso 3: tu primer mensaje

Copia este código, cambia 0x27 por la dirección que te dio el escáner y súbelo:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// (dirección, columnas, filas): pon aquí la dirección de tu escáner
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  lcd.init();                     // inicia la pantalla
  lcd.backlight();                // enciende la luz de fondo
  lcd.setCursor(0, 0);            // columna 0, fila 1
  lcd.print("Hola Nanoparuro!");
}

void loop() {
  lcd.setCursor(0, 1);            // columna 0, fila 2
  lcd.print("Segundos: ");
  lcd.print(millis() / 1000);     // tiempo desde que encendió
  delay(200);
}

Si todo está bien, verás "Hola Nanoparuro!" en la primera fila y un contador de segundos en la segunda. Si la luz se enciende pero no ves letras, gira el potenciómetro azul del módulo.

¿Tienes la pantalla de 20x4? Funciona igual: solo cambia la línea a LiquidCrystal_I2C lcd(0x27, 20, 4); (con tu dirección) y ya puedes usar 4 filas de 20 caracteres.

Funciones que más vas a usar

FunciónQué hace
lcd.print("texto")Escribe texto o números donde está el cursor.
lcd.setCursor(columna, fila)Mueve el cursor. Se cuenta desde 0: la primera fila es 0 y la segunda es 1.
lcd.clear()Borra toda la pantalla.
lcd.backlight() / lcd.noBacklight()Enciende o apaga la luz de fondo desde el código.
lcd.createChar(n, dibujo)Crea hasta 8 caracteres propios, como un corazón o una flecha.

Problemas comunes

Tres pantallas LCD I2C: una solo con luz y sin letras, una con cuadros en la primera fila y una mostrando el texto correctamente.

Solo luz, sin letras

Casi siempre es el contraste: gira el potenciómetro azul del módulo despacio, de un extremo al otro. Si sigue igual, revisa con el escáner que la dirección del código sea la correcta.

Cuadros en la fila 1

La pantalla tiene energía, pero no le llegan los datos. Revisa que SDA vaya a A4 y SCL a A5, y que la dirección del código sea la del escáner.

No enciende la luz

Revisa GND y VCC, que el jumper LED esté puesto (si tu módulo lo tiene) y que el código tenga lcd.backlight();.

Preguntas frecuentes

¿Puedo conectar dos pantallas I2C al mismo Arduino?

Sí, siempre que tengan direcciones distintas. Si las dos vienen con la misma, a una le puedes cambiar la dirección uniendo con un punto de soldadura alguno de los pares A0, A1 o A2 del módulo. Después vuelve a usar el escáner para ver su nueva dirección y crea una segunda pantalla en el código, por ejemplo LiquidCrystal_I2C lcd2(0x26, 16, 2); con la dirección que te salga. Si es tu primera vez soldando, revisa nuestros tips para soldar.

Compré el módulo suelto, ¿cómo lo pongo en mi pantalla?

Sus 16 pines se sueldan a los 16 pines de la pantalla, por la parte de atrás. Fíjate en que queden alineados pin con pin y que el módulo no tape la pantalla. Si nunca has soldado, te recomendamos comprar la pantalla con el módulo ya soldado.

¿Qué otros módulos usan I2C?

Muchos. Por ejemplo, la pantalla OLED 0.96", el reloj DS3231, el sensor de luz BH1750, el driver de servos PCA9685 y el conversor ADS1115. Todos se conectan a los mismos SDA y SCL, y con el escáner puedes ver la dirección de cada uno.

¿Listo para conectar tu pantalla con solo 4 cables? Encuéntrala en Nanoparuro.

LCD 16x2 con I2C LCD 20x4 con I2C Solo el módulo I2C
Pantalla LCD 16x2 con módulo I2C (PCF8574): qué es I2C y cómo conectarla a Arduino
Nanoparuro 14 de octubre de 2026
Compartir
Etiquetas
Identificarse dejar un comentario