Uno de los objetivos en nuestros proyectos con arduino puede ser conocer determinados datos que necesitamos visualizar. Un método simple y eficaz para hacerlo es el uso de pantallas LCD. ¿ Cómo programar una pantalla LCD 16×2 en arduino ? Vamos a verlo enseguida.

¿Cómo programar una pantalla LCD 16×2?

El primer problema que surge cuando nos planteamos cómo programar una pantalla LCD 16×2 es el número de señales (pines de salida digitales) que debemos utilizar.

Si queremos programarla sin comunicación serie (ver más adelante), necesitaremos como mínimo utilizar 6 pines digitales de arduino. Podéis imaginar que , en un proyecto no demasiado complejo, ocupar 6 E/S (entradas/salidas) puede obligarnos a seleccionar una placa con más pines y, por lo tanto, incrementar los costes.

cómo programar una pantalla LCD

La pantalla LCD 16 x 2 cableada (fotografía F. Arroyo)

En la siguiente imagen vemos el conexionado de los distintos pines de la pantalla, que se realiza así:

cómo programar una pantalla LCD

Conexionado de la pantalla LCD (el potenciómetro sirve para regular el contraste de la pantalla)

 

cómo programar una pantalla LCD

Detalle del conexionado de la pantalla LCD (fotografía F. Arroyo)

La programación de esta pantalla es muy sencilla. Hay que descargarse la librería Liquidcrystal para el IDE de arduino y abrir uno de los ejemplos, cambiando los números apropiadamente.

O bien, podemos utilizar visualino. En la siguiente imagen se ven los bloques y el código a la derecha, que utiliza la citada librería:

cómo programar una pantalla LCD

Programación de la pantalla LCD. Librería LiquidCrystal

Cómo programar una pantalla LCD 16×2 mediante comunicación I2C

La ventaja de este sistema es que los distintos datos necesarios (para los que necesitábamos antes 6 cables) se transfieren a través de dos cables conectados a los pines SDA y SCL de arduino.

Para ello, necesitamos un driver que conecte los 16 pines a la placa de arduino a través de los cuatro cables de comunicación y alimentación (se ve encima de la pantalla LCD, en la foto).

Después, conectamos el driver a los pines GND, 5V, SDA y SCL, como se ve en la fotografía.

cómo programar una pantalla LCD

Conexionado de la pantalla LCD con el driver para la comunicación serie (fotografía F. Arroyo)

Una vez cableado, descargamos la librería LiquidCrystal_I2C y abrimos uno de los ejemplos asociados a la librería.

Después, comprobamos si funciona. Si no funciona, chequeamos en qué dirección está el componente I2C mediante I2CScanner. Este programa busca componentes a través del bus de comunicaciones I2C (pines SDA y SCL de arduino). Se copia el programa que aparece en la página enlazada (haces clic en get code) y se sube a la placa de arduino. Obtenemos en el monitor algo similar a esto:

cómo programar una pantalla LCD

Salida por el monitor del programa I2CScanner

Como se puede ver, en mi caso obtengo que el componente I2C se ha encontrado en la dirección 0x3F. Este dato hay que escribirlo en el ejemplo:

cómo programar una pantalla LCD

Ejemplo de la librería LiquidCrystal_I2C. Debe cambiarse el número 0x27 por 0x3F (en nuestro caso)

Una vez resuelto este pequeño inconveniente, el programa debe funcionar. Hemos utilizado 2 cables en lugar de 6.

 (fotografía de portada Federico Arroyo)