De TCA9548A is een I2C -multiplexer waarmee u meerdere apparaten kunt aansluiten met hetzelfde I2C -adres met een enkele Raspberry Pi. Het werkt door elk I2C -apparaat in zijn eigen bus te isoleren, waardoor de Raspberry Pi één voor één met hen kan communiceren. Dit is vooral handig in complexe projecten waar adresconflicten kunnen optreden.
Wat u nodig hebt
- Raspberry Pi (Elk model met GPIO -ondersteuning, bijvoorbeeld PI 3, PI 4)
- TCA9548A I2C Multiplexer -module
- I2C -apparaten (bijv. Sensoren of randapparatuur)
- Breadboard en jumper draden
- Python geïnstalleerd Op de Raspberry Pi
Stap 1: De TCA9548A bedraden naar de Raspberry Pi
De TCA9548A maakt verbinding met de Raspberry Pi met behulp van het I2C -protocol.
Verbindingen
| TCA9548A PIN | Raspberry Pi Pin | 
|---|---|
| Vin | 3.3V (pin 1) | 
| GND | Grond (pin 6) | 
| SDA | SDA (Pin 3, GPIO2) | 
| SCL | SCL (Pin 5, GPIO3) | 
Verbind uw I2C -apparaten met de genummerde I2C -bussen van de TCA9548A (bijv. SD0/SCL0, SD1/SCL1).
Stap 2: Schakel de I2C -interface in
- Open de Raspberry Pi -configuratie -tool:
sudo raspi-config
- Navigeren naar Interface -opties> I2C en schakel het in.
- Start de Raspberry Pi opnieuw op:
sudo reboot
Stap 3: Installeer vereiste bibliotheken
- 
Update de pakketlijst van uw Raspberry Pi: sudo apt update && sudo apt upgrade -y
- 
Installeer de I2C -tools en Python -bibliotheken: sudo apt install -y i2c-tools python3-pip pip3 install adafruit-circuitpython-tca9548a
- 
Controleer of de TCA9548A wordt gedetecteerd op de I2C -bus: sudo i2cdetect -y 1De multiplexer verschijnt meestal op het adres 0x70.
Stap 4: Python -code om de TCA9548A te gebruiken
Hier is een Python -script om een specifiek I2C -kanaal op de TCA9548A mogelijk te maken en gegevens van een verbonden sensor te lezen.
Python Code Voorbeeld
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} %")
Uitleg:
- 
tca[0]Verwijst naar het eerste I2C -kanaal op de TCA9548A.
- Vervang de sensorbibliotheek (bijv. adafruit_bme280) met de bibliotheek voor uw specifieke sensor of apparaat.
Stap 5: Schakelen tussen kanalen
Met de TCA9548A kunt u schakelen tussen meerdere I2C -apparaten die zijn aangesloten op verschillende kanalen. Hier is een voorbeeld van het itereren via kanalen om van meerdere apparaten te lezen:
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()
U kunt deze aanpak gebruiken om meerdere sensoren of randapparatuur te beheren die zijn aangesloten op de multiplexer.
Toepassingen van de TCA9548A
- I2C -adresconflicten vermijden: Gebruik de multiplexer om apparaten te isoleren met hetzelfde I2C -adres.
- I2C -apparaten uitbreiden: Verbind tot 8 bussen, die elk meerdere apparaten ondersteunen.
- IoT -projecten: Gebruik de TCA9548A in smart home of milieubewakingssystemen waar meerdere sensoren vereist zijn.
- Complexe robotica: Beheer meerdere sensoren of actuatoren in geavanceerde robotica -projecten.
Problemen oplossen
- 
Apparaat niet gedetecteerd: - Controleer de bedrading en zorg ervoor dat de SDA/SCL -pinnen correct zijn aangesloten.
- Bevestig dat de TCA9548A wordt aangedreven en zijn adres (0x70Standaard) verschijnt in de I2C -scan.
 
- 
Onjuiste kanaalgegevens: - Zorg ervoor dat de sensor is aangesloten op het juiste kanaal en de juiste bibliotheek wordt gebruikt in uw Python -script.
 
- 
I2C -communicatiefouten: - Controleer op losse verbindingen of tegenstrijdige I2C -adressen op hetzelfde kanaal.
 
Conclusie
De TCA9548A I2C -multiplexer is een veelzijdig hulpmiddel voor het uitbreiden van de I2C -mogelijkheden van uw Raspberry PI en het oplossen van adresconflicten. Door deze handleiding te volgen, kunt u meerdere I2C -apparaten efficiënt beheren in complexe projecten zoals weermonitoringsystemen, slimme huizen en robotica. Experimenteer met verschillende apparaten en kanalen om zijn mogelijkheden volledig te verkennen!
 
            
 
      
 
      
 
      
 
       
         
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
   
   
   
   
   
   
   
   
   
   
   
   
  