কিভাবে একটি TCA2A I9548C মাল্টিপ্লেক্সারকে Arduino এর সাথে সংযুক্ত করবেন

  • TCA9548A 8টি পর্যন্ত I2C ডিভাইসকে একটি বাসের সাথে সংযুক্ত করার অনুমতি দেয়।
  • এটি সহজেই I2C ইনপুট বাসের মাধ্যমে নিয়ন্ত্রণ করা যায় এবং একটি চ্যানেল নির্বাচন করা যায়।
  • এটি বিভিন্ন ভোল্টেজ স্তর সমর্থন করে, এটি অনেক প্রকল্পের জন্য বহুমুখী করে তোলে।
  • এটি স্থির বা পুনরাবৃত্তিকারী I2C ঠিকানা সহ ডিভাইসগুলি পরিচালনার জন্য আদর্শ।

Arduino সঙ্গে I2C যোগাযোগ

আজকাল, আরডুইনোর মতো মাইক্রোকন্ট্রোলারের সাথে একাধিক ডিভাইস সংযোগ করার জন্য I2C যোগাযোগ সবচেয়ে বেশি ব্যবহৃত পদ্ধতি হয়ে উঠেছে। সে TCA9548A একটি 2-চ্যানেল I8C বাস এক্সটেন্ডার যা এই ধরনের সংযোগগুলির মধ্যে সবচেয়ে সাধারণ সমস্যাগুলির একটি সমাধান করে: I2C ঠিকানার দ্বন্দ্ব৷ এই প্রবন্ধটি আপনাকে বুঝতে সাহায্য করবে কিভাবে এই প্রসারকটি কাজ করে এবং কিভাবে আপনি এটিকে আপনার Arduino প্রকল্পে একীভূত করতে পারেন।

আপনি যদি কখনও I2C বাসে একই ঠিকানা ভাগ করে এমন ডিভাইসগুলির সম্মুখীন হন, আপনি জানেন যে বিবাদ সৃষ্টি না করে তাদের সাথে যোগাযোগ করার চেষ্টা করা কতটা হতাশাজনক হতে পারে। ব্যবহার করে TCA9548A, আমরা সেই সমস্যাগুলি এড়াতে পারি এবং একটি একক I2C বাসের সাথে সংযুক্ত ডিভাইসের সংখ্যা প্রসারিত করতে পারি। আসুন এই মাল্টিপ্লেক্সার দ্বারা অফার করা ক্ষমতাগুলি বিস্তারিতভাবে অন্বেষণ করা যাক।

একটি TCA9548A কি?

El TCA9548A একটি 2-চ্যানেল I8C বাস এক্সটেন্ডার বিশেষত আরডুইনোর মতো ডিভাইসের জন্য তৈরি করা হয়েছে। এর প্রধান কাজ হল একটি একক I2C বাসের সাথে কয়েকটি বাসের সংযোগের অনুমতি দেওয়া, যা এটিকে বেশ কয়েকটি ডিভাইসের সাথে দক্ষতার সাথে যোগাযোগ পরিচালনা করার জন্য একটি মৌলিক উপাদান করে তোলে। এটি এমনকি একটি মাল্টিপ্লেক্সারের সাথে তুলনা করা যেতে পারে, তবে বিশেষভাবে I2C যোগাযোগের জন্য ডিজাইন করা হয়েছে।

এই ডিভাইসটিতে দুটি লাইন, SDA (ডেটা) এবং SCL (ঘড়ি) সমন্বিত একটি I2C বাস ইনপুট রয়েছে, 8টি স্বাধীন আউটপুটের সাথে সংযুক্ত, প্রতিটি তার সংশ্লিষ্ট SDA এবং SCL এর সাথে। এই অনুমতি দেয় মাইক্রোকন্ট্রোলার 8টি পর্যন্ত ডিভাইসের সাথে যোগাযোগ করে, প্রতিটি মুহূর্তে কোনটির সাথে ইন্টারঅ্যাক্ট করতে হবে তা বেছে নেওয়া।

উপরন্তু, একই I9548C ঠিকানা শেয়ার করে এমন ডিভাইসগুলি পরিচালনা করতে TCA2A ব্যবহার করা সাধারণ, নির্দিষ্ট কিছু সেন্সর এবং ডিসপ্লেতে সাধারণ কিছু যা তাদের ঠিকানা পরিবর্তন করার অনুমতি দেয় না। এই মাল্টিপ্লেক্সারের সাহায্যে, আপনি একটি চ্যানেল সক্রিয় করতে পারেন এবং অন্য চ্যানেলগুলিতে হস্তক্ষেপ না করে একটি ডিভাইসের সাথে যোগাযোগ করতে পারেন৷

সুবিধা এবং হাইলাইট

সবচেয়ে প্রাসঙ্গিক সুবিধার মধ্যে TCA9548A লজিক অ্যাডাপ্টার ব্যবহার করার প্রয়োজন ছাড়াই বিভিন্ন ভোল্টেজ স্তরের I2C বাসগুলির সাথে কাজ করার ক্ষমতা রয়েছে। এই অনুমতি দেয় 1.8V, 2.5V, 3.3V এবং 5V তে চালিত ডিভাইসগুলির সাথে যোগাযোগ, যা বিভিন্ন প্রকল্পে একীকরণের সম্ভাবনাকে প্রসারিত করে।

আরেকটি মূল বৈশিষ্ট্য হল যে মাল্টিপ্লেক্সারকে সরাসরি I2C ইনপুট বাস থেকে নিয়ন্ত্রণ করা যায়, যা মাইক্রোকন্ট্রোলার থেকে কাজ করা খুব সহজ করে তোলে। এর অপারেটিং ভোল্টেজ 1.65V থেকে 5.5V পর্যন্ত, এবং এটি 2 kHz পর্যন্ত ফ্রিকোয়েন্সি সহ I400C বাসগুলিকে সমর্থন করে, এটি বিভিন্ন ডিভাইসের জন্য উপযুক্ত করে তোলে।

সংযুক্তি কনফিগারেশন

tca9548a

TCA9548A সংযোগ করা বেশ সহজ. আপনাকে কেবলমাত্র সংশ্লিষ্ট পাওয়ার পিনের সাথে (উদাহরণস্বরূপ GND এবং 5V) Arduino এর SDA এবং SCL লাইনের সাথে ইনপুট বাসটি সংযুক্ত করতে হবে। অন্য প্রান্তে, আপনি 8টি পর্যন্ত I2C ডিভাইস সংযোগ করতে পারেন, প্রতিটি তাদের নিজ নিজ চ্যানেলে SDA এবং SCL এর সাথে।

একটি আকর্ষণীয় বৈশিষ্ট্য হল যে আপনি A2, A9548 এবং A0 পিন ব্যবহার করে TCA70A এর I0C ঠিকানা 77x0 থেকে 1x2 পরিবর্তন করতে পারেন। আপনি যদি একই প্রকল্পে একাধিক মাল্টিপ্লেক্সার ব্যবহার করতে চান তবে এটি কার্যকর। এছাড়াও, যদি কোনো কারণে আপনাকে মাল্টিপ্লেক্সার রিসেট করতে হয়, আপনি RST পিন LOW সেট করে তা করতে পারেন, যা ডিফল্টরূপে পুল-আপে সেট করা আছে।

এটি মনে রাখা অপরিহার্য যে তারের দৈর্ঘ্য বা সংযুক্ত ডিভাইসগুলির জটিলতা বৃদ্ধির সাথে সাথে I2C বাসে ডেটার সঠিক সংক্রমণ নিশ্চিত করতে পুল-আপ প্রতিরোধক যুক্ত করার প্রয়োজন হতে পারে।

I2C ডিভাইস স্ক্যান করার জন্য কোড উদাহরণ

এর সাথে সংযুক্ত ডিভাইসগুলির সাথে ইন্টারঅ্যাক্ট করার আগে TCA9548A, মাল্টিপ্লেক্সার সঠিকভাবে সনাক্ত করা হয়েছে তা নিশ্চিত করা প্রথমে গুরুত্বপূর্ণ। এটি করার জন্য, আপনি I2C বাসের একটি স্ক্যান করতে পারেন। নীচে আমরা বাসে মাল্টিপ্লেক্সার সনাক্ত করার জন্য একটি প্রাথমিক উদাহরণ দেখাই।

#include "Wire.h"

void setup() {
  Wire.begin();
  Serial.begin(9600);
  Serial.println("Escaneando bus I2C...");

  for (byte address = 8; address <= 119; address++) {
    Wire.beginTransmission(address);
    byte error = Wire.endTransmission();

    if (error == 0) {
      Serial.print("Encontrado dispositivo en dirección 0x");
      Serial.println(address, HEX);
    }
  }
  Serial.println("Escaneo finalizado");
}

void loop() {
  delay(1000);
}

উপরের কোড সম্ভাব্য I2C বাস ঠিকানা স্ক্যান করে, খুঁজছেন TCA9548A বা অন্যান্য সংযুক্ত ডিভাইস। মাল্টিপ্লেক্সার শনাক্ত হয়ে গেলে, আপনি যে চ্যানেলটি সক্রিয় করতে চান সেটি নির্বাচন করতে এগিয়ে যেতে পারেন।

TCA9548A এর একটি চ্যানেল নির্বাচন করা হচ্ছে

একবার আমাদের মাল্টিপ্লেক্সার কনফিগার করা এবং সনাক্ত করা হলে, আমাদের পছন্দসই ডিভাইসের সাথে যোগাযোগ করার জন্য সঠিক চ্যানেল নির্বাচন করতে হবে। এটি একটি বাইট লিখে সহজেই করা যেতে পারে যা নির্দিষ্ট চ্যানেলটিকে সক্রিয় করে। একটি চ্যানেল কীভাবে নির্বাচন করবেন তার একটি উদাহরণ এখানে দেওয়া হল:

#define TCAADDR 0x70

void tcaselect(uint8_t i) {
  if (i > 7) return;
  Wire.beginTransmission(TCAADDR);
  Wire.write(1 << i);
  Wire.endTransmission();
}

void setup() {
  Wire.begin();
  Serial.begin(115200);
  for (uint8_t t=0; t<8; t++) {
    tcaselect(t);
    Serial.print("Escaneando salida ");
    Serial.println(t);
  }
}

এই কোডের সাহায্যে, আপনি এর সাথে সংযুক্ত যেকোনো ডিভাইস নির্বাচন করতে এবং ইন্টারঅ্যাক্ট করতে পারেন TCA9548A, এক সময়ে এক. মনে রাখবেন যে আপনি অতিরিক্ত ডিভাইস খুঁজতে, প্রতিটি চ্যানেলের আউটপুট স্ক্যান করতে কোড পরিবর্তন করতে পারেন।

El TCA9548A আপনার Arduino প্রজেক্টে I2C বাসের ক্ষমতা প্রসারিত করার জন্য এটি একটি চমৎকার টুল, যা আপনাকে একই ঠিকানা বা বিভিন্ন ভোল্টেজ লেভেলের সাথে একাধিক ডিভাইসকে দক্ষ এবং সহজ উপায়ে সংযুক্ত করতে দেয়।


মন্তব্য করতে প্রথম হতে হবে

আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়বদ্ধ: মিগুয়েল অ্যাঞ্জেল গাটান
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।