Cómo conectar una pantalla LCD 16×02 con controlador I2C a Arduino

En este pequeño tutorial veremos cómo conectar una pantalla / display LCD 16×02 con controlador I2C a una tarjeta Arduino, también encontrarás un código de programación para tus primeras pruebas.

Las pantallas LCD son dispositivos digitales de salida, es decir su funcionamiento consiste en recibir instrucciones del texto que se desea mostrar y mostrarlo. Es común utilizar la librería <LiquidCrystal.h> para controlar la pantalla de manera rápida y con pocas líneas de código, sin embargo se utilizan varios pines del Arduino y requiere de varias conexiones de alimentación lo que resulta en un circuito tedioso de armar. Al utilizar un controlador I2C reducimos el número de conexiones y de pines a usar en el Arduino, la comunicación entre el Arduino y la Pantalla LCD se realiza a través de los 2 pines de comunicación I2C y así el circuito se vuelve bastante sencillo. Para que el código de programación siga siendo corto utilizaremos las librerías externas <Wire.h> y <LiquidCrystal_I2C.h>.

Componentes Necesarios

  • Controlador I2C para LCD 16×02 y 20×04
  • Pantalla LCD 16×02
  • Arduino Uno
  • Protoboard Chica
  • Cables para conexiones M-H

Diagrama de Conexiones

Arduino Uno – LCD 16×02 – controlador I2C LCD

Pasos previos a cargar el código

Como mencionamos anteriormente, para comunicarnos con el controlador de la pantalla desde la tarjeta Arduino debemos implementar el protocolo serial de 2 pines llamado I2C. En este caso utilizaremos las librerías <Wire.h> y <LiquidCrystal_I2C.h> para realizar la comunicación de manera sencilla y con muy pocas líneas de código.

La librería <LiquidCrystal_I2C.h> no viene instalada por defecto en el IDE de Arduino por lo que debemos instalarla antes de poder compilar y cargar un código que haga uso de ella. Si necesitas ayuda realizando las instalaciones consulta aquí los pasos a seguir para que puedas continuar con este ejemplo.

Código de Arduino

Compilamos y cargamos el código a la tarjeta Arduino Uno y observamos el texto desplegado en la pantalla LDC 16×02.


#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

//Creamos el objeto lcd con la dirección 0x3F, 16 columnas y 2 filas
LiquidCrystal_I2C lcd(0x3F,16,2);  

void setup() {
  // Inicializamos el objeto lcd
  lcd.init();
  
  //Encendemos la luz de fondo.
  lcd.backlight();
  
  // Escribimos un Mensaje en la pantalla LCD.
  lcd.print("Hola Mundo");
}

void loop() {
   // Ubicamos el cursor en la primera posición(columna:0) de la segunda línea(fila:1)
  lcd.setCursor(0, 1);
   // Escribimos el número de segundos trascurridos
  lcd.print(millis()/1000);
  lcd.print(" Segundos");
  delay(100);
}

¡Sigue explorando!