Display LCD con Arduino

Implementación de Pantalla LCD 16x2 con Caracteres Personalizados y Texto Centrado

OBJETIVOS

Objetivo General

Desarrollar e implementar un sistema de visualización utilizando pantalla LCD 16x2 con Arduino UNO para mostrar texto centrado y caracteres personalizados en posiciones específicas.

Objetivos Específicos

  • Configurar la comunicación entre Arduino UNO y pantalla LCD 16x2 mediante protocolo I2C
  • Programar la visualización de texto centrado en ambas líneas del display
  • Crear y mostrar caracteres personalizados en las cuatro esquinas de la pantalla
  • Verificar el correcto funcionamiento del sistema de visualización

MARCO TEÓRICO

Pantalla LCD 16x2

Display de cristal líquido que permite mostrar 2 líneas de 16 caracteres cada una. Utiliza controlador HD44780 y puede funcionar en modo paralelo (6-12 pines) o I2C (2 pines). Ideal para mostrar información textual y numérica en proyectos embebidos.

Protocolo de Comunicación I2C

Bus de comunicación serial que utiliza solo dos líneas: SDA (datos) y SCL (reloj). Permite conectar múltiples dispositivos con direcciones únicas. Simplifica las conexiones y libera pines del microcontrolador para otras funciones.

Caracteres Personalizados CGRAM

La memoria CGRAM (Character Generator RAM) del controlador HD44780 permite crear hasta 8 caracteres personalizados de 5x8 píxeles. Cada carácter se define mediante un array de bytes que representa el patrón de píxeles.

Posicionamiento y Centrado de Texto

El control de cursor en LCD permite posicionar texto en coordenadas específicas (columna, fila). El centrado se calcula considerando la longitud del texto y el ancho disponible: posición = (16 - longitud_texto) / 2.

Circuito LCD Arduino

Modulo LCD de 16x2

Caracteres personalizados LCD

Ejemplos de Caracteres Personalizados

MATERIALES Y EQUIPO

Arduino UNO
LCD 16x2 con I2C
Módulo I2C para LCD
Protoboard
Cables de conexión
Fuente de alimentación 5V
Potenciómetro (contraste)

PROCEDIMIENTO

Conectar la pantalla LCD con módulo I2C al Arduino: SDA a pin A4, SCL a pin A5, VCC a 5V y GND a tierra.
Incluir y configurar la librería LiquidCrystal_I2C en el código Arduino para la comunicación con el display.
Crear los caracteres personalizados definiendo los patrones de píxeles en arrays de bytes de 8 elementos.
Programar la lógica para centrar el nombre en la primera línea y el apellido en la segunda línea.
Posicionar los caracteres personalizados en las coordenadas de las cuatro esquinas: (0,0), (15,0), (0,1), (15,1).

Simulación en Tinkercad - Display LCD

TABLA DE RESULTADOS - VISUALIZACIÓN LCD

Elemento Posición Contenido Esperado Resultado Real Observaciones
Línea 1 Centrada Nombre centrado Correcto Texto alineado correctamente
Línea 2 Centrada Apellido centrado Correcto Texto alineado correctamente
Esquina superior izq. (0,0) Carácter personalizado Correcto Símbolo visible
Esquina superior der. (15,0) Carácter personalizado Correcto Símbolo visible
Esquina inferior izq. (0,1) Carácter personalizado Correcto Símbolo visible
Esquina inferior der. (15,1) Carácter personalizado Correcto Símbolo visible

ANÁLISIS Y DISCUSIÓN

  • ¿Se logró centrar correctamente el texto en ambas líneas del LCD? El algoritmo de centrado calculó correctamente las posiciones basándose en la longitud del texto.
  • ¿Los caracteres personalizados se visualizaron en las posiciones correctas? Los cuatro caracteres aparecieron exactamente en las esquinas especificadas.
  • ¿Qué ventajas ofrece el uso de I2C para la conexión LCD? Reduce significativamente el número de cables necesarios de 12 a solo 4 conexiones.
  • ¿Cómo afecta el contraste del LCD a la visualización? Un ajuste adecuado del contraste es fundamental para la legibilidad del texto y los caracteres.

CONCLUSIONES

  • Se implementó exitosamente la visualización de texto centrado en pantalla LCD 16x2 utilizando Arduino UNO
  • Los caracteres personalizados se crearon y posicionaron correctamente en las cuatro esquinas del display
  • La comunicación I2C simplificó las conexiones y permitió un control eficiente del LCD
  • El algoritmo de centrado de texto funcionó correctamente para ambas líneas del display
  • El sistema demostró ser confiable para aplicaciones que requieren interfaz visual personalizada
  • La capacidad de crear caracteres personalizados amplía las posibilidades de diseño de interfaces gráficas básicas

ANEXOS

Esquema de conexiones I2C
Capturas de simulación Tinkercad
Patrones de caracteres personalizados
Código fuente del programa