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

Imprimir ñ en impresora térmica

En este post te enseñaré a imprimir la letra ñ en una impresora térmica. Voy…

2 días hace

Tramitar acta de nacimiento en línea de manera instantánea

En este post te quiero compartir mi experiencia tramitando un acta de nacimiento de México…

2 días hace

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

2 semanas hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

3 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

3 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

3 semanas hace

Esta web usa cookies.