Biblioteca y código de Arduino para pantalla LCD2004 con I2C
En este tutorial exploraremos cómo usar la pantalla LCD2004 con comunicación I2C. Esta configuración te permite mostrar texto en cuatro líneas, lo que la hace ideal para diversas aplicaciones. Cubriremos el cableado requerido, fragmentos de código y cómo implementar la funcionalidad de forma efectiva.

Usaremos la biblioteca LiquidCrystal_I2C para gestionar la pantalla LCD. Esta biblioteca simplifica la interacción con la LCD al encargarse de la comunicación I2C por ti. Para una comprensión completa, asegúrate de ver el video para orientación visual (en el video a 00:00).
Hardware explicado
El componente principal de este proyecto es la pantalla LCD2004, que cuenta con 20 columnas y 4 filas para la salida de texto. Se comunica mediante I2C, lo que permite menos conexiones en comparación con las conexiones paralelas tradicionales. Esto la hace adecuada para proyectos con disponibilidad limitada de pines en el Arduino.
La interfaz I2C utiliza dos líneas, SDA (línea de datos) y SCL (línea de reloj), que se conectan a los pines correspondientes del Arduino. La pantalla LCD también requiere conexiones de alimentación y tierra. En esta configuración, conectaremos la pantalla a una fuente de alimentación de 5V, que puede ser suministrada directamente por el Arduino.
Detalles de la ficha técnica
| Fabricante | Genérico |
|---|---|
| Número de pieza | LCD2004 |
| Tensión lógica/E/S | 5 V |
| Tensión de alimentación | 5 V |
| Corriente de salida (por canal) | Típicamente 20 mA |
| Corriente de pico (por canal) | Típicamente 40 mA |
| Guía de frecuencia PWM | No aplica |
| Umbrales lógicos de entrada | 0.3 Vcc (bajo), 0.7 Vcc (alto) |
| Caída de tensión / RDS(on)/ saturación | Típicamente 0.2 V |
| Límites térmicos | 0 °C a 50 °C |
| Paquete | Pantalla LCD estándar 4x20 |
| Notas / variantes | Disponible con diferentes opciones de retroiluminación |
- Asegúrese de que el suministro de energía sea adecuado para evitar daños.
- Utilice resistencias pull-up en las líneas SDA y SCL si es necesario.
- Compruebe la dirección I2C; comúnmente 0x27 para esta pantalla.
- Mantén las conexiones cortas para minimizar la interferencia.
- Asegúrese de que la biblioteca esté correctamente instalada antes de subir el código.
Instrucciones de cableado
Para conectar la pantalla LCD2004 mediante I2C al Arduino, siga estas conexiones:
- Conecte el
VCCpin del LCD al5Vpin en el Arduino. - Conecte el
GNDpin de la pantalla LCD a unGNDpin en el Arduino. - Conecte el
SDApin del LCD alA4pin del Arduino. - Conecte el
SCLpin del LCD alA5pin en el Arduino.
Si tu placa Arduino tiene pines I2C diferentes, asegúrate de ajustar las conexiones en consecuencia. El video también muestra una configuración de cableado alternativa (en el video a 01:30).

Ejemplos de código y guía paso a paso
Veamos un ejemplo sencillo de cómo inicializar la pantalla LCD y mostrar un mensaje. El siguiente fragmento configura la pantalla LCD e imprime "Hello, world!" en ella.
lcd.begin(); // Initialize the LCD
lcd.backlight(); // Turn on the backlight
lcd.print("Hello, world!"); // Display message
Este código inicializa la pantalla LCD y activa la retroiluminación. Luego muestra el mensaje en la primera línea de la pantalla LCD. La retroiluminación es esencial para la visibilidad en condiciones de poca luz.
A continuación examinaremos un ejemplo más complejo que muestra datos dinámicos, como lecturas de voltaje.
lcd.setCursor(0,0); // Set cursor to the first line
lcd.print("Voltage: "); // Display voltage label
float v = 8.254; // Example voltage value
lcd.print(v); // Print voltage value
En este fragmento establecemos la posición del cursor en la primera línea y mostramos una etiqueta de voltaje seguida del valor real del voltaje. Esto le permite mostrar mediciones en tiempo real en un formato amigable para el usuario.

Para funcionalidad adicional, puedes implementar entrada serial para permitir que los usuarios introduzcan caracteres mediante el monitor serial y mostrarlos en la pantalla LCD.
if (Serial.available()) { // Check for serial input
lastChar = Serial.read(); // Read the last character
lcd.write(lastChar); // Display character on LCD
}
Este código comprueba si hay datos disponibles en el puerto serie. Si es así, lee el último carácter ingresado y lo muestra en la pantalla LCD. Esta interacción mejora la experiencia del usuario al permitir pantallas dinámicas basadas en la entrada del usuario.
Para ver el código completo, consulte el programa completo cargado más abajo en el artículo.
Demostración / Qué esperar
Cuando ejecutes el código, deberías ver el mensaje inicial mostrado en la LCD, seguido de las lecturas de voltaje y de cualquier carácter introducido a través del monitor serial. Asegúrate de que las conexiones estén firmes para evitar problemas de visualización. Si la LCD no muestra nada, vuelve a comprobar el cableado y la dirección I2C (en el video a las 02:15).
Recursos y referencias
-
ExternoGenerador de personajes (GitHub)maxpromer.github.io
-
ExternoGenerador de personajes (segunda fuente)omerk.github.io
-
ExternoObtener la biblioteca de GitHubgithub.com
Archivos📁
No hay archivos disponibles.