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:

LCD 16x2 I2CArduino UNOArduino Mega
GNDGNDGND
VCC5V5V
SDAA4 / SDA20 / SDA
SCLA5 / SCL21 / SCL

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.

Deja un comentario