Comment régler l’adresse
Câblez les broches d’adresse ainsi :
A1, A0: GND · VS · SDA · SCL → 0x40–0x4F
Périphériques qui utilisent les mêmes adresses
Deux périphériques sur le même bus ne peuvent pas répondre à la même adresse. Ces modules de notre liste utilisent au moins une de ces adresses :
| Périphérique | Description | Adresse partagée |
|---|---|---|
| HDC1080 | capteur de température et d’humidité | 0x40 |
| HTU21D | capteur de température et d’humidité | 0x40 |
| INA219 | moniteur de courant, de tension et de puissance | 0x40–0x4F (16) |
| INA226 | moniteur de courant, de tension et de puissance | 0x40–0x4F (16) |
| INA3221 | moniteur de courant et de tension 3 canaux | 0x40, 0x41, 0x42, 0x43 |
| PCA9685 | driver PWM / servo 16 canaux, 12 bits | 0x40–0x4F (16) |
| Si7021 | capteur de température et d’humidité | 0x40 |
| OPT3001 | capteur de lumière ambiante | 0x44, 0x45, 0x46, 0x47 |
| SHT30 / SHT31 / SHT35 | capteur de température et d’humidité | 0x44, 0x45 |
| SHT40 / SHT41 / SHT43 / SHT45 (SHT4x) | capteur de température et d’humidité | 0x44, 0x45, 0x46 |
Voir les 18 périphériques
| Périphérique | Description | Adresse partagée |
|---|---|---|
| ADS1015 | ADC 12 bits 4 canaux | 0x48, 0x49, 0x4A, 0x4B |
| ADS1115 | ADC 16 bits 4 canaux | 0x48, 0x49, 0x4A, 0x4B |
| ADS7830 | ADC 8 bits 8 canaux | 0x48, 0x49, 0x4A, 0x4B |
| LM75B | capteur de température numérique / thermostat | 0x48–0x4F (8) |
| PCF8591 | ADC 8 bits 4 canaux + 1 DAC | 0x48–0x4F (8) |
| TMP102 | capteur de température numérique | 0x48, 0x49, 0x4A, 0x4B |
| TMP117 | capteur de température numérique haute précision | 0x48, 0x49, 0x4A, 0x4B |
| TSL2561 | capteur de lumière ambiante (visible et infrarouge) | 0x49 |
Si deux d’entre eux se retrouvent sur la même adresse, changez celle de l’un des deux avec sa broche d’adresse, placez-en un derrière un multiplexeur TCA9548A (0x70–0x77) ou utilisez un second bus I²C : l’ESP32, l’ESP32-S3 et le RP2040 ont deux contrôleurs I²C (l’ESP32-C3 en a un).
Vérifier tout le bus →Ajoutez votre INA260 et vos autres modules : l’outil trouve les conflits, propose des adresses libres et dimensionne les pull-up.
Adresse sur 7 bits et sur 8 bits
Les adresses I²C font 7 bits. Certaines datasheets et bibliothèques les écrivent sur 8 bits, avec le bit de lecture/écriture ajouté à droite : c’est pourquoi la même puce peut être indiquée en 0x40 ou en 0x80. La bibliothèque Wire d’Arduino et ESPHome utilisent la forme sur 7 bits.
Ses adresses vont de 0x40 à 0x4F sur 7 bits, soit de 0x80 à 0x9E en adresses d’écriture sur 8 bits.
Vérifier qu’il répond
Reliez votre INA260 à SDA et SCL, puis téléversez ce sketch : il teste chaque adresse que la puce peut utiliser et affiche celle qui répond. Sur l’ESP32, les broches par défaut sont GPIO21 (SDA) et GPIO22 (SCL) ; sur l’Arduino Uno, A4 et A5.
#include <Wire.h>
const byte ADDRS[] = {
0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F
};
void setup() {
Serial.begin(115200);
Wire.begin();
for (byte a : ADDRS) {
Wire.beginTransmission(a);
if (Wire.endTransmission() == 0) {
Serial.print("INA260 : adresse 0x");
if (a < 0x10) Serial.print('0');
Serial.println(a, HEX);
return;
}
}
Serial.println("Aucune reponse : verifiez le cablage");
}
void loop() {}
Dans ESPHome, le bus est scanné au démarrage (scan: true est la valeur par défaut) : le log liste toutes les adresses qui répondent.
i2c:
sda: GPIO21
scl: GPIO22
scan: true
Résistances de pull-up
SDA et SCL ont besoin de résistances de pull-up vers l’alimentation. Beaucoup de modules en ont déjà, souvent de 4,7 kΩ ou 10 kΩ, et avec plusieurs modules sur le bus elles se combinent en parallèle. Le vérificateur d’adresses I²C calcule la plage admise selon la tension et la vitesse de votre bus.
Questions fréquentes
Quelle est l’adresse I2C d’un INA260 ?
0x40–0x4F, selon le câblage : A1, A0: GND · VS · SDA · SCL → 0x40–0x4F.
Puis-je utiliser plusieurs INA260 sur le même bus ?
Oui, jusqu’à 16, chacun réglé sur une adresse différente. Au-delà, utilisez un multiplexeur TCA9548A ou un second bus I²C.
Mon INA260 n’apparaît pas dans le scan I2C : pourquoi ?
Vérifiez, dans cet ordre : SDA et SCL non inversés ; la masse commune entre les cartes ; les résistances de pull-up sur SDA et SCL ; le module alimenté à la tension prévue ; aucune broche d’adresse laissée en l’air ; enfin, dans votre code, l’adresse sur 7 bits (0x40) et non celle sur 8 bits (0x80).
Périphériques similaires
AXP192 AXP2101 BQ27441-G1 INA219 INA226 INA3221 IP5306 MAX17048 / MAX17049
Adresses vérifiées sur la datasheet INA260.