Utilisation du TCA9548A avec le Raspberry Pi

Using the TCA9548A with the Raspberry Pi

Le TCA9548A est un multiplexeur I2C qui vous permet de connecter plusieurs appareils avec la même adresse I2C à un seul Raspberry Pi. Il fonctionne en isolant chaque appareil I2C sur son propre bus, permettant au Raspberry Pi de communiquer avec eux un à la fois. Ceci est particulièrement utile dans les projets complexes où des conflits d'adresse peuvent se produire.


Ce dont vous aurez besoin

  1. Raspberry Pi (Tout modèle avec le support GPIO, par ex., PI 3, PI 4)
  2. Module multiplexeur TCA9548A I2C
  3. Appareils I2C (par exemple, capteurs ou périphériques)
  4. Fils de planche à pain et de cavalier
  5. Python installé sur le Raspberry Pi

Étape 1: Câblage du TCA9548A au Raspberry Pi

Le TCA9548A se connecte au Raspberry Pi à l'aide du protocole I2C.

Relations

TCA9548A PIN Pin de framboise PI
Vin 3.3V (broche 1)
GND Terre (broche 6)
SDA SDA (broche 3, gpio2)
SCL SCL (broche 5, gpio3)

Connectez vos appareils I2C aux bus I2C numérotés du TCA9548A (par exemple, (par exemple, SD0 / SCL0, SD1 / SCL1).


Étape 2: Activer l'interface I2C

  1. Ouvrez l'outil de configuration Raspberry Pi:
    sudo raspi-config
    
  2. Se diriger vers Options d'interface> I2C et l'activer.
  3. Redémarrez le Raspberry Pi:
    sudo reboot
    

Étape 3: Installez les bibliothèques requises

  1. Mettez à jour la liste des packages de votre Raspberry Pi:

    sudo apt update && sudo apt upgrade -y
    
  2. Installez les outils I2C et les bibliothèques Python:

    sudo apt install -y i2c-tools python3-pip
    pip3 install adafruit-circuitpython-tca9548a
    
  3. Vérifiez que le TCA9548A est détecté dans le bus I2C:

    sudo i2cdetect -y 1
    

    Le multiplexeur apparaît généralement à l'adresse 0x70.


Étape 4: code python pour utiliser le TCA9548A

Voici un script Python pour activer un canal I2C spécifique sur le TCA9548A et lire les données d'un capteur connecté.

Exemple de code python

import board
import busio
from adafruit_tca9548a import TCA9548A

# Initialize I2C and TCA9548A multiplexer
i2c = busio.I2C(board.SCL, board.SDA)
tca = TCA9548A(i2c)

# Access a specific I2C channel (e.g., channel 0)
channel_0 = tca[0]

# Example: Interfacing with an I2C device on channel 0
import adafruit_bme280  # Replace with your sensor library
sensor = adafruit_bme280.Adafruit_BME280_I2C(channel_0)

# Read data from the sensor
print(f"Temperature: {sensor.temperature:.2f} °C")
print(f"Humidity: {sensor.humidity:.2f} %")

Explication:

  • tca[0] fait référence au premier canal I2C du TCA9548A.
  • Remplacez la bibliothèque du capteur (par exemple, adafruit_bme280) avec la bibliothèque pour votre capteur ou appareil spécifique.

Étape 5: Commutation entre les canaux

Le TCA9548A vous permet de basculer entre plusieurs périphériques I2C connectés à différents canaux. Voici un exemple d'itération des canaux à lire à partir de plusieurs appareils:

for i in range(8):  # TCA9548A has 8 channels (0-7)
    if tca[i].try_lock():
        print(f"Accessing device on channel {i}")
        tca[i].unlock()

Vous pouvez utiliser cette approche pour gérer plusieurs capteurs ou périphériques connectés au multiplexeur.


Applications du TCA9548A

  1. Éviter les conflits d'adresse I2C: Utilisez le multiplexeur pour isoler les appareils avec la même adresse I2C.
  2. Expansion des appareils I2C: Connectez jusqu'à 8 bus, chacun prenant en charge plusieurs appareils.
  3. Projets IoT: Utilisez le TCA9548A dans des systèmes de surveillance intelligents ou environnementaux où plusieurs capteurs sont nécessaires.
  4. Robotique complexe: Gérer plusieurs capteurs ou actionneurs dans des projets de robotique avancés.

Dépannage

  1. Dispositif non détecté:

    • Vérifiez le câblage et assurez-vous que les broches SDA / SCL sont correctement connectées.
    • Confirmez que le TCA9548A est alimenté et son adresse (0x70 Par défaut) apparaît dans le scan I2C.
  2. Données de canal incorrectes:

    • Assurez-vous que le capteur est connecté au canal correct et que la bibliothèque appropriée est utilisée dans votre script Python.
  3. Erreurs de communication I2C:

    • Vérifiez les connexions lâches ou les adresses I2C conflictuelles sur le même canal.

Conclusion

Le multiplexeur TCA9548A I2C est un outil polyvalent pour élargir les capacités I2C de votre Raspberry Pi et résoudre les conflits d'adresse. En suivant ce guide, vous pouvez gérer efficacement plusieurs appareils I2C dans des projets complexes tels que les systèmes de surveillance météorologique, les maisons intelligentes et la robotique. Expérimentez avec différents appareils et canaux pour explorer pleinement ses capacités!

Laissez un commentaire

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.