Al usar una LCD con la ESP8266 podemos usar un circuito I2C que nos ahorra conexiones. Todo funciona de maravilla, pero debemos saber la dirección del circuito I2C.
En este post te mostraré cómo averiguar la dirección hexadecimal del circuito I2C usando la NodeMCU ESP8266 para conectar a una pantalla o LCD.
Circuito
El circuito de conexión es realmente sencillo. Conectamos el voltaje de la tarjeta al del I2C, así como la tierra.
Por otro lado conectamos el SDA al pin D2 y el SCL al pin D1. Queda mejor explicado con la imagen del circuito en fritzing:
No olvides que dentro del I2C hay un jumper que conecta dos pines (lo puedes ver de color verde en la imagen superior, está en la esquina superior izquierda, abajo de donde dice LED).
Código
Después de eso cargamos el siguiente código. Puedes usar cualquier IDE, yo usaré VSCode con PlatformIO, si tú usas otro no olvides hacer las adecuaciones necesarias.
#include <Arduino.h>
#include <Wire.h>
void setup()
{
// put your setup code here, to run once:
Wire.begin();
Serial.begin(9600);
}
void loop()
{
// put your main code here, to run repeatedly:
byte codigoDeRespuesta, direccion;
int dispositivosEncontrados = 0;
Serial.println("\n\nBuscando dispositivos...");
for (direccion = 1; direccion < 127; direccion++)
{
Wire.beginTransmission(direccion);
codigoDeRespuesta = Wire.endTransmission();
if (codigoDeRespuesta == 0)
{
Serial.print("Dispositivo encontrado en la dirección 0x");
if (direccion < 16)
Serial.print("0");
Serial.print(direccion, HEX);
dispositivosEncontrados++;
}
else if (codigoDeRespuesta == 4)
{
Serial.print("Error desconocido en la dirección 0x");
if (direccion < 16)
Serial.print("0");
Serial.println(direccion, HEX);
}
}
if (dispositivosEncontrados == 0)
Serial.println("No se encontró ningún dispositivo");
delay(1000);
}
Ahora abre el monitor serial, y si has conectado todo correctamente, verás la dirección impresa. En mi caso es 0x3F
:
Ahora que ya conoces la dirección, solo debes indicarla al crear tu objeto de LCD así:
LiquidCrystal_I2C lcd(0x3f, 16, 2);
Por aquí te dejo más sobre Electrónica.