Está en la página 1de 3

LCD 16x2 y adaptador I2C

Si en tu proyecto necesitas usar una pantalla LCD 16x2, tienes opciones para
simplificarte la vida, ya que conectar la pantalla por s sola al Arduino o cualquier
microcontrolador o placa resulta muy tedioso, con muchos cablecitos de por
medio. Una de esas opciones es el adaptador LCD a I2C, con el cual slo
necesitars hacer 4 conexiones (esto gracias al protocolo serial I2C sobre el cual
puedes leer ms en http://i2c.info/).
Adems de los materiales que detallamos ms abajo, necesitars una librera en
el Arduino IDE. La librera a utilizar se llama hd44780 y fue creada por Bill Perry.
Esta librera es la recomendada para diferentes tipos de adaptadores I2C para LCD
16x2 (basados en los chips PCF8574 o MCP23008), ya que tiene la habilidad de
reconocer y adaptarse a la configuracin particular de cada una de ellos.
Diferentes fabricantes pueden hacer diferentes conexionados de los pines del
LCD y los pines del dispositivo I2C, pero la librera hd44780 de Bill Perry no se
hace problemas con ello. Es recomendable instalar la librera desde el gestor de
libreras de Arduino IDE. En su defecto, dejamos la carpeta para que sea copiada
tal cual en la carpeta libraries de Arduino IDE, lo cual tambin es vlido.

Ilustracin 1. Pantalla LCD 16x2 ms mdulo I2C funcionando adecuadamente


Materiales

Librera hd44780
https://github.com/duinoWitchery/hd44780)

Conexiones

Adaptador LCD a I2C Arduino UNO (tambin nano y mini)


GND GND
VCC 5V
SDA A4
SCL A5
Cdigo ejemplo
#include <Wire.h>

#include <hd44780.h> // main hd44780 header

#include <hd44780ioClass/hd44780_I2Cexp.h> // i2c expander i/o class header

hd44780_I2Cexp lcd; // declare lcd object: auto locate & config exapander chip

// LCD geometry

const int LCD_COLS = 16;

const int LCD_ROWS = 2;

void setup()

int status;

status = lcd.begin(LCD_COLS, LCD_ROWS);

if(status) // non zero status means it was unsuccesful

status = -status; // convert negative status value to positive number

// begin() failed so blink error code using the onboard LED if possible

hd44780::fatalError(status); // does not return

// initalization was successful, the backlight should be on now

// Print a message to the LCD

lcd.setCursor(0,0);

lcd.print("Visita");

lcd.setCursor(0,1);

lcd.print("unitutores.com");

void loop() {}

También podría gustarte