Las pantallas LCD suelen ser de muy bajo costo y por lo tanto ideales para su inclusión en nuestros proyectos Arduino que requieren desplegar datos alfanuméricos.
Estas pantallas LCD se encontrarán en cualquier tienda online, tanto en su presentación de 16 caracteres y 2 renglones (1602 LCD) como de 20 caracteres y 4 renglones (2004 LCD).
Incluso les puede ocurrir que ya tengan una cantidad de pantallas LCD que respondan a esta descripción, producto de sus andanzas en electrónica de la época de los PIC de Microchip -como ha sido mi caso-.
Pinout de pantalla LCD para Arduino
Puedes conectar directamente una pantalla LCD a tu arduino, pero requerirá utilizar 6 pines para ser controlada.
A su vez necesitarás agregar un mínimo de electrónica (un potenciómetro y un par de cables) para regular la retroiluminación que pueda tener tu pantalla LCD.
Si estás utilizando un Arduino Uno, que tiene suficientes pines configurables, o tu proyecto Arduino no requiere muchos otros pines para otras tareas, esta puede ser una solución que está publicada en la web de Fritzing.
Si tu camino es el que acabamos de relatar, simplemente necesitas agregar la librería de LiquidCrystal a tu proyecto Arduino y ver por ejemplo el siguiente código de ejemplo:
#include <LiquidCrystal.h> // inicializamos la librería con los pines que conectamos al LCD LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { // Le informamos a la librería cuantas columnas y renglones tiene: lcd.begin(16, 2); // Colocamos nuestra primer palabra! lcd.print("Hola ..."); } void loop() { // Nos movemos al siguiente renglón lcd.setCursor(0, 1); // imprimimos otro texto lcd.print("mundo!"); }
Pero si utilizas un módulo de Arduino como el ESP8266 que tiene una cantidad muy limitada de pines configurables, muy seguramente quieras agregarle un adaptador serial i2c a tu pantalla LCD.
Agregar adaptador i2C a pantalla LCD
El adaptador i2c para Pantalla LCD se puede adquirir también en cualquier tienda Online.
Cierto es que el costo del adaptador i2c abulta al del LCD y prácticamente estamos en el doble de costo. No obstante, en mi caso he reciclado y dado nueva vida a los LCD antiguos, además de divertirme soldando un poco. ¡Para mi esto es un hobby!
Con este adaptador i2c -que también puedescomprarlo ya previamente soldado en la pantalla LCD, solamente necesitarás dos pines del Arduino para comunicarte con él.
Además trae el potenciómetro para el brillo de la retroiluminación: ¡Todo resuelto!
Para utilizar este modo de comunicación entre tu Arduino y tu LCD, necesitarás utilizar una librería distinta: La LiquidCrystal_I2C.
El código, con la salvedad de la librería y su forma de inicialización, es idéntico:
#include <LiquidCrystal_I2C.h> // inicializamos la librería con los pines que conectamos al LCD LiquidCrystal_I2C lcd(0x27, 20, 4); //defino aqui cols y renglones void setup() { lcd.begin(); lcd.backlight(); //activo el backlight ! // Colocamos nuestra primer palabra! lcd.print("Hola ..."); } void loop() { // Nos movemos al siguiente renglón lcd.setCursor(0, 1); // imprimimos otro texto lcd.print("mundo!"); lcd.setCursor(0, 2); // ya que estamos ponemos mas texto! lcd.print("... como"); lcd.setCursor(0, 3); lcd.print("estan ?"); }
Nótese que al inicializar la Pantalla LCD tengo que incluír la dirección serial que tiene el adaptador i2c. Este dato debería estar incluído en la documentación del adaptador que adquirimos. En el caso de esta pantalla LCD, la dirección es 0x27.