Serial Display LCD

Analizamos en esta ocasión una pantalla alfanumérica LCD tipo FSTN de alto contraste, 2 lineas y 16 caracteres blancos sobre fondo negro, fabricado por Sparkfun Electronics y basado en el controlador HD44780 conectado mediante un PIC 16F88 que se encarga de la comunicación serie.

2x16 Serial Display LCD

En el datasheet vemos que el consumo es mínimo si tenemos apagada la retroiluminación (3 mA) lo cual puede sernos de utilidad en aplicaciones que requieran bajo consumo.
Para utilizarlo en nuestros montajes tan sólo necesitamos conectar 3 cables: Vcc, Gnd y Rx, o sea podemos enviar datos por el pin Rx pero el módulo no nos puede devolver información sobre su estado.

  • Voltaje Vcc=5 V, superar los 5.5 puede dañar el controlador
  • Consumo (backlight off): 3 mA
  • Consumo (backlight on): 60 mA

En la tabla vemos el juego de caracteres incluido en el módulo, corresponden a los del teclado anglosajón y además incluye caracteres en japonés y simbolos griegos. Set Caracteres HD44780

Observamos que los caracteres entre el 32 y el 123 coinciden con los codigos ASCII estandar. Del 161 al 223 tenemos el alfabeto japonés, a partir del 234 tenemos varios caracteres incluyendo símbolos griegos y sorprendentemente también tenemos nuestra “eñe” (char(238)), sin olvidar que hay reservados 2 de ellos para introducir los comandos de control: 124 (0x7C) y 254 (0xFE)

La primera fila de la tabla está reservada para los “custom-character”, es decir, caracteres definidos por el usuario que se graban en la memoria CGRAM, incluso existen utilidades online para crearlos. Esto podría hacerse programando el HD44780 que controla la pantalla, sin embargo los datos se envían vía serial al PIC 16F88 que es quién realmente envía las instrucciones al HD44780, por tanto en principio no es posible hacer esta operación con este módulo.

Al iniciar el display, el cursor queda situado al principio (fila0, columna0) y según se van imprimiendo caracteres se va desplazando de modo que al llegar al final de la pantalla (caracter 32) lo siguiente que escribamos aparece de nuevo al principio superponiendo caracteres.

Los comandos de control se introducen mediante “write(0xFE)” más el código correspondiente según aparece en el datasheet del fabricante; básicamente permite regular la intensidad de la retroiluminación y marcar dónde se encuentra el cursor. Para aprovechar estas características defino unas sencillas funciones como puede verse en el listado del Ejemplo1

Ejemplo1: Serial Monitor

El programa introduce caracteres por el serial y los muestra en el display La forma más simple de introducir datos es a través de la herramienta “Serial Monitor” del IDE de Arduino, nos permite visualizar los datos enviados por el puerto serie y también introducirlos por el cuadro de texto.

Mediante este programa de ejemplo podemos probar fácilmente todos los caracteres y códigos de control que admite el módulo asi vemos como quedarían representados.
Puedes experimentar viendo los caracteres imprimibles y el resultado mostrado en el display.

 

Ejemplo2: Mostrar caracter

Introduciendo ahora el numero (decimal) del caracter nos muestra el símbolo correspondiente al display, asi podemos comprobar el juego de caracteres pregrabado

Códigos de este tutorial

Descargar ejemplos

También te podría gustar...