enero 19, 2019

VARIOS-Tutorial de uso de pantalla LCD con interfaz I2C

Written by

Aunque hay muchos tutoriales para usar las pantallas LCD de varios caracteres con Arduino, como por ejemplo el que se encuentra en el siguiente enlace:

https://www.naylampmechatronics.com/blog/35_Tutorial–LCD-con-I2C-controla-un-LCD-con-so.html

vamos a probar paso a paso lo que hacer para conseguir usar una pantalla LCD con Arduino, mediante un módulo I2C, de los que se puede encontrar en vendedores chinos.

Pantalla LCD y adaptador I2C

El ejemplo actual es con una pantalla 1602, con dos filas de caracteres, pero igual se pueden usar las de cuatro filas.

Lo primero es preparar el módulo LCD. Si viene con el adaptador I2C incorporado, perfecto. Si vienen separados ambos módulos, hay que soldarlos en la posición que se ve en la imagen:

Pantalla con el adaptador soldado

Una vez soldados los terminales, se conecta con 4 cables a la tarjeta Arduino, de la siguiente manera:

Ahora hay que abrir el IDE de Arduino y preparar el código. Lo más cómodo es usar una librería preparada para ello, que nos facilite la labor de comunicar con el módulo I2C. Una de las más extendidas es la librería LiquidCrystal_I2C, que normalmente no se encuentra instalada en el IDE.

Si éste es el caso, para instalarla, se abre el gestor de librerías con el menú Programa->Incluir Librería->Gestionar Librerías. Esto abre una ventana donde se pueden instalar y borrar librerías para Arduino. En el cuadro de búsqueda, se escribe «liquidcrystal» y buscamos la librería que mencionamos arriba, LiquidCrystal_I2C.

Gestor de Arduino para instalar la librería

Pulsamos sobre la librería y nos sale el botón para instalar.

Listo para instalar la librería

Pulsamos el botón Instalar y a los pocos segundos ya está el proceso terminado. Se puede ver que la librería está ahora accesible en el menú de Arduino.

Librería instalada en Arduino

Conectamos la pantalla a Arduino y conectamos el cable USB. Si todo ha ido bien, la pantalla debería encenderse con la retroiluminación. Cargamos ahora el programa, que puede ser éste:

 include <Wire.h>
include <LiquidCrystal_I2C.h>

//Crear el objeto lcd dirección 0x3F y 16 columnas x 2 filas
LiquidCrystal_I2C lcd(0x3F,16,2); //
void setup() {
// Inicializar el LCD
lcd.init();
//Encender la luz de fondo.
lcd.backlight();
// Escribimos el Mensaje en el LCD.
lcd.print("Hola Mundo");
}
void loop() {
// Ubicamos el cursor en la primera posición(columna:0) de la segunda línea(fila:1)
lcd.setCursor(0, 1);
// Escribimos el número de segundos trascurridos
lcd.print(millis()/1000);
lcd.print(" Segundos");
delay(100);
}

Sólo hay un detalle que comprobar: la dirección I2C de la pantalla. Los adaptadores comunes suelen tener de dirección 0x27 ó 0x3f. Para estar seguros de cuál es (si usamos la incorrecta la pantalla no funcionará) podemos usar un programa que detecta los dispositivos conectados al bus I2C. Se puede encontrar en el siguiente enlace:

https://playground.arduino.cc/Main/I2cScanner

Con este programa se nos muestra la dirección de nuestra pantalla conectada. En nuestro caso es 0x3F.

Tras cargar el programa de prueba en el Arduino, con la dirección correcta, deberíamos ver en la pantalla el mensaje:

Mensaje de prueba en la pantalla

Si no se ve bien, se puede retocar el potenciómetro de ajuste que viene en el adaptador por detrás. Si después de moverlo sigue sin verse puede ser un problema de algún cable mal conectado o que el conjunto pantalla-adaptador está defectuoso.

Category : VARIOS

Comments

No Responses

  1. Federico dice:

    Buenas, muchas gracias por la informacion. funciona perfectamente, te hago una consulta.. cuando cargo el I2c Scanner, busca en todos los pines del 8266 o algunos predeterminados (xej. GPIO 4 y 5).
    Si es asi, de que forma puedo cambiar los pines que utilice el I2C Scanner (libreria wire.h segun tengo entendido). Necesito utilizar el 4 y el 14.

    Muchas gracias.

    • admin dice:

      Hola, lo siento pero la práctica que comentamos usa un módulo Arduino, no un ESP. No tenemos experiencia suficiente todavía con los ESP 8266.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Proudly powered by WordPress and Sweet Tech Theme