So verwenden Sie den TCA9548A I2C Multiplexer mit Arduino

How to Use the TCA9548A I2C Multiplexer with Arduino

Der TCA9548A ist ein I2C -Multiplexer, mit dem Sie mehrere Geräte mit derselben I2C -Adresse an einen einzelnen Arduino anschließen können. Es erreicht dies, indem bis zu acht separate I2C -Busse erstellt werden, auf die einzeln zugegriffen werden kann. In diesem Tutorial führt Sie die Schnittstelle und verwenden Sie die TCA9548A mit Arduino, um mehrere I2C -Geräte zu verwalten.


Was Sie brauchen werden

  1. TCA9548A I2C Multiplexer -Modul
  2. Arduino Board (z. B. Uno, Mega, Nano)
  3. I2C -Geräte (z. B. Sensoren, Anzeigen)
  4. Breadboard- und Jumper -Drähte
  5. Ein Computer mit der Arduino -IDE installiert

Schritt 1: Verständnis des TCA9548a

Der TCA9548A kann bis zu 8 unabhängige I2C -Busse (Kanäle) kontrollieren. Jeder Kanal kann ein- oder ausgeschaltet werden, um Geräte mit derselben Adresse zu isolieren.

Pinout

Stift Funktion
VCC Stromversorgung (3,3 V/5 V)
GND Boden
SDA I2C -Datenzeile
Scl I2C -Uhr -Linie
SDX/SCX Einzelne I2C-Busse (0-7)
A0, A1, A2 Adresskonfiguration

I2C -Adresskonfiguration

  • Die I2C -Adresse des TCA9548A wird durch A0-, A1- und A2 -Stifte bestimmt:
    • Alle Stifte zu GND: 0x70 (Standardadresse)
    • Kombinationen von hohen und niedrigen Den können Adressen von festlegen 0x70 Zu 0x77.

Schritt 2: Verkabelung des TCA9548A mit Arduino

Schließen Sie die TCA9548A an Arduino an

TCA9548a Pin Arduino Pin
VCC 5v
GND GND
SDA A4
Scl A5

Schließen Sie I2C -Geräte mit dem TCA9548A an

  • Schließen Sie die SDA- und SCL -Zeilen Ihrer I2C -Geräte an die entsprechenden SDX- und SCX -Stifte der TCA9548A an.
  • Stellen Sie sicher, dass die VCC- und GND -Stifte der Geräte ebenfalls verbunden sind.

Schritt 3: Installieren Sie die erforderliche Bibliothek

Um die Arbeit mit der TCA9548A zu vereinfachen, installieren Sie die "Draht" -Bibliothek (vorinstalliert in der Arduino-IDE).

Wenn Sie eine Bibliothek für die einfachere Handhabung bevorzugen, können Sie die verwenden Adafruit TCA9548A Bibliothek:

Schritte zu installieren:

  1. Öffnen Sie die Arduino -IDE.
  2. Gehen zu Skizzieren > Bibliothek einbeziehen > Bibliotheken verwalten.
  3. Suchen Sie nach "Adafruit TCA9548A" und klicken Sie auf Installieren.

Schritt 4: Laden Sie den Code hoch hoch

Das folgende Beispiel zeigt, wie Sie einen bestimmten I2C -Bus auswählen und mit einem Gerät kommunizieren:

Beispielcode

#include <Wire.h>

#define TCA9548A_ADDR 0x70 // Default I2C address of TCA9548A

void tcaSelect(uint8_t bus) {
  if (bus > 7) return; // Ensure the bus number is valid
  Wire.beginTransmission(TCA9548A_ADDR);
  Wire.write(1 << bus); // Select the specific bus
  Wire.endTransmission();
}

void setup() {
  Serial.begin(9600);
  Wire.begin();

  Serial.println("TCA9548A Test");

  // Test selecting each channel
  for (uint8_t i = 0; i < 8; i++) {
    tcaSelect(i);
    Serial.print("Channel ");
    Serial.print(i);
    Serial.println(" selected.");
    delay(500);
  }
}

void loop() {
  // Add specific I2C communication here
}

Schritt 5: Kommunikation mit Geräten auf jedem Kanal kommunizieren

Rufen Sie die auf, um mit einem Gerät auf einem bestimmten Kanal zu kommunizieren tcaSelect(bus) Funktion vor der Initiierung von I2C -Kommunikation. Zum Beispiel:

Daten von Sensoren lesen

#include <Wire.h>

#define TCA9548A_ADDR 0x70

void tcaSelect(uint8_t bus) {
  if (bus > 7) return;
  Wire.beginTransmission(TCA9548A_ADDR);
  Wire.write(1 << bus);
  Wire.endTransmission();
}

void setup() {
  Serial.begin(9600);
  Wire.begin();

  Serial.println("Reading from multiple sensors");
}

void loop() {
  for (uint8_t i = 0; i < 8; i++) {
    tcaSelect(i); // Select channel
    Serial.print("Reading from channel ");
    Serial.println(i);

    Wire.requestFrom(0x40, 1); // Replace 0x40 with the I2C address of your sensor
    if (Wire.available()) {
      int data = Wire.read();
      Serial.print("Data: ");
      Serial.println(data);
    }
    delay(500);
  }
}

Anwendungen der TCA9548A

  1. Verwalten mehrerer identischer i2C -Geräte (z. B. mehrere Sensoren mit derselben Adresse).
  2. Erweiterung von I2C -Geräten in einem Projekt.
  3. Reduzierung der Verkabelungskomplexität in großen Systemen.

Fehlerbehebung

  • Keine Antwort von Geräten: Stellen Sie sicher, dass der richtige I2C -Bus ausgewählt ist, und überprüfen Sie die Verkabelung.
  • Konflikte ansprechen: Überprüfen Sie die I2C -Adressen von verbundenen Geräten, um Konflikte zu vermeiden.
  • Falsche Busschaltung: Stellen Sie sicher, dass die Adresse des TCA9548A korrekt konfiguriert ist und dem Code entspricht.

Abschluss

Sie haben den TCA9548A I2C -Multiplexer mit Arduino erfolgreich miteinander verbunden. Mit diesem leistungsstarken Modul können Sie mehrere I2C -Geräte mit derselben Adresse anschließen und steuern, sodass es zu einem wertvollen Werkzeug für komplexe Projekte ist. Experimentieren Sie mit verschiedenen Geräten und Konfigurationen, um das volle Potenzial auszuschalten!

Hinterlasse einen Kommentar

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.