Acerca del proyecto
Vamos a conocer el módulo interfaz para la pantalla LCD donde podremos utilizar solamente dos Pines para la comunicación entre cualquier microcontrolador y esta pantalla. En este post veremos sus principales características la forma de la conexión y y como conocer y utilizar el direccionamiento del bus i2c.
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 |
---|---|
Arduino lcd 2x16 | En este post vamos a ver un ejercicio sencillo de arduino lcd 2x16 en donde veremos lo que se puede visualizar en 2 filas y 16 columnas |
LiquidCrystal I2C de arduino y descarga | La biblioteca permite controlar pantallas I2C con funciones extremadamente similares a la biblioteca LiquidCrystal |
Librería LiquidCrystal_I2C para Arduino | Esta es la librería que vamos a utilizar para poder controlar el módulo desde arduino. |
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.
Especificaciones técnica
- Referencia: Módulo I2C
- Basado en el expansor I/O: PCF8574
- Interface: IIC/I2C
- Pines: GND, VCC, SDA, SCL
- Voltaje de funcionamiento: 5VDC
- Compatible con: pantallas LCD 16×2 o 20×4
- Control de la retroiluminación: Si, por software y hardware (a través del potenciómetro)
- Color: negro
- Dimensiones: 4.3 x 2 x 1.7 cm
- Peso: 15 g
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 |
Obsérvese que dependiendo de la conexión que nosotros hagamos entre los pines A0 al A2 vamos a obtener una dirección para el bus i2c y vendiendo del chip del modulo nos dara una dirección.
Conexión del modulo
El modulo esta diseñado para conectarse directamente a la pantalla lcd, cada uno de los pines coincide, solo es identificar cual es el pin 1 de cada elemento y lo conectamos como se observa en la siguiente imagen: