Está en la página 1de 7

Conocimiento previo

Para realizar este proyecto se requiere conocimiento previo de los siguientes temas, si aun no has trabajado con lo que se menciona en
la siguiente tabla, allí están los links a los post para que puedas dar un repaso adicional o puedas recordar el conocimiento necesario
para poder realizar este proyecto.

Proyecto Descripción
Display LCD de 16 caracteres x 2 lineas. Posee el controlador SPLC780D1 o equivalente (como
LCD 2x16 HD44780),
el más usado en este tipo de dispositivo. Backlight azul.
Arduino lcd En este post vamos a ver un ejercicio sencillo de arduino lcd 2x16 en donde veremos lo que s
2x16 e puede visualizar en 2 filas y 16 columnas, además de mostrar letras y números.
Vamos a conocer el módulo interfaz para la pantalla LCD donde podremos utilizar solamente dos
Pines para la
Arduino lcd
comunicación entre cualquier microcontrolador y esta pantalla. En este post veremos sus
2x16
principales características
la forma de la conexión y y como conocer y utilizar el direccionamiento del bus i2c.
Conoceremos la librería con la que trabajaremos el modulo lcd i2c conectado al arduino,
LiquidCrystal
esta librería esta diseñada solo para el entorno de adruino; veremos cuales son las funciones,
i2c
métodos que podemos usar para escribir mensajes en este tipo de pantallas.

Modulo lcd i2c

La pantalla LCD de 16×2 basada en el controlador HD44780 de Hitachi es un periférico muy común, el problema es que este tipo de
pantalla requiere muchos pines del microcontrolador para ser controlada, por esto se crea un adaptador basado en el PCF8574 que
permite conectar la pantalla al arduino usando solamente dos lineas digitales a través del bus I2C. Dichos pines, pueden además ser
compartidos por otros periféricos como el RTC o memorias EEPROM ente otros.
Conversor lcd I2C

Direcciones de bus del i2c


El módulo de conversión lcd i2c cómo realiza este tipo de comunicación en el bus necesita una dirección para poder acceder a él y
enviar la información necesaria para visualizar datos en la pantalla, como vimos anteriormente está basado en el chip PCF8574 el cual
dependiendo de la versión del fabricante puede comenzar con una u otra dirección, esto lo podemos identificar con la siguiente tabla:

A0 A1 A2 PCF8574 PCF8574A
0 0 0 0X27 0X3F
0 0 1 0X26 0X3E
0 1 0 0X25 0X3D
0 1 1 0X24 0X3C
1 0 0 0X23 0X3B
1 0 1 0X22 0X3A
1 1 0 0X21 0X39
1 1 1 0X20 0X39
Para el modulo que estamos trabajando, es el PCF8574A, así que usaremos las direcciones correspondientes, por defecto debemos
colocar la 0X3F, ya que los pines de dirección se encuentran es un estado lógico 0.

Materiales
Los materiales con los que deben trabajar esta en la siguiente tabla, allí se explican la función de cada uno de ellos

Material Cantidad Descripción


Arduino 1 Controlador del circuito
Modulo lcd
1 Modulo lcd para visualizar
2x16
Modulo lcd i2c 1 Adaprador del lcd 2 x 16
Cables de
4 Cables para conectar los modulos
conexión
Circuito
Conexión del modulo al lcd es fácil de realizar, esta diseñado para que coincida con el orden de los pines del modulo con el lcd como
podemos ver en la siguiente imagen.
Conversor lcd I2C conexión

Conversor lcd I2C conexión lcd


Ahora para realizar la conexión desde el modulo al arduino, debemos identificar los pines i2c, a continuación tenemos una tabla con
varias placas en donde puede ver que pines debe conectar al modulo.

Adaptador LCD a Arduino Uno, Nano,


Arduino Mega , DUE Arduino Leonardo
I2C Mini
GND GND GND GND
VCC 5V 5V 5V
SDA A4 20 2
SCL A5 21 3

Código
El código que trabajamos a continuación usa la librería LiquidCrystal_I2C para controlar la pantalla por medio del protocolo y
comunicación i2c, vamos a explicar paso a paso su funcionamiento.

Para mas detalles del manejo de la librería, puede guiarse en el post LiquidCrystal i2c donde explicamos todos sus métodos.

// Paso 1
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// Paso 2
LiquidCrystal_I2C lcd(0x3F,16,2);

void setup() {
// Paso 3
lcd.init();

// Paso 4
lcd.backlight();

// Paso 5
lcd.setCursor(0,0);
lcd.print("codigo");
lcd.setCursor(0,1);
lcd.print("electronica");
delay(2000);
lcd.clear();
}

void loop() {
lcd.setCursor(0, 1);
lcd.print(millis()/1000);
lcd.print(" Segundos");
delay(100);
}
C++
Copy

1. Cargamos las librerías, en este caso necesitamos a Wire de primeras para poder hacer la comunicación i2c.
2. Creamos el objeto lcd de la librerías donde indicamos la dirección donde se encuentra el modulo en la comunicación i2c,
ademas de la cantidad de filas y columnas.
3. Inicializamos el lcd con los parámetros configurados de la dirección, filas y columnas.
4. Indicamos que vamos a trabajar con el backlight.
5. Ahora decimo que con setCursor indicamos que empiece a escribir desde la coliman cero a la fila cero, con print colocamos el
mensaje y por ultimo clear, es quien limpia la pantalla.

También podría gustarte