jueves, 14 de febrero de 2013

Arduino: Modulo I2C LCD

El arduino están limitadas el numero de entradas y salidas.
Para aumentar dicho numero tiene implementado el Bus I2C. Con el podemos expandir el numero de periféricos utilizando solamente dos pines.

El modulo que se describe, es un interfase I2C para LCD.
  • Con solo dos lineas podemos gobernar un LCD compatible con el chip 44870.
  • Dirección del Bus 0x20 (no se puede modificar)
  • Transistor para la retro iluminación del LCD.
  • Potenciómetro de contraste.
  • Preparado para soldar directamente al LCD
Para utilizarlo es recomendable utilizar la librería LiquidCrystal_I2C.

Ejemplo para un dsiplay 16x4

/*******************************************
Prueba del funcionamiento del dispaly
Proyecto
LCD 16x4 I2c
  ** EA7TB **
www.ea7tb.com
*/
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h> 

#define BACKLIGHT_PIN     7
#define  LED_OFF  0
#define  LED_ON  1


LiquidCrystal_I2C  lcd(0x20,4,5,6,0,1,2,3);

void setup()
{
  lcd.begin (16,4);  // inicializo el LCD 20x4
  // Switch on the backlight
  lcd.setBacklightPin(BACKLIGHT_PIN,NEGATIVE);
  lcd.setBacklight(LED_ON);

  lcd.home();
 
  lcd.setCursor(0, 0);

  for(int i=0;i<16;i++) lcd.print("*");
  lcd.setCursor(0, 1);

  lcd.print(" Hola mundo   ");
  lcd.setCursor(0,2);
  lcd.print("Display 16x4");
  lcd.setCursor(0, 3);
  for(int i=0;i<16;i++) lcd.print("*");
 
  delay(1000);
  lcd.clear();
}

void loop()
{
  lcd.setCursor(0,0);
  lcd.print("Proyecto");
  lcd.setCursor(0,1);
  lcd.print("LCD 16x4 I2C ");
  lcd.setCursor(0,2);
  lcd.print("  ** EA7TB **");
  lcd.setCursor(0,3);
  lcd.print("www.ea7tb.com");
  delay(5000);
 }


Una vez modificado el potenciómetro.






4 comentarios:

  1. Buenas, Antes que nada... gracias por tus aportaciones!

    Y ahora... ¿nos podrias indicar donde encontrar la ultima versión de la libreria LiquidCrystal_I2C.h?

    Gracias por adelantado.

    ResponderEliminar
    Respuestas
    1. Hola.
      No me acuerdo, pero si quieres te la envío.
      Mándame tu correo y te lo mando.

      Eliminar
  2. Pero el potenciometro queda al reves, inaccesible ¿como puede ser eso?

    ResponderEliminar
    Respuestas
    1. Hola.
      Lo desoldé y le di la vuelta, quedando accesible.

      Eliminar