En este post de programación y electrónica vamos a trabajar con una LCD, módulo I2C y la tarjeta ESP8266 para hacer un sencillo Hola mundo en la LCD.
Es decir, vamos a usar la NodeMCU ESP8266 para imprimir texto en una LCD usando además un módulo I2C para ahorrar conexiones.
Antes de usar el circuito I2C debes conocer la dirección del mismo, para ello ya hice un post.
Pasemos al circuito. En este caso es muy simple, pues básicamente conectamos el I2C a la LCD y después el I2C a la ESP8266. He utilizado el software para diseñarlo y queda así:
Si te quedan dudas de cómo se conecta el I2C y la LCD aquí una foto:
Pasemos al software. Primero necesitamos instalar la librería. Si tú usas PlatformIO con VSCode entonces puedes ver un ejemplo de cómo buscar aquí. Básicamente la buscas e instalas:
Si usas Arduino, el proceso es similar. Solo fíjate en el nombre (LiquidCrystal_I2C) y el autor (Frank de Brabander).
Ahora veamos el código que vamos a usar. Te repito que eres libre de usar cualquier IDE, solo realiza las adecuaciones pertinentes. En este caso creamos una referencia a la LCD con:
LiquidCrystal_I2C lcd(0x3f, 16, 2);
Fíjate en que 0x3f
es la dirección que en tu caso puede variar. Luego la iniciamos:
// Iniciar LCD
lcd.begin(16, 2);
lcd.init();
Y encendemos su luz:
lcd.backlight(); // Agregar brillo
Nota importante: la ESP8266 no es capaz de proveer todo el voltaje que la LCD necesita. El texto sí se va a ver, pero no tan claro como cuando alimentamos al I2C con 5V.
Luego podemos movernos con el cursor e imprimir texto:
// Imprimir
lcd.setCursor(0, 0);
lcd.print("LCD y ESP8266");
lcd.setCursor(0, 1); // Segunda fila
lcd.print("parzibyte.me");
Finalmente el código completo queda así:
/*
https://parzibyte.me/blog
*/#include <Arduino.h>
#include <LiquidCrystal_I2C.h>
// La LCD
LiquidCrystal_I2C lcd(0x3f, 16, 2);
void setup()
{
// Iniciar LCD
lcd.begin(16, 2);
lcd.init();
lcd.backlight(); // Agregar brillo
// Limpiar
lcd.clear();
// Imprimir
lcd.setCursor(0, 0);
lcd.print("LCD y ESP8266");
lcd.setCursor(0, 1); // Segunda fila
lcd.print("parzibyte.me");
}
void loop()
{
// put your main code here, to run repeatedly:
}
No estoy colocando nada en el loop
porque solo necesito imprimir en la LCD una vez, pero tú puedes invocar a los métodos en cualquier lugar y en cualquier evento… es decir, mostrar texto al hacer una petición HTTP, al presionar un botón, etcétera.
El resultado ya pudiste observarlo anteriormente en el post. Obviamente este solo fue el hola mundo, pero a partir de aquí ya puedes crear bastantes cosas interesantes. En una ocasión yo hice el juego de la serpiente en una LCD con Arduino.
Para terminar te dejo con más posts sobre electrónica.
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.