TCA9548A : multiplexer le bus I2C

Salut à tous.

Un petit tuto sur le TCA9548, qui permet de multiplexer le bus I2C.
Cela permet par exemple d'afficher des informations sur deux petits écrans OLED SSD1306 ayant la même adresse I2C.

Il y a un autre exemple de code pour deux capteurs SHT31D (température + humidité).

Bonne lecture.

Super intéressant, merci henri.

Merci Arzou.

merci Henry
notons que

  1. pour les vieux arduino à avr, il existe la bibliothèque SoftI2CMaster.h, qui permet d'avoir un 2ème port i2c performant
  2. si on n'est pas pressé, on peut créer d'autres ports i2c supplémentaires toutefois relativement lents car SoftI2CMaster.h ne peut être utilisé qu'1 fois
  3. mode :grin: si on n'a rien d'autre sous la main (et qu'on n'est pas pressé) on peut faire "pareil" avec un module extendeur mcp23017 dont les 16 lignes peuvent donner 8 lignes i2c ... mais bien entendu, le module TCA9548 est autrement efficace et élégant

TCA9548 peut gérer 8 bus I2C. Je me demande quand même où est l'intérêt. 2 ou 4 auraient été suffisants.

En fait il suffit d'un multiplexeur analogique à faible résistance résiduelle à l'état passant.
Pour les 8 voies de ce produit probablement que TI est parti d'un mux à deux fois 8 E/S et s'est contenté de faire quelques optimisations limitées