Cómo fijar la dirección
Conecta el pin de dirección así:
ADDR SEL: GND → 0x29 · NC → 0x39 · VDD → 0x49
Dispositivos que usan las mismas direcciones
Dos dispositivos del mismo bus no pueden responder en la misma dirección. Estos módulos de nuestra lista usan al menos una de estas direcciones:
| Dispositivo | Qué es | Dirección compartida |
|---|---|---|
| BNO055 | sensor de orientación absoluta de 9 ejes con fusión de sensores integrada | 0x29 |
| TCS34725 | sensor de color RGB | 0x29 |
| VL53L0X | sensor de distancia por tiempo de vuelo (ToF) | 0x29 |
| VL53L1X | sensor de distancia por tiempo de vuelo (ToF) | 0x29 |
| APDS-9960 | sensor de gestos, proximidad, luz ambiental y color | 0x39 |
| PCF8574A | expansor de E/S de 8 bits, direcciones alternativas | 0x39 |
| VEML6070 | sensor de luz UV | 0x39 |
| ADS1015 | ADC de 12 bits y 4 canales | 0x49 |
| ADS1115 | ADC de 16 bits y 4 canales | 0x49 |
| ADS7830 | ADC de 8 bits y 8 canales | 0x49 |
Mostrar los 18 dispositivos
| Dispositivo | Qué es | Dirección compartida |
|---|---|---|
| INA219 | monitor de corriente, tensión y potencia | 0x49 |
| INA226 | monitor de corriente, tensión y potencia | 0x49 |
| INA260 | monitor de corriente, tensión y potencia con shunt integrado | 0x49 |
| LM75B | sensor de temperatura digital / termostato | 0x49 |
| PCA9685 | controlador PWM / servos de 16 canales, 12 bits | 0x49 |
| PCF8591 | ADC de 8 bits y 4 canales + 1 DAC | 0x49 |
| TMP102 | sensor de temperatura digital | 0x49 |
| TMP117 | sensor de temperatura digital de alta precisión | 0x49 |
Si dos acaban en la misma dirección, mueve uno con su pin de dirección, pon uno detrás de un multiplexor TCA9548A (0x70–0x77) o usa un segundo bus I²C: el ESP32, el ESP32-S3 y el RP2040 tienen dos controladores I²C (el ESP32-C3 tiene uno).
Comprobar todo el bus →Añade el TSL2561 y el resto de tus módulos: la herramienta encuentra los conflictos, propone direcciones libres y calcula las pull-ups.
Dirección de 7 y de 8 bits
Las direcciones I²C tienen 7 bits. Algunas hojas de datos y bibliotecas las escriben como números de 8 bits, con el bit de lectura/escritura añadido a la derecha: por eso el mismo chip puede aparecer como 0x39 o como 0x72. La biblioteca Wire de Arduino y ESPHome usan la forma de 7 bits.
| 7 bits | Binario | Escritura 8 bits | Lectura 8 bits |
|---|---|---|---|
| 0x29 | 0101001 | 0x52 | 0x53 |
| 0x39 | 0111001 | 0x72 | 0x73 |
| 0x49 | 1001001 | 0x92 | 0x93 |
Comprueba que responde
Sube este sketch con el TSL2561 conectado a SDA y SCL: prueba todas las direcciones que puede usar el chip y muestra en el monitor serie la que responde. En el ESP32 los pines por defecto son GPIO21 (SDA) y GPIO22 (SCL); en un Arduino Uno, A4 y A5.
#include <Wire.h>
const byte ADDRS[] = {0x29, 0x39, 0x49};
void setup() {
Serial.begin(115200);
Wire.begin();
for (byte a : ADDRS) {
Wire.beginTransmission(a);
if (Wire.endTransmission() == 0) {
Serial.print("TSL2561 responde en 0x");
if (a < 0x10) Serial.print('0');
Serial.println(a, HEX);
return;
}
}
Serial.println("Sin respuesta: revisa el cableado");
}
void loop() {}
En ESPHome el bus se escanea al arrancar (scan: true es el valor por defecto): el log muestra todas las direcciones que responden.
i2c:
sda: GPIO21
scl: GPIO22
scan: true
Resistencias de pull-up
SDA y SCL necesitan resistencias de pull-up a la alimentación. Muchos módulos ya las llevan, a menudo de 4,7 kΩ o 10 kΩ, y con varios módulos en el bus se suman en paralelo. La herramienta de direcciones I²C calcula el rango admitido para la tensión y la velocidad de tu bus.
Preguntas frecuentes
¿Cuál es la dirección I2C del TSL2561?
0x29, 0x39 o 0x49, según el cableado: ADDR SEL: GND → 0x29 · NC → 0x39 · VDD → 0x49.
¿Puedo usar más de un TSL2561 en el mismo bus?
Sí, hasta 3, cada uno con una dirección distinta. Para usar más, recurre a un multiplexor TCA9548A o a un segundo bus I²C.
¿Por qué el TSL2561 no aparece al escanear el bus I2C?
Revisa, por este orden: que SDA y SCL no estén intercambiados; que las placas compartan masa; que haya resistencias de pull-up en SDA y SCL; que el módulo esté alimentado a la tensión que le corresponde; y que tu código use la dirección de 7 bits (0x39), no la de 8 bits (0x72).
Dispositivos similares
APDS-9960 BH1750FVI (BH1750) OPT3001 TCS34725 VEML6070 VEML6075 VEML7700
Direcciones comprobadas en la hoja de datos del TSL2561.