WhatsApp / Celular
+3116183653
0Item(s)

No hay artículos en su carrito de compras.

Product was successfully added to your shopping cart.

Tutorial Arduino - Conectar Lcd 16x2 Por Protocolo I2c

TUTORIAL ARDUINO - CONECTAR LCD 16X2 POR PROTOCOLO I2C

i2c lcd

I²C (también lo verás escrito como I2C) es un bus de comunicaciones en serie que utiliza dos líneas para transmitir la información: una para los datos y por otra la señal de reloj. Como suelen comunicarse circuitos en una misma placa que comparten una misma masa, esta tercera línea no suele ser necesaria. En la mayoría de las placas Arduino, SDA (línea de datos) está en el pin analógico 4, y SCL (línea de reloj) está en el pin analógico 5. En Arduino Mega, SDA está en el pin digital 20 y SCL en el 21. Con el protocolo I2C podemos ampliar nuestro numero de entradas digitales e incluso comunicar varios arduinos entre sí. Usando nuestro LCD por I2C también ahorraremos muchos pines.

Arduino tiene de serie una librería para la comunicación sobre este protocolo. Esta es la librería Wire.h .

Para este tutorial, utilizaremos un LCD 16x2, aunque se podría hacer casi igual con un 16x4, y una placa para la conexión de este por I2C.

Será necesario también añadir una nueva librería para la comunicación del LCD por el protocolo. Para descargar la librería, sigue el siguiente enlace: librería i2cLCD.

El esquema de conexión es muy fácil. Simplemente conectando los pines de la placa a los pines correspondientes del LCD, el SDA al pin A4 del arduino UNO (pin 20 Mega), el SCL al pin A5 arduino UNO (21 Mega), la masa y el power.

/*Prueba de LCD por protocolo I2C 
Mostraremos un mensaje y lo borraremos continuamente haciendo parpadear el backlight*/
// Importamos las librerias necesarias 
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>  // F Malpartida's NewLiquidCrystal library

/*-----( Declare Constants )-----*/
#define I2C_ADDR    0x20  // Direccion I2C para PCF8574A que es el que lleva nuestra placa diseñada por MJKDZ
//definimos las constantes para esta placa

#define  LED_OFF  0
#define  LED_ON  1

//mjkdz i2c LCD board
//                    addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
LiquidCrystal_I2C lcd(I2C_ADDR, 4, 5, 6, 0, 1, 2, 3, 7, NEGATIVE);

void setup()  
{
  lcd.begin (16,2);  // inicializar lcd 
// Activamos la retroiluminacion
  lcd.setBacklight(LED_ON);
}

void loop()
{

// Reset the display  
  lcd.clear();
  lcd.setBacklight(LED_OFF);//Backlight OFF 
  delay(500); 

  lcd.backlight(); //Backlight ON 
  lcd.setCursor(0,0);
  lcd.print("Hola Geekytheory"); 
  lcd.setCursor(0,1);
  lcd.print("LCD por I2C"); 
  delay(2000); 
}