Volver

Pantalla LCD 20x4 con Arduino: Hola Mundo en Velxio

Introducción

Bienvenido a otro tutorial de Velxio. Hoy vamos a construir un clásico proyecto Hola Mundo usando una pantalla LCD 20x4 y un Arduino Uno. Es un proyecto perfecto para principiantes que quieran aprender a interactuar con pantallas LCD de caracteres usando microcontroladores. Usaremos la popular librería LiquidCrystal, que facilita enormemente el control de la pantalla.

Al final de este artículo, serás capaz de cablear un LCD 20x4, escribir código para mostrar texto en varias líneas e incluso mostrar datos dinámicos como el tiempo de actividad. ¡Vamos allá!

Recorrido por el circuito

Diagrama del circuito lcd-hello en el lienzo del simulador Velxio

Nuestro circuito consta de dos componentes principales: un Arduino Uno y un LCD 20x4 (modelo wokwi-lcd2004). El LCD tiene 16 pines, pero solo necesitamos 6 de ellos para datos y control. Aquí está el cableado:

Estamos usando el modo de 4 bits, que solo requiere cuatro líneas de datos (D4–D7) en lugar de ocho. Esto ahorra valiosos pines de E/S. El LCD también necesita alimentación (5V) y tierra, pero en Velxio estas conexiones se realizan automáticamente al colocar los componentes.

Para construir este circuito en Velxio:

  1. Abre el ejemplo LCD Hola Mundo o inicia un nuevo proyecto.
  2. Usa el selector de componentes para añadir un Arduino Uno y un LCD 20x4. Selector de componentes de Velxio explorando piezas por categoría
  3. Haz clic en los pines y arrastra los cables para que coincidan con las conexiones anteriores. Puedes cambiar el color de los cables haciendo clic en la muestra de color.
  4. Tu lienzo debería verse como el diagrama del circuito de arriba.

Recorrido por el código

Código fuente de lcd-hello en el editor Monaco de Velxio

Ahora veamos el código. Abre el editor de código en Velxio (verás el editor Monaco con resaltado de sintaxis). Aquí está el sketch completo:

// LiquidCrystal Library - Hello World
// Demonstrates the use a 20x4 LCD display

#include <LiquidCrystal.h>

// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(20, 4);
  // Print a message to the LCD.
  lcd.print("Hello, Arduino!");
  lcd.setCursor(0, 1);
  lcd.print("Velxio Emulator");
  lcd.setCursor(0, 2);
  lcd.print("LCD 2004 Test");
}

void loop() {
  // set the cursor to column 0, line 3
  lcd.setCursor(0, 3);
  // print the number of seconds since reset:
  lcd.print("Uptime: ");
  lcd.print(millis() / 1000);
}

Cómo funciona

  1. Incluir la librería: #include <LiquidCrystal.h> nos da acceso a todas las funciones del LCD.
  2. Definir pines: Creamos constantes para los números de pin: rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2. Coinciden con nuestro cableado.
  3. Crear objeto LCD: LiquidCrystal lcd(rs, en, d4, d5, d6, d7); le indica a la librería qué pines están conectados.
  4. En setup():
    • lcd.begin(20, 4); inicializa la pantalla con 20 columnas y 4 filas.
    • lcd.print() escribe texto en la posición actual del cursor.
    • lcd.setCursor(col, fila) mueve el cursor a una posición específica (basada en 0).
  5. En loop():
    • Movemos el cursor a la fila 3, columna 0.
    • Imprimimos “Uptime: ” seguido de millis() / 1000 (segundos desde el reinicio).

Para ejecutar el código, haz clic en el botón Compilar de la barra de herramientas y luego en Ejecutar. Barra de herramientas del editor de Velxio con controles de compilar y ejecutar Barra de herramientas del lienzo de Velxio sobre la ventana de simulación

Conceptos clave

Errores comunes y consejos de depuración

Extensiones sugeridas

Una vez que tengas el Hola Mundo básico funcionando, prueba estas mejoras:

  1. Texto desplazable: Usa lcd.scrollDisplayLeft() o lcd.scrollDisplayRight() para crear mensajes que se desplacen.
  2. Mostrar datos de sensores: Lee un sensor analógico (por ejemplo, un potenciómetro) y muestra su valor en el LCD.
  3. Caracteres personalizados: Crea tus propios símbolos usando lcd.createChar().
  4. Entrada con botón: Añade un botón para cambiar el mensaje mostrado.
  5. Múltiples pantallas: Usa una máquina de estados para recorrer diferentes páginas de información.

¡Pruébalo tú mismo!

¿Listo para construir tu propio proyecto con LCD? Abre el ejemplo LCD Hola Mundo en Velxio y empieza a experimentar. Puedes modificar el código, cambiar el cableado o añadir nuevos componentes, todo en tu navegador, sin necesidad de hardware.

¡Feliz creación!


Compartir en:
David Montero

Escrito por

David Montero

Creator of Velxio, the open-source circuit and Arduino simulator.

GitHub velxio.dev

Artículos relacionados


Artículo anterior
Eco Serie con Arduino: Aprende Comunicación USART
Artículo siguiente
Demo de pantalla TFT ILI9341: Gráficos y pelota rebotante en Arduino