Vamos a ver como conectar un LCD Arduino (una Pantalla lcd por I2C 16×2 con Arduino).
Cuando diseñamos un proyecto con arduino es muy común incluir un display para poder monitorear cierta información. Existe una amplia gama de pantallas LCD sobre las que elegir, son baratos, consumen poco y tienen diversas medidas.
Las librerías de código las forman distintos archivos los cuales realizan la comunicación con sensores, pantallas, y diverso hardware. Existen librerías oficiales y otras desarrolladas por la comunidad, así como diversos forks de cada una.
Para añadir las librerías que no vienen por defecto con arduino IDE, tenemos un gestor de librerías en el cual podemos buscar librerías nuevas, y actualizar las ya instaladas. >Programa >Importar libreria >Gestor de librerias
Si tenemos una librería en formato zip y la queremos añadir, elegiremos Importar Programa >libreria >Añadir libreria
Además podemos añadir otros repositorios no oficiales a nuestro maravilloso gestor de librerías; lo haremos desde: >Archivo >Preferencias >Gestor de URLs y tarjetas.
1 |
/home/$USER/arduino/libraries → Carpeta GNU/Linux |
1 |
\\Usuario\Documentos\Arduino\libraries → Carpeta Windows |
En este caso hablaremos sobre el LCD 1602.
El LCD 1602 se puede conectar de dos formas:
- Conexión Directa: Utiliza 16 pines lo cual es una perdida de recursos. Necesita la librería Liquid_Crystal.h . Para su instalación necesitaremos de un potenciómetro y una resistencia de 330 homios. No hablaremos sobre este montaje pero os dejo un enlace por si alguno quiere curiosear.
- Conexión I2C: Solo se emplean 4 pines positivo, negativo, sda, scl. Librerías necesarias, Wire.h, Liquid_Crystal_I2C.h. Este módulo se añade a la pantalla lcd por medio de pines soldados. El precio de este módulo ronda 1€, en páginas de e-commerce internacional.
Como la conexión directa supone una gran pérdida de recursos, optamos por una conexión I2C.
–> Añadiremos nuestro módulo I2C al Lcd o podemos adquirir uno ya soldado. Las conexiones son muy sencillas.
–> Para probar nuestro LCD 16×2 I2C, realizaremos un sketch para ver su funcionamiento.
Las librerías a utilizar son Wire.h y Liquid_Crystal_I2C.h, esta librería se puede utilizar con distintos tamaños de lcd, por ello hemos de definir las constantes que indican las filas y las columnas, además de indicar la dirección de nuestro módulo I2C.
Usaremos un escáner el cual nos mostrará la dirección de nuestro I2C. Escaner I2C
Desde el monitor serial observamos la respuesta del sketch. Anotamos la dirección que nos da, es la dirección del módulo I2C y la necesitaremos para poder comunicarnos con el LCD.
Las distintas funciones que contiene la librería Liquid_Crystal_I2C.h las podemos encontrar en en siguiente enlace.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x3F,16,2); // dirección.filas,columnas –LCD void setup() { lcd.init(); // initialize the lcd lcd.backlight(); //Retroiluminación } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
void loop() { lcd.clear; lcd.setCursor(0,0); lcd.print("Taller del Bit"); lcd.setCursor(0,1); lcd.print("Aitor Ferrero"); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
#include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x3F,16,2); // dirección.filas,columnas –LCD void setup() { lcd.init(); // inicializa ellcd lcd.backlight(); //Activa retroiluminación } void loop() { lcd.setCursor(0, 0); lcd.print(” www.eltallerdelbit.com “); lcd.setCursor(0, 1); lcd.print(” // Aitor Ferrero // Tutoriales arduino”); lcd.scrollDisplayLeft(); delay(1000); } |
De esta forma hemos visto un pequeño tutorial para aprender a configurar nuestro lcd arduino con i2c
Autoría: Aitor Ferrero
Suscríbete para acceder a la zona privada
Suscribiéndote a la lista de correo de El Taller del Bit conseguirás entrar a la zona privada de descargas con materiales exclusivos (ebooks, artículos privados, plugins, descargas de exámenes resueltos ...)
Gracias. Te has suscrito con éxito!