Module multiplexeur TCA9548A I2C
Vous venez de trouver le capteur I2C parfait et vous souhaitez en connecter deux, trois ou plus à votre Arduino. Lorsque vous réalisez « Oh non, cette puce a une adresse I2C fixe, et d’après ce que je sais sur I2C ; vous ne pouvez pas avoir deux appareils avec la même adresse sur les mêmes broches SDA/SCL ». Vous n’avez pas de chance ? Vous le seriez si vous n’aviez pas cette carte de développement d’extensions multiples CJMCU TCA9548A I2C à 8 canaux.
La carte de développement d’extensions multiples CJMCU TCA9548A I2C 8 canaux est intéressante en ce qu’elle a une adresse I2C (0x70 par défaut) – et vous lui envoyez essentiellement une commande pour lui dire à quelle sortie multiplexée I2C vous voulez parler, alors vous pouvez adresser le conseil auquel vous souhaitez vous adresser.
Spécifications et fonctionnalités :
- 1 à 8 commutateurs de traduction bidirectionnels.
- Prend en charge l’insertion à chaud.
- Courant de veille faible.
- 1 à 8 commutateurs de traduction bidirectionnels.
- Entrée de réinitialisation active-basse.
- Mise sous tension avec tous les canaux de commutation désélectionnés.
- Compatible I2C Bus et SMBus.
- Entrées tolérantes 5 V.
- La performance de verrouillage dépasse 100 mA selon JESD 78, classe II.
Description de la broche :
Broches d’alimentation :
- Vin – c’est la broche d’alimentation. Étant donné que la puce du capteur utilise 3-5 VDC. Pour alimenter la carte, donnez-lui la même puissance que le niveau logique de votre microcontrôleur – par exemple, pour un micro 5V comme Arduino, utilisez 5V.
- GND – terrain d’entente pour la puissance et la logique.
Broches côté contrôle I2C :
- SCL – il s’agit de la broche d’horloge I2C pour la puce elle-même, connectez-vous à la ligne d’horloge I2C de votre microcontrôleur.
- SDA – il s’agit de la broche de données I2C pour la puce elle-même, connectez-vous à la ligne de données I2C de votre microcontrôleur.
- RST – c’est la broche de réinitialisation, pour réinitialiser la puce du multiplexeur. Tiré haut par défaut, connectez-vous à la terre pour réinitialiser
- A0 A1 A2 – ce sont les broches de sélection d’adresse pour le multiplexeur. Par défaut, le multiplexeur est à l’adresse 0x70 et ces trois broches sont tirées vers le bas. Connectez-les à Vin pour définir l’adresse sur 0x71 – 0x77.
- A0 est le bit le moins significatif (s’il est mis au niveau haut, il augmentera l’adresse de 1).
- A1 est le 2ème bit le plus significatif (s’il est mis au niveau haut, il augmentera l’adresse de 2).
- A2 est le 3e bit le moins significatif (s’il est mis au niveau haut, il augmentera l’adresse de 4).
Broches côté multiplexé I2C :
- SDx et SCx : Il existe 8 ensembles de broches SDx et SCx , de SD0/SC0 à SD7/SC7 . Ce sont les broches multiplexées. Chacun est un ensemble de bus I2C complètement séparé. Vous avez donc 8 appareils I2C avec des adresses identiques, tant qu’ils sont chacun sur un bus I2C.
- Ces broches n’ont pas de pullups installés, donc si vous utilisez une puce ou une évasion sans pull-ups I2C, assurez-vous de les ajouter ! Eh bien, vous pouvez avoir Vin à 3,3 V et faire monter ces broches jusqu’à 5 V (c’est-à-dire qu’elles sont conformes à 5 V).
Programme :
Nous vous suggérons d’utiliser ce petit assistant pour vous aider à sélectionner le port
#define TCAADDR 0x70
void tcaselect(uint8_t je) {
si (je > 7) retour ;
Wire.beginTransmission(TCAADDR);
Wire.write(1 << je);
Wire.endTransmission();
}
Vous pouvez ensuite appeler tcaselect(0) à tcaselect(7) pour configurer le multiplexeur.
Notez que si vous avez des périphériques I2C avec l’adresse I2C 0x70, vous devrez court-circuiter l’une des broches Addr sur le breakout TCA9548 vers Vin afin d’éviter tout conflit. Étant donné que vous pouvez avoir 0x70 à 0x77, trouvez-en un gratuit et vous êtes prêt à partir.