¡Esta es una revisión vieja del documento!


[I2C] Código Arduino para localizar direcciones I2C

  • Comprobado. Este código puede utilizarse para identificar la dirección I2C de cada dispositivo conectado a ese bus. Muy útil cuando la desconocemos y necesitamos emplearla en nuestros programas. Bastará conectar a los pines SDA y SCL del Arduino los homólogos del dispositivo y cargar este programa en el Arduino: Por el terminal serie nos aparecerá su dirección I2C.
    i2c_busca_dir.ino
    #include <Wire.h>
     
    void setup() {
     
      // Habilitación de comunicaciones
      Serial.begin (9600); // Habilitamos puerto serie a 9600 baudios
      while (!Serial) {}; // Esperamos a que el puerto serie se conecte
      Wire.begin(); // Habilitamos bus I2C
      delay (2000); // Espera prudencial para encender dispositivos I2C
     
      // Búsqueda de dispositivos I2C
      Serial.println ();
      Serial.println ("Escaneando direcciones I2C...");
      byte contador = 0; // Reseteamos el contador de dispositivos conectados
      // Bucle de búsqueda
      for (byte direccion = 1; direccion < 120; direccion++){
        // Petición de transmisión a esa dirección
        Wire.beginTransmission (direccion);
        if (Wire.endTransmission () == 0){
          // Existe un dispositivo con esa dirección
          Serial.print ("Encontrada dirección: ");
          Serial.print (direccion,DEC);
          Serial.print (" (0x");
          Serial.print (direccion,HEX);
          Serial.println (")");
          contador++; // Actualizamos numero dispositivos encontrados
          } // Final de dispositivo encontrado
      } // Final del bucle de búsqueda de dispositivos
      Serial.println ("Búsqueda finalizada.");
      Serial.print ("Encontrados ");
      Serial.print (contador,DEC);
      Serial.println (" dispositivo(s).");
     
    } // Final del setup
     
    void loop() {} // Final del loop
  • Ejemplo de salida para el módulo de color GY-33
    Escaneando direcciones I2C...
    Encontrada dirección: 41 (0x29)
    Búsqueda finalizada.
    Encontrados 1 dispositivo(s).
  • Ejemplo de salida para el módulo de color GY-33 y un expansor PCF8574
    Escaneando direcciones I2C...
    Encontrada dirección: 32 (0x20)
    Encontrada dirección: 41 (0x29)
    Búsqueda finalizada.
    Encontrados 2 dispositivo(s).
  • doc/tec/lab/bus_i2c/pcf8574_dir/inicio.1774719265.txt.gz
  • Última modificación: 2026/03/28 18:34
  • por fepg