Get free delivery on all orders over £20!

Verwenden der TCA9548A mit dem Raspberry Pi

Using the TCA9548A with the Raspberry Pi

Der TCA9548A ist ein I2C -Multiplexer, mit dem Sie mehrere Geräte mit derselben I2C -Adresse an einen einzelnen Raspberry Pi anschließen können. Es funktioniert, indem es jedes I2C -Gerät in seinem eigenen Bus isoliert und es dem Himbeer -Pi ermöglicht, einzeln mit ihnen zu kommunizieren. Dies ist insbesondere in komplexen Projekten nützlich, bei denen Adresskonflikte auftreten können.


Was Sie brauchen werden

  1. Raspberry Pi (Jedes Modell mit GPIO -Unterstützung, z. B. PI 3, PI 4)
  2. TCA9548A I2C Multiplexer -Modul
  3. I2C -Geräte (z. B. Sensoren oder Peripheriegeräte)
  4. Breadboard- und Jumper -Drähte
  5. Python installiert Auf dem Raspberry Pi

Schritt 1: Verkabelung des TCA9548A mit dem Raspberry Pi

Der TCA9548A verbindet sich mit dem I2C -Protokoll mit dem Raspberry PI.

Verbindungen

TCA9548a Pin Raspberry Pi Pin
Vin 3,3 V (Pin 1)
GND Masse (Pin 6)
SDA SDA (Pin 3, gpio2)
Scl SCL (Pin 5, gpio3)

Schließen Sie Ihre I2C -Geräte an die nummerierten I2C -Busse des TCA9548A an (z. B., SD0/SCL0, SD1/SCL1).


Schritt 2: Aktivieren Sie die I2C -Schnittstelle

  1. Öffnen Sie das Raspberry PI -Konfigurationstool:
    sudo raspi-config
    
  2. Navigieren zu Schnittstellenoptionen> i2c und es aktivieren.
  3. Starten Sie den Raspberry Pi neu:
    sudo reboot
    

Schritt 3: Installieren Sie die erforderlichen Bibliotheken

  1. Aktualisieren Sie die Paketliste Ihres Raspberry Pi:

    sudo apt update && sudo apt upgrade -y
    
  2. Installieren Sie die I2C -Tools und Python -Bibliotheken:

    sudo apt install -y i2c-tools python3-pip
    pip3 install adafruit-circuitpython-tca9548a
    
  3. Stellen Sie sicher, dass der TCA9548A im I2C -Bus erkannt wird:

    sudo i2cdetect -y 1
    

    Der Multiplexer wird normalerweise unter der Adresse angezeigt 0x70.


Schritt 4: Python -Code zur Verwendung des TCA9548A

Hier ist ein Python -Skript, mit dem ein bestimmtes i2C -Kanal auf dem TCA9548A und Daten eines vernetzten Sensors gelesen werden kann.

Beispiel für Python -Code

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} %")

Erläuterung:

  • tca[0] Bezieht sich auf den ersten I2C -Kanal des TCA9548A.
  • Ersetzen Sie die Sensorbibliothek (z. B., adafruit_bme280) mit der Bibliothek für Ihren spezifischen Sensor oder Gerät.

Schritt 5: Wechsel zwischen Kanälen

Mit dem TCA9548A können Sie zwischen mehreren I2C -Geräten wechseln, die mit verschiedenen Kanälen verbunden sind. Hier ist ein Beispiel für das Iterieren über Kanäle, um aus mehreren Geräten aus zu lesen:

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()

Sie können diesen Ansatz verwenden, um mehrere Sensoren oder Peripheriegeräte zu verwalten, die mit dem Multiplexer verbunden sind.


Anwendungen der TCA9548A

  1. Vermeiden Sie I2C -Adresskonflikte: Verwenden Sie den Multiplexer, um Geräte mit derselben I2C -Adresse zu isolieren.
  2. Erweiterung von I2C -Geräten: Schließen Sie bis zu 8 Busse an, die jeweils mehrere Geräte unterstützen.
  3. IoT -Projekte: Verwenden Sie die TCA9548A in Smart Home- oder Umweltüberwachungssystemen, in denen mehrere Sensoren erforderlich sind.
  4. Komplexe Robotik: Verwalten Sie mehrere Sensoren oder Aktuatoren in fortschrittlichen Robotikprojekten.

Fehlerbehebung

  1. Gerät nicht erkannt:

    • Überprüfen Sie die Verkabelung und stellen Sie sicher, dass die SDA/SCL -Stifte ordnungsgemäß verbunden sind.
    • Bestätigen Sie, dass der TCA9548A angetrieben wird und seine Adresse (Adresse (0x70 standardmäßig) wird im i2c -Scan angezeigt.
  2. Falsche Kanaldaten:

    • Stellen Sie sicher, dass der Sensor mit dem richtigen Kanal verbunden ist und die entsprechende Bibliothek in Ihrem Python -Skript verwendet wird.
  3. I2C -Kommunikationsfehler:

    • Überprüfen Sie, ob Sie lose Verbindungen oder widersprüchliche I2C -Adressen auf demselben Kanal haben.

Abschluss

Der TCA9548A I2C Multiplexer ist ein vielseitiges Tool zur Erweiterung der I2C -Funktionen Ihres Raspberry Pi und der Lösung von Adresskonflikten. Wenn Sie diesem Leitfaden folgen, können Sie mehrere I2C -Geräte in komplexen Projekten wie Wetterüberwachungssystemen, Smart Homes und Robotics effizient verwalten. Experimentieren Sie mit verschiedenen Geräten und Kanälen, um seine Funktionen vollständig zu erforschen!

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.

Hinterlasse einen Kommentar