Arduino के साथ TCA9548A I2C मल्टीप्लेक्स का उपयोग कैसे करें

How to Use the TCA9548A I2C Multiplexer with Arduino

TCA9548A एक I2C मल्टीप्लेक्स है जो आपको एक ही I2C पते के साथ कई उपकरणों को एक एकल Arduino में जोड़ने की अनुमति देता है। यह आठ अलग -अलग I2C बसों को बनाकर इसे प्राप्त करता है, जिसे व्यक्तिगत रूप से एक्सेस किया जा सकता है। यह ट्यूटोरियल आपको इंटरफेसिंग के माध्यम से मार्गदर्शन करेगा और कई I2C उपकरणों को प्रबंधित करने के लिए Arduino के साथ TCA9548A का उपयोग करेगा।


आपको क्या चाहिए

  1. TCA9548A I2C मल्टीप्लेक्स मॉड्यूल
  2. Arduino बोर्ड (जैसे, UNO, मेगा, नैनो)
  3. I2C डिवाइस (जैसे, सेंसर, डिस्प्ले)
  4. ब्रेडबोर्ड और जम्पर तार
  5. Arduino IDE के साथ एक कंप्यूटर स्थापित

चरण 1: TCA9548A को समझना

TCA9548A 8 स्वतंत्र I2C बसों (चैनलों) को नियंत्रित कर सकता है। प्रत्येक चैनल को एक ही पते के साथ उपकरणों को अलग करने के लिए चालू या बंद किया जा सकता है।

पिनआउट करना

नत्थी करना समारोह
वीसीसी बिजली की आपूर्ति (3.3V/5V)
Gnd मैदान
एसएडीए I2C डेटा लाइन
आयोग I2C क्लॉक लाइन
एसडीएक्स/एससीएक्स व्यक्तिगत I2C बसें (0-7)
A0, A1, A2 पता कॉन्फ़िगरेशन

I2C पता कॉन्फ़िगरेशन

  • TCA9548A का I2C पता A0, A1 और A2 पिन द्वारा निर्धारित किया जाता है:
    • GND के लिए सभी पिन: 0x70 (डिफ़ॉल्ट पता)
    • उच्च और निम्न के संयोजन से पते सेट कर सकते हैं 0x70 को 0x77.

चरण 2: TCA9548A को Arduino को वायरिंग करें

TCA9548A को Arduino से कनेक्ट करें

TCA9548A पिन अर्डुइनो पिन
वीसीसी 5V
Gnd Gnd
एसएडीए ए 4
आयोग ए 5

I2C उपकरणों को TCA9548A से कनेक्ट करें

  • TCA9548A पर इसी SDX और SCX पिन से अपने I2C उपकरणों के SDA और SCL लाइनों को कनेक्ट करें।
  • सुनिश्चित करें कि उपकरणों के VCC और GND पिन भी जुड़े हुए हैं।

चरण 3: आवश्यक पुस्तकालय स्थापित करें

TCA9548A के साथ काम करने के लिए सरल बनाने के लिए, "वायर" लाइब्रेरी (Arduino IDE में पूर्व-स्थापित) स्थापित करें।

यदि आप आसान हैंडलिंग के लिए एक लाइब्रेरी पसंद करते हैं, तो आप उपयोग कर सकते हैं Adafruit TCA9548A पुस्तकालय:

स्थापित करने के लिए कदम:

  1. Arduino ide खोलें।
  2. जाओ स्केच > पुस्तकालय शामिल करें > पुस्तकालयों का प्रबंधन करें.
  3. "Adafruit TCA9548A" के लिए खोजें और क्लिक करें स्थापित करना.

चरण 4: कोड अपलोड करें

निम्न उदाहरण दर्शाता है कि एक विशिष्ट I2C बस का चयन कैसे करें और एक उपकरण के साथ संवाद करें:

उदाहरण कोड

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

चरण 5: प्रत्येक चैनल पर उपकरणों के साथ संवाद करना

किसी विशिष्ट चैनल पर डिवाइस के साथ संवाद करने के लिए, कॉल करें tcaSelect(bus) I2C संचार शुरू करने से पहले कार्य। उदाहरण के लिए:

सेंसर से डेटा पढ़ना

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

TCA9548A के आवेदन

  1. कई समान I2C उपकरणों का प्रबंधन (जैसे, एक ही पते के साथ कई सेंसर)।
  2. एक परियोजना में I2C उपकरणों का विस्तार।
  3. बड़ी प्रणालियों में वायरिंग जटिलता को कम करना।

समस्या निवारण

  • उपकरणों से कोई प्रतिक्रिया नहीं: सुनिश्चित करें कि सही I2C बस का चयन किया गया है और वायरिंग की जांच करें।
  • पता संघर्ष: संघर्षों से बचने के लिए जुड़े उपकरणों के I2C पते को सत्यापित करें।
  • गलत बस स्विचिंग: सुनिश्चित करें कि TCA9548A का पता सही ढंग से कॉन्फ़िगर किया गया है और कोड से मेल खाता है।

निष्कर्ष

आपने Arduino के साथ TCA9548A I2C मल्टीप्लेक्स को सफलतापूर्वक पार कर लिया है। यह शक्तिशाली मॉड्यूल आपको एक ही पते के साथ कई I2C उपकरणों को जोड़ने और नियंत्रित करने की अनुमति देता है, जिससे यह जटिल परियोजनाओं के लिए एक मूल्यवान उपकरण बन जाता है। अपनी पूरी क्षमता को अनलॉक करने के लिए विभिन्न उपकरणों और कॉन्फ़िगरेशन के साथ प्रयोग करें!

एक टिप्पणी छोड़ें

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.