En este tutorial enseñaremos a utilizar la pantalla LCD 16X2 con Arduino. Abordaremos lo más básico: desde la conexión de la pantalla con el arduino, mostrar cadenas de texto, enviar la lectura de un sensor a la pantalla y finalmente llegaremos a generar caracteres personalizados en la pantalla para hacer aún más vistosos nuestros proyectos. Estaremos utilizando la librería LiquidCrystal que viene integrada en la instalación del IDE de arduino y nos permite controlar toda clase de pantallas compatibles con el controlador HD44780 ya sean de 16×2, 20×4 u otras configuraciones de caracteres.

Como adicional a este articulo recomendamos la lectura de nuestro otro artículo, donde explicamos como realizar la conexión de la pantalla LCD 16X2 a través de un adaptador I2C, esto permite la comunicación con pantallas de este tipo usando solamente dos pines.

Materiales necesarios

Para realizar las prácticas que se mencionan a continuación requerimos los siguientes materiales:

Como utilizar una pantalla LCD 16×2 con Arduino

Usar una pantalla LCD 16×2 con Arduino puede ser algo complicado por la cantidad de lineas de conexión que se requieren, por lo tanto dividiremos el proceso en varias fases para facilitarlo:

  • Conectar la pantalla LCD 16×2 a la alimentación de 5 volts, incluyendo la alimentación de la iluminación led
  • Colocar un potenciómetro para el ajuste de contraste
  • Conectar los pines de datos a la pantalla (modo de 4 bits o modo de 8 bits)
  • Conectar los pines de control RS y EN (de manera opcional el pin RW).

A continuación se muestran los diagramas de cada parte de este proceso de conexión; El primer paso consiste en la conexión de la alimentación, hay que fijarnos en la polaridad para evitar dañar la pantalla. En este caso utilizaremos los pines VSS(-), VDD(+), A(+) y K(-) para brindar la alimentación.

LCD 16X2 con Arduino - Alimentación de la pantalla

El siguiente paso es conexion de un potenciómetro de 10K que permite el ajuste del contraste, los extremos del potenciometro van al positivo y negativo de la alimentación, mientras que el cursor (centro) va al pin VO del módulo LCD.LCD 16X2 con Arduino - Potenciómetro de ContrasteA continuación conectamos los pines de datos D4, D5, D6, D7. Utilizaremos solamente estos 4 pines ya que operaremos la pantalla en Modo de 4 bits.

LCD 16X2 con Arduino - Conexión del bus de datos

Finalmente realizamos la conexión de los pines de control RS y E. El pin RW es opcional y en este caso no lo usamos para ahorrar un pin y mantener todo más simple.

LCD 16X2 con Arduino - Señales de control

Programación de la pantalla LCD 16×2 con Arduino

El siguiente programa es un ejemplo básico para comenzar a utilizar nuestra pantalla y probar que las conexiones se encuentran correctas. Al cargarlo debemos ver letras en pantalla y además una animación del texto moviéndose en la pantalla. Hemos comentado lo más posible el código de manera que sea fácil de entender.

Si no se visualiza nada en la pantalla cuando se carga este programa, recomendamos mover el potenciómetro del contraste y/o revisar las conexiones.

Mostrar el valor de un sensor en la pantalla LCD 16X2 con Arduino

Otro de los usos comunes de la pantalla LCD de 16×2 es mostrar valores medidos por sensores. El siguiente programa esta diseñado para ser un ejemplo de como desplegar el valor medido por un sensor en la pantalla, en este ejemplo estaremos utilizando un potenciómetro para simular la entrada del sensor. De nueva cuenta, hemos comentado el código para que se facilite su comprensión:

Crear y enviar caracteres personalizados a la pantalla LCD 16X2

Otro de los usos de la pantalla LCD de 16×2 con arduino es mostrar información gráfica. En este ejemplo, mostramos como definir caracteres personalizados que pueden enviarse al controlador de pantalla. Con esta funcionalidad del controlador HD44780 se pueden obtener resultados bastante vistosos, como puede verse en los siguientes ejemplos:

LCD 16X2 con Arduino - Caracteres personalizados

LCD 16X2 con Arduino - Caracteres personalizados

Cada carácter se define como un grupo de 8 bytes que se envían a la memoria CGRAM. Por ejemplo, podemos crear un icono con una carita feliz de la siguiente forma:

Traducido a código en C quedaría de la siguiente forma:

A continuación mostramos el programa completo que define los caracteres personalizados y luego los muestra en la pantalla.

Conclusión

  • En este artíuculo aprendimos a cablear una pantalla LCD 16X2 con Arduino en modo de 4 bits
  • Aprendimos que una pantalla puede usar un minimo de 6 pines de conexión con el microcontrolador
  • Realizamos un programa que muestra el valor leido por un sensor en una pantalla LCD de 16×2 con Arduino
  • Exploramos las posibilidades que ofrecen los caracteres personalizados
  • Mencionamos la posibilidad de conectar este tipo de display a través del bus I2C

Los pagos realizados mediante Paypal no podrán ser facturados. Solo se facturarán ordenes pagadas mediante deposito. Ignorar