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
}
Arduino

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);
  }
}
Arduino

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!

3 Minuten gelesen

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.