Arduino en Español – Parte 7 – Protocolo I2C y LCD 2004A

En este capítulo vamos a controlar una pantalla LCD (Pantalla de Cristal Liquido en inglés) 2004A a través del protocolo I²C, que es igual que la LCD 1602A, solo cambia que una es de 20 caracteres x 4 columnas y la otra es 16 caracteres x 2 columnas.

Puedes ver como conectarla por conexión serie aquí: TUTORIAL DE ARDUINO EN ESPAÑOL – PARTE 5 – MANEJO DE PANTALLA LCD 2004A CON CONEXIÓN SERIE

Gracias al LCD, podemos mostrar cualquier carácter alfanumérico por pantalla, así como símbolos.

En este caso vamos a conectarla a nuestro Arduino a través de la conexión I²C que lleva incorporada, de tal manera que no necesitaremos de ningún controlador adicional.

Esquema de conexionado

El esquema de conexionado es bastante sencillo.

Tenemos el LCD 2004A (1) que va conectado al LCM 1602 IIC (2) (en mi caso, mi pantalla ya venia con la placa I2C soldada detrás por lo que no tenía que tocar nada)

El LCM 1602, con sus 4 pines irá conectado de la siguiente manera.

El pin GND ira al GND del Arduino así como el VCC irá a +5V.

El pin SDA irá conectado con el cable naranja al pin SDA de Arduino (A4 en Arduino Uno / 20 en Arduino Mega) y el pin SCL con el cable azul irá conectado al pin SCL de Arduino (A5 en Arduino Uno / 21 en Arduino Mega)

Ejemplo de código de Arduino

#include <LiquidCrystal.h>

bool blink = false;

//LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3);
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

void setup() {
  lcd.begin(20,4);
}

void loop() {
  // put your main code here, to run repeatedly:
   lcd.setCursor(0 ,0);
   lcd.print("15/08/2022 12:45:");
   if(blink)
   {
      lcd.setCursor(11,3);
      lcd.print("1,50 EUR");
      blink = false;
   }
   else
   {
      lcd.setCursor(11,3);
      lcd.print("              ");
      blink = true;
   }
   delay(500);
}

Analizando el Sketch, para controlar la pantalla LCD 2004A / 1602A usaremos la librería de LiquidCrystal_I2C, que no estará disponible en Arduino, por lo que tendremos que descargarla e incluirla nosotros mismos.

Librería I2C: http://www.mediafire.com/file/4xzujgh16n1d0l8/file

Como instalar una librería a Arduino desde archivo ZIP

Este Sketch es el mismo que usamos en Tutorial de Arduino en Español – Parte 5 – Manejo de Pantalla LCD 2004A con conexión Serie pero cambiamos el constructor LiquidCrystal lcd(7,6,5,4,3,2); por LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

De los parámetros del constructor, nos interesa el 0x27, que representa la dirección del bus I2C del LCD así como el parámetro POSITIVE, que es la polaridad de la retroiluminación.

Descarga el código de ejemplo: Tutorial de Arduino en Español – Parte 7 – Protocolo I2C y LCD 2004A

Deja un comentario