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.
Modulo LCD de 16x2
Ejemplos de Caracteres Personalizados
MATERIALES Y EQUIPO
PROCEDIMIENTO
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