LCD 16×2 I2C con Arduino

LCD 16×2 I2C con Arduino

El LCD 16×2 I2C (LCD significa “Liquid Crystal Display” o display de cristal líquido) es la versión I2C del display más común disponible para Arduino. Elegí la versión I2C para presentar primero (luego presentaré la versión común), ya que es la más facil de integrar ya que se comunica solo con 2 pines, dejando el resto disponible para otras conexiones que necesitemos.

El LCD 16×2 I2C

LCD 16x2 I2C visto de frente

De frente son todos iguales, con 2 lineas de 16 caracteres de 8 x 5 pixels cada uno, disponen de un backlight (luz trasera) que permite usarlos aun sin luz. En su parte de atrás veremos algo especial, y es que posee una interface o plaquetita adicional conectada al display que nos brinda la conexión I2C que tanto nos interesa.

LCD 16x2 I2C desde atrás

Conectando el LCD 16×2 I2C a nuestro Arduino

Para conectar nuestro LCD 16×2 I2C seguiremos la siguiente table dependiendo de si usaremos un Arduino UNO o un MEGA 2560:

[table id=10 /]

Al alimentar nuestro Arduino, veremos que el display prende su backlight o luz trasera dejando ver sus matrices de 5×8 en formación de 16 caracteres x 2 filas.

La librería

Para hacer andar nuestro LCD 16×2 I2C usaremos una librería que nos simplificará mucho la tarea. La misma ya posee suficientes funcionalidades como para los usos típicos, y varios ejemplos que nos brindan información sobre cómo extender su uso y adaptarla a nuestras necesidades. La librería que debe descargar e instalar es la siguiente: Arduino-Liquid-I2C-library

Probando el display

Luego de instalar la librería, procederemos a cargar el siguiente Sketch mediante nuestro Arduino IDE:

// La librería Wire.h es para I2C
#include <Wire.h> 
// La librería para el LCD 16x2 I2C
#include <LiquidCrystal_I2C.h>

// Nuestro LCD se comunica en la dirección 27h, e inicializamos la librería para 16x2
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  // Inicializamos el display
  lcd.begin();

  // Prendemos el backlight
  lcd.backlight();

  // Mostramos texto en linea 1
  lcd.print("Hola Mundo!");
  
  // Mostramos texto en linea 2
  lcd.setCursor(0, 1);
  lcd.print("ArduinoHobby.com");
}

void loop() {
}

Espero que lo disfruten y no dejen de compartir sus experiencias y/o comentarios.

2 comentarios en “LCD 16×2 I2C con Arduino”

  1. Hola, ya instale el lcd + I2C y he descargado las librerías indicadas pero aún sigue saliendo la primera linea encendida y la segunda oscura, pero sin texto.
    Mi arduino uno es generico.
    ¿Qué puedo hacer?

    • Varias cosas. Verificar el I2C, la direccion del display primero, que se comunique bien segundo. También se podría probar el display en paralelo pero es más complicado…

Deja un comentario