Pantalla I2C LCD 1602 Arduino

La pantalla LCD 16×02 para microcontrolador Arduino permite mostrar visualmente los datos de los sensores. Le mostraremos cómo conectar el módulo QAPASS LCD al Arduino vía I2C y veremos los comandos básicos de inicialización y control del display LCD 1602a. También veremos las diversas funciones del lenguaje de programación C++ para mostrar información textual en la pantalla que puede querer utilizar en sus proyectos Arduino Uno.

Para esta actividad necesitaremos:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • pantalla LCD 16×2 i2c;
  • protoboard;
  • cables de conexion;
  • libreria LiquidCrystal_I2C.h

Interfaz I2C para la conexión del pantalla LCD Arduino

Interfaz i2c Arduino para la conexión de dispositivos
Interfaz i2c Arduino para la conexión de dispositivos

I2C es un bus en serie de dos hilos para interconectar circuitos integrados dentro de dispositivos electrónicos, conocido como I²C o IIC (Inter-Integrated Circuit). I²C fue desarrollado por Philips a principios de los años 80 como un sencillo bus de 8 bits para la comunicación interna entre circuitos de la electrónica de control (por ejemplo, ordenadores en placas base, teléfonos móviles y otros aparatos eléctricos modernos en el hogar).

En un sistema I²C sencillo, puede haber varios dispositivos esclavos y un dispositivo maestro que inicia la transferencia de datos y sincroniza la señal. Se pueden conectar varios esclavos (hasta 128 dispositivos) a la línea SDA (línea de datos) y SCL (línea de reloj). El dispositivo maestro suele ser un controlador Arduino y los dispositivos esclavos pueden ser un reloj en tiempo real, una pantalla oled o sensores compatibles con este protocolo de comunicación.

Cómo conectar LCD 1602 Arduino sin módulo I2C

Conexión LCD 16×2 Arduino sin módulo I2C
Conexión LCD sin módulo I2C, conectar LCD a Arduino

La pantalla de texto de 16×2 se utiliza para mostrar la información de los sensores, los menús o los avisos. La pantalla muestra caracteres negros con un tamaño de 5×8 píxeles. La luz de fondo incorporada se enciende cuando se aplica energía a los pines del módulo. La pantalla 16×2 sin módulo IIC está conectada al microcontrolador a través de 16 pines. En la figura anterior se muestra el pinout de la pantalla LCD 1602 con un ejemplo de conexión.

Programa Arduino para LCD 1602 sin módulo I2C

#include "LiquidCrystal.h"
LiquidCrystal LCD(13, 12, 11, 10, 9, 8);
 
void setup() {
   LCD.begin(16, 2);

   LCD.setCursor(1, 0);
   LCD.print("HELLO");
  
   LCD.setCursor(8, 1);
   LCD.print("WORLD");
}
 
void loop() {

}

Explicación del código del display LCD 1602 sin I2C:

  1. la biblioteca estándar LiquidCrystal.h para QAPASS se utiliza para este ejemplo;
  2. para simplificar el circuito y no utilizar un gran número de pines del microcontrolador, debes utilizar una pantalla con un módulo i2c.

Cómo conectar la pantalla LCD 1602 I2C Arduino

Conexión y uso de la pantalla LCD Arduino
Conexión y uso de la pantalla LCD i2c con Arduino
LCD 1602 i2c Arduino Uno Arduino Nano Arduino Mega
GND GND GND GND
VCC 5V 5V 5V
SDA A4 A4 20
SCL A5 A5 21

La pantalla LCD 1602 con el módulo I2C se conecta a la placa Arduino con sólo 4 cables – 2 cables de datos y 2 cables de alimentación. La conexión del QAPASS 1602a al microcontrolador Arduino se realiza de forma estándar en el bus I2C: El pin SDA se conecta al puerto A4, el pin SCL al puerto A5. La pantalla LCD se alimenta a través del puerto de +5V. En la figura anterior se muestra un diagrama de cableado detallado de la pantalla LCD 1602.

Programa Arduino para LCD 1602 con el módulo I2C

#include "Wire.h"
#include "LiquidCrystal_I2C.h"

LiquidCrystal_I2C LCD(0x27,16,2);

void setup() {
   LCD.init();
   LCD.backlight();
   
   LCD.setCursor(1, 0);
   LCD.print("HELLO");
  
   LCD.setCursor(8, 1);
   LCD.print("WORLD");
}

void loop() {
   LCD.noDisplay();
   delay(1000);
   LCD.display();
   delay(1000);
}

Explicación del código pantalla LCD Arduino i2c:

  1. antes de mostrar el texto, debe establecer la posición del cursor mediante el comando setCursor(0, 1), donde 0 – número del carácter en la línea, 1 – número de la línea;
  2. a diferencia de clear() – el comando noDisplay() no elimina el texto, sino que desactiva su salida a la pantalla y se puede volver a mostrar.
Módulo i2c para LCD 16x2 Ardunio
Módulo i2c para pantalla LCD 16×2 Ardunio

Por defecto, todas las pantallas 1602 con un módulo I2C tienen la dirección «0x27». Si necesita conectar más de una pantalla 1602, deberá cambiar las direcciones de los dispositivos para evitar cualquier coincidencia. Si le das la vuelta a la pantalla y miras el módulo IIC, verás los pines marcados como «A0», «A1» y «A2». Por defecto el LCD tiene la dirección «0x27», cerrando el jumper «A0» cambiará la dirección de la pantalla a «0x26».

Antes de cargar el siguiente programa, primero monte el circuito con las dos pantallas LCD 1602a QAPASS y escanee el bus IIC. Esto asegurará que la microcontrolador Arduino Uno «vea» ambos dispositivos en el bus. Compruebe también que las direcciones son correctas. Después, puedes cargar el siguiente código que te permitirá manejar dos pantallas LCD 1602a con módulos IIC desde un microcontrolador Arduino Uno / Arduino Mega.

Conexión y utilización de dos LCD 1602
Conexión y utilización de dos LCD 1602 i2c

Programa Arduino para dos pantallas LCD 1602 I2C

#include "Wire.h"
#include "LiquidCrystal_I2C.h"

LiquidCrystal_I2C LCD1(0x27, 16, 2);
LiquidCrystal_I2C LCD2(0x26, 16, 2);

void setup() {
   LCD1.init();
   LCD2.init();
   LCD1.backlight();
   LCD2.backlight();
}

void loop() {
   LCD1.setCursor(1, 0);
   LCD1.print("I LOVE ARDUINO");
   LCD1.scrollDisplayLeft();

   LCD2.setCursor(1, 0);
   LCD2.print("HELLO WORLD");
   LCD2.scrollDisplayRight();
  
   delay(300);
}

Explicación del código del dos display LCD 1602 i2c:

  1. cada pantalla debe tener un nombre único en el programa.

Conclusión. En un sistema I²C sencillo, puede haber varios dispositivos esclavos y un dispositivo maestro que inicia la transferencia de datos y sincroniza la señal. Se pueden conectar hasta 128 dispositivos a SDA y SCL. Utilizando los programas Arduino de ejemplo para el lcd 1602a presentados en este post y el diagrama de conexión i2c del lcd 1602 al Arduino microcontrolador, puedes utilizar esta pantalla en proyectos Arduino Uno / Mega.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *