Display LCD 16x2 con comunicación I2C

Publicado el 17 diciembre 2015 por Villalba2006

Aquí les dejo como simplificar la conexión de un LCD 16x2 (consta de 2 líneas y 16 caracteres por línea), mediante comunicación I2C (SCL y SDA únicamente), puesto que por el método tradicional, necesitaríamos un potenciómetro lineal de 10KΩ además de ocupar un gran número de pines digitales, con lo que el montaje del circuito se complicaría en exceso, aunque no va a ser nuestro caso.Para realizar las conexiones de nuestro montaje, necesitamos un módulo LCM 1602 I2C V1, que es el encargado de realizar la comunicación I2C entre el Arduino y el LCD 1602. Este módulo consta de un expansor de E/S de 8 bits (Integrado PCF8574) para la comunicación I2C, un potenciómetro para controlar el contraste del LCD, una serie de resistencias para regular corrientes y un pequeño LED integrado en la placa para saber si el módulo está alimentado correctamente (POWER).

Módulo LCM 1602 I2C V1
 

  Este módulo va soldado directamente sobre los terminales del LCD 1602 que se describen a continuación:
·   VSS: Es el terminal de alimentación negativa, es decir, 0 V (masa o GND).·   VDD: Es la alimentación positiva de la pantalla y el chip (5 V). Es recomendable ponerle en serie una resistencia para evitar daños (con una de 220 Ω es suficiente.·   RW: Es el terminal de activación de lectura/escritura. Se suele conectar a masa para que se escriba en todo momento.·   VO: Es el contraste de la pantalla, debe conectarse con un potenciómetro de unos 10 kΩ.·   RS: Es el terminal selector de registro, mediante el cual, el microcontrolador le comunica al LCD si quiere mostrar caracteres o si lo que quiere es enviar comandos de control, como cambiar la posición del cursor o borrar la pantalla, por ejemplo.·   E: Es el terminal de habilitación de la pantalla, tiene que estar activado para poder recibir información.·   D0~D7: El LCD tiene un bus de datos de 8 bits. En este Proyecto solamente utilizaremos 4 bits, de D4 a D7, que nos servirán para establecer las líneas de comunicación por donde se transfieren los datos.·   A y K: Son los terminales del LED que ilumina el fondo de la pantalla (BackLight). A à 5 V y K à GND.Lo podemos adquirir ya soldado en la parte posterior del LCD 16x2 o por separado, aunque si lo compramos por separado nos hará falta un soldador, estaño y una cierta práctica soldando (No os lo recomiendo). Ahora ya solo tenemos que conectar los 4 terminales del módulo a sus correspondientes de la placa Arduino (VCC, GND, SDL y SDA), cargar el programa y por último enviar caracteres a través del Monitor serie para que se vayan mostrando en el LCD.  

Display 16x2 LCD 1602

 Antes de proceder a enviar caracteres, el LED Backlight, que sirve para iluminar el fondo del LCD , realiza mediante programación una serie de parpadeos, quedándose encendido finalmente. También le enviamos unas pequeñas líneas de texto al LCD para que la ejecución del programa sea mucho más interactiva (consultar comentarios en el código para comprender mejor el funcionamiento completo del programa).Para ejecutar correctamente este Proyecto necesitamos emplear una parte del software Arduino llamado Serial Monitor.Esta ventana le permite escribir mensajes que se envían a la placa Arduino, así como ver los mensajes que el Arduino nos envía (Herramientas à Monitor serie o también Ctrl+Mayús+M).
Lista de Materiales:
·   Arduino UNO Rev.3.
·   Cable USB tipo A-B.
·   Módulo LCM 1602 I2C V1.
·   Display 16x2 LCD 1602.
·   Cables de conexión.
Programa:
 Descarga del Programa   Video: