electrónica

Dirección de I2C con ESP8266

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.

I2C con NodeMCU ESP8266 – Averiguar dirección hexadecimal

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:

Dirección I2C con ESP8266

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:

Averiguar dirección de I2C para LCD con ESP8266

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.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Servidor HTTP en Android con Flutter

El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…

7 días hace

Imprimir automáticamente todos los PDF de una carpeta

En este post te voy a enseñar a designar una carpeta para imprimir todos los…

1 semana hace

Guía para imprimir en plugin versión 1 desde Android

En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…

2 semanas hace

Añadir tasa de cambio en sistema de información

Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…

3 semanas hace

Comprobar validez de licencia de plugin ESC POS

Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…

3 semanas hace

Imprimir euro € en impresora térmica

Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…

4 semanas hace

Esta web usa cookies.