সুচিপত্র:

জিও মডিউল এবং Qwiic সঙ্গে I2C প্রবর্তন: 6 ধাপ
জিও মডিউল এবং Qwiic সঙ্গে I2C প্রবর্তন: 6 ধাপ

ভিডিও: জিও মডিউল এবং Qwiic সঙ্গে I2C প্রবর্তন: 6 ধাপ

ভিডিও: জিও মডিউল এবং Qwiic সঙ্গে I2C প্রবর্তন: 6 ধাপ
ভিডিও: জিও আনতে চলেছে দারুন এই সুবিধা || Reliance Jio আনতে চলেছে E-SIM, কেমন হবে বেপারটা? 2024, জুলাই
Anonim
জিও মডিউল এবং Qwiic এর সাথে I2C প্রবর্তন
জিও মডিউল এবং Qwiic এর সাথে I2C প্রবর্তন

রবিন শর্মা বলেছেন: 'সময়ের সাথে সাথে দৈনন্দিন উন্নতিগুলি চমকপ্রদ ফলাফলের দিকে নিয়ে যায়'। আপনি হয়তো ভাবছেন, 'আরে, আরেকটি I2C পোস্ট?'। ঠিক আছে, যখন I2C এর কথা আসে তখন অবশ্যই হাজার হাজার তথ্য থাকে। কিন্তু সাথে থাকুন, এটি শুধু আরেকটি I2C নিবন্ধ নয়। Qwiic কানেক্ট সিস্টেম এবং জিও পেরিফেরাল ব্রেকআউট বোর্ড অবশ্যই I²C গেম চেঞ্জার!

ভূমিকা

আপনি যদি ইলেকট্রনিক প্রজেক্ট তৈরি করছেন এবং অসাধারণ কাজ করছেন, আপনি হয়ত বুঝতে পেরেছেন যে আপনার প্রকল্পগুলি যত বড় হচ্ছে, আপনার ব্রেডবোর্ডটি সাপের গর্তের মতো দেখতে শুরু করে (কিছুটা অগোছালো ঠিক?)।

উপরন্তু, যদি আপনার একাধিক প্রকল্প চলমান থাকে, তাহলে আপনি প্রকল্প থেকে প্রকল্পে তারের স্যুইচ করার জন্য অনেক সময় ব্যয় করেন।

আমরা নির্মাতা, তাই আমরা সংগ্রাম বুঝি। ওএইচএস কমিউনিটিতে আমাদের সাম্প্রতিক অবদান হল একটি মডিউলার প্রোটোটাইপিং সিস্টেম যা ZIO নামে পরিচিত, যা Qwiic সংযোগ ব্যবস্থা গ্রহণ করে। Qwiic একটি প্রোগ্রামযোগ্য সার্কিট বোর্ডকে IorsC এর মাধ্যমে সেন্সর, অ্যাকচুয়েটর এবং ব্রেকআউট বোর্ডের সাথে যোগাযোগ করার একটি খুব সুবিধাজনক উপায়।

ধাপ 1: I²C কি এবং কেন আমরা এটা পছন্দ করি

I²C কি এবং কেন আমরা এটা পছন্দ করি
I²C কি এবং কেন আমরা এটা পছন্দ করি

I²C হল সর্বাধিক বহুল ব্যবহৃত মাল্টি-মাস্টার বাস, মানে বিভিন্ন চিপ একই বাসের সাথে সংযুক্ত হতে পারে। এটি একটি মাস্টার এবং স্লেভ বা একাধিক মাস্টার এবং স্লেভ ডিভাইসের মধ্যে অনেক অ্যাপ্লিকেশন জুড়ে ব্যবহৃত হয়। মাইক্রোকন্ট্রোলার থেকে, স্মার্টফোন, শিল্প অ্যাপ্লিকেশন, বিশেষ করে কম্পিউটার মনিটরের মত ভিডিও ডিভাইসের জন্য। এটি সহজেই অনেক ইলেকট্রনিক ডিজাইনে প্রয়োগ করা যেতে পারে (এবং সম্প্রতি Qwiic সংযোগকারীর সাথে আরও সহজ)।

যদি আমাদের দুটি শব্দে I²C বর্ণনা করতে হতো, আমরা সম্ভবত সরলতা এবং নমনীয়তা ব্যবহার করতাম।

অন্যান্য যোগাযোগের প্রোটোকলের তুলনায় I²C এর সবচেয়ে বড় সুবিধা হল এটি একটি দুটি তারের ইন্টারফেস যার অর্থ এটির জন্য কেবল দুটি সিগন্যাল তারের প্রয়োজন, SDA (সিরিয়াল ডেটা লাইন) এবং এসসিএল (সিরিয়াল ক্লক লাইন)। এটি দ্রুততম প্রোটোকল নাও হতে পারে, তবে এটি খুব নমনীয় হওয়ার জন্য সুপরিচিত, বাস ভোল্টেজের নমনীয়তার অনুমতি দেয়।

আরেকটি উল্লেখযোগ্য বৈশিষ্ট্য যা এই বাসটিকে আকর্ষণীয় করে তোলে তা হল মাস্টার এবং ক্রীতদাসের মধ্যে মেলামেশা। একাধিক বাস একই বাসে সংযুক্ত হতে পারে এবং ডিভাইসের মধ্যে তারের পরিবর্তন করার প্রয়োজন নেই কারণ প্রতিটি ডিভাইসের একটি অনন্য ঠিকানা রয়েছে (মাস্টার যোগাযোগের জন্য ডিভাইসটি নির্বাচন করে)।

ধাপ 2: আসুন একটি ঘনিষ্ঠ চেহারা দেখি

আসুন একটু কাছ থেকে দেখি
আসুন একটু কাছ থেকে দেখি
আসুন একটি ঘনিষ্ঠ চেহারা দেখি
আসুন একটি ঘনিষ্ঠ চেহারা দেখি
আসুন একটি ঘনিষ্ঠ চেহারা দেখি
আসুন একটি ঘনিষ্ঠ চেহারা দেখি
আসুন একটু কাছ থেকে দেখি
আসুন একটু কাছ থেকে দেখি

সুতরাং, I²C কিভাবে কাজ করে? পূর্বে আমরা উল্লেখ করেছি যে সবচেয়ে উল্লেখযোগ্য বৈশিষ্ট্যগুলির মধ্যে একটি হল ভোল্টেজ ভাতা, এটি সম্ভব কারণ I²C SDA এবং SC উভয় যোগাযোগের লাইনের জন্য একটি খোলা সংগ্রাহক (যা ওপেন ড্রেন নামেও পরিচিত) ব্যবহার করে।

এসসিএল হল ঘড়ি সংকেত, I²C বাসে থাকা ডিভাইসের মধ্যে ডেটা ট্রান্সফার সিঙ্ক্রোনাইজ করে এবং এটি মাস্টার দ্বারা তৈরি হয়। যখন এসডিএ সেন্সর বা বাসের সাথে সংযুক্ত অন্যান্য ডিভাইস থেকে তথ্য প্রেরণ বা গ্রহণ করে।

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

ZIO মডিউলগুলির সাহায্যে আমরা আপনাকে আচ্ছাদিত করেছি, আমাদের সমস্ত ব্রেকআউট বোর্ডগুলি প্রয়োজনীয় টান আপ প্রতিরোধক অন্তর্ভুক্ত করে।

I²C ক্রীতদাস ডিভাইসের সাথে মাস্টারকে যোগাযোগ করার জন্য একটি বার্তা প্রোটোকল অনুসরণ করে। দুটি লাইন (এসসিএল এবং এসডিএ) সমস্ত I²C ক্রীতদাসের মধ্যে সাধারণ, বাসের সমস্ত ক্রীতদাসরা বার্তাটি শোনে।

বার্তা প্রোটোকল সংযুক্ত ছবিতে দেখানো বিন্যাস অনুসরণ করে:

এটি প্রথম নজরে জটিল মনে হতে পারে, তবে আমরা কিছুটা সুখবর পেয়েছি। Arduino IDE ব্যবহার করার সময় I²C বার্তা প্রোটোকলের জন্য সমস্ত সেট আপ সহজ করার জন্য লাইব্রেরি Wire.h আছে।

শুরুর অবস্থা তৈরি হয় যখন ডেটা লাইন (এসডিএ) কম হয় যখন ক্লক লাইন (এসসিএল) এখনও বেশি থাকে। আরডুইনো ইন্টারফেসে একটি প্রকল্প স্থাপন করার সময় আমাদের শুরুর অবস্থা তৈরির বিষয়ে সত্যিই চিন্তা করার দরকার নেই, এটি একটি নির্দিষ্ট ফাংশন (Wire.beginTransmission (slaveAddress)) দিয়ে শুরু করা হবে।

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

সালভ একটি স্বীকৃতি (ACK বা NACK) দিয়ে একটি উত্তর দেয়, এবং বাসের অন্যান্য স্লেভ ডিভাইসগুলি বার্তাটি সম্পূর্ণ না হওয়া পর্যন্ত এবং বাসটি বিনামূল্যে না হওয়া পর্যন্ত বাকি ডেটা ছাড় দেয়। ACK এর পরে, ক্রীতদাসদের একটি অভ্যন্তরীণ ঠিকানা রেজিস্টারের একটি ক্রম সংক্রমণ চালিয়ে যায়।

যখন ডেটা পাঠানো হয়, ট্রান্সফার মেসেজ স্টপ কন্ডিশন দিয়ে শেষ হয়। ট্রান্সমিশন শেষ করার জন্য ডাটা লাইন উচ্চতায় পরিবর্তিত হয় এবং ঘড়ির লাইন উচ্চ থাকে।

ধাপ 3: I²C এবং ZIO

I²C এবং ZIO
I²C এবং ZIO

আমরা বুঝতে পেরেছি যে একজন মাস্টার (ওরফে জুইনো, আমাদের মাইক্রো) এবং ক্রীতদাসদের (আ। কে। জেডিও ব্রেকআউট বোর্ড) মধ্যে কথোপকথনে উপরের সমস্ত তথ্য ব্লুপ্রিন্ট করা ভাল হবে।

এই মৌলিক উদাহরণে আমরা ZIO TOF দূরত্ব সেন্সর এবং ZIO OLED ডিসপ্লে ব্যবহার করছি। TOF দূরত্বের তথ্য দেয় যখন ZIO Oled ডেটা প্রদর্শন করে। ব্যবহৃত উপাদান এবং ডিভাইস:

  • জুইনো এম ইউএনও - মাস্টার
  • জিও ওএলইডি ডিসপ্লে - স্লেভ_01
  • ZIO TOF দূরত্ব সেন্সর - স্লেভ_02
  • Qwiic কেবল - I²C ডিভাইসের জন্য সহজ সংযোগ

এখানে Qwiic ব্যবহার করে বোর্ডগুলিকে একে অপরের সাথে সংযুক্ত করা কতটা সহজ, কোন রুটিবোর্ডের প্রয়োজন নেই, অতিরিক্ত তারগুলি নেডেড বা ZUINO পিনগুলি ব্যবহার করুন। ZUINO এর সিরিয়াল ক্লক এবং ডেটা লাইন Qwiic সংযোগকারী ব্যবহার করে স্বয়ংক্রিয়ভাবে দূরত্ব সেন্সর এবং OLED এর সাথে সংযুক্ত থাকে। অন্য দুটি তারের হল 3V3 এবং GND।

প্রথমত, আসুন প্রয়োজনীয় তথ্যের দিকে নজর দেই, দাসদের সাথে মাস্টারকে যোগাযোগ করার জন্য আমাদের অনন্য ঠিকানাগুলি জানতে হবে।

ডিভাইস: ZIO দূরত্ব সেন্সর

  • পার্ট নম্বর: RFD77402
  • I2C ঠিকানা: 0x4C
  • ডেটাশীট লিঙ্ক

ডিভাইস: ZIO OLED ডিসপ্লে

  • পার্ট নম্বর: SSD1306
  • ঠিকানা: 0x3C
  • ডেটাশীট লিঙ্ক

স্লেভ ডিভাইসের জন্য অনন্য ঠিকানা খুঁজে পেতে প্রদত্ত ডেটশীটটি খুলুন। দূরত্ব সেন্সরের জন্য ঠিকানাটি মডিউল ইন্টারফেস সেকশনে দেওয়া হয়। প্রতিটি সেন্সর বা কম্পোনেন্টের আলাদা আলাদা ডেটশীট থাকে যার সাথে বিভিন্ন তথ্য প্রদান করা হয়। কখনও কখনও 30 পৃষ্ঠার ডেটশীটে এটি খুঁজে পাওয়া চ্যালেঞ্জিং হতে পারে (ইঙ্গিত: পিডিএফ ভিউয়ারে ফাইন্ড টুলটি খুলুন এবং দ্রুত অনুসন্ধানের জন্য "ঠিকানা" বা "ডিভাইস আইডি" টাইপ করুন)।

এখন যেহেতু প্রতিটি ডিভাইসের অনন্য ঠিকানা জানা যায়, ডেটা পড়া/ লেখার জন্য, অভ্যন্তরীণ রেজিস্টার ঠিকানাটি চিহ্নিত করতে হবে (ডেটশীট থেকেও)। ZIO দূরত্ব সেন্সর ডেটশীটটি দেখে নিন ঠিকানাটি 0x7FF এর সাথে সম্পর্কিত।

এই বিশেষ ক্ষেত্রে আমাদের সেন্সর ব্যবহারের জন্য এই তথ্যের প্রয়োজন নেই কারণ লাইব্রেরি এটি ইতিমধ্যেই করেছে।

পরবর্তী ধাপ, কোডের উপর হাত। ZUINO M UNO Arduino IDE এর সাথে সামঞ্জস্যপূর্ণ, যা সেটআপটিকে অনেক সহজ করে তোলে। এই প্রকল্পের জন্য প্রয়োজনীয় গ্রন্থাগারগুলি নিম্নরূপ:

  • ওয়্যার.এইচ
  • Adafruit_GFX.h
  • Adafruit_SSD1306.h
  • SparkFun_RFD77402_Arduino_Library.h

Wire.h একটি arduino লাইব্রেরি, দুটি Adafruit লাইব্রেরি OLED এর জন্য ব্যবহৃত হয় এবং শেষগুলি দূরত্ব সেন্সরের জন্য ব্যবহৃত হয়। Arduino IDE এর সাথে *.zip লাইব্রেরি কিভাবে লিঙ্ক করবেন এই টিউটোরিয়ালটি দেখুন।

কোডটি দেখে, প্রথমে লাইব্রেরিগুলিকে ওএলইডি -র ঠিকানা হিসাবে ঘোষণা করতে হবে।

সেটআপ () এ ট্রান্সমিশন শুরু হয় এবং টেক্সট ডিসটেন্স সেন্সরের কার্যকারিতার জন্য প্রদর্শিত হয়।

লুপ () দূরত্বের পরিমাপ নেয় এবং OLED এটি মুদ্রণ করে।

জিথুব লিঙ্কে উদাহরণ সোর্স কোডটি দেখুন।

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

ধাপ 4: সর্বাধিক তারের দৈর্ঘ্য কত?

সর্বাধিক দৈর্ঘ্য এসডিএ এবং এসসিএল এবং তারের ক্যাপাসিট্যান্সের জন্য ব্যবহৃত পুল আপ প্রতিরোধকগুলির উপর নির্ভর করে। প্রতিরোধক বাসের গতিও নির্ধারণ করে, বাসের গতি কম, তারের সীমা লম্বা। তারের ক্যাপাসিট্যান্স বাসে ডিভাইসের সংখ্যা, পাশাপাশি তারের দৈর্ঘ্য সীমাবদ্ধ করে। সাধারণ অ্যাপ্লিকেশনগুলি তারের দৈর্ঘ্য 2.5-3.5 মি (9-12 ফুট) সীমাবদ্ধ করে তবে ব্যবহৃত তারের উপর নির্ভর করে তারতম্য রয়েছে। রেফারেন্সের জন্য, I2C অ্যাপ্লিকেশনের সর্বাধিক দৈর্ঘ্য 22ালযুক্ত 22 AWG টুইস্টেড পেয়ার ক্যাবল ব্যবহার করে 100 kbaund এ প্রায় 1 m (3 ft), 10kbaud এ 10 m (30ft)।

মোগামি বা ওলফ্রামআলফার মতো কিছু সাইট রয়েছে যা তারের দৈর্ঘ্য অনুমান করতে দেয়।

ধাপ 5: একই বাসে একাধিক ডিভাইস কিভাবে সংযুক্ত করবেন?

কিভাবে একই বাসে একাধিক ডিভাইস সংযুক্ত করবেন?
কিভাবে একই বাসে একাধিক ডিভাইস সংযুক্ত করবেন?
কিভাবে একই বাসে একাধিক ডিভাইস সংযুক্ত করবেন?
কিভাবে একই বাসে একাধিক ডিভাইস সংযুক্ত করবেন?

I2C একটি সিরিয়াল বাস, যেখানে সমস্ত ডিভাইস একটি ভাগ করা বাসের সাথে সংযুক্ত থাকে। Qwiic সংযোগকারীর সাথে Qwiic সংযোগকারী ব্যবহার করে বিভিন্ন ব্রেকআউট বোর্ড একে অপরের সাথে সংযুক্ত হতে পারে। প্রতিটি বোর্ডে কমপক্ষে 2 টি Qwiic সংযোগকারী রয়েছে।

আমরা Qwiic এবং I2C সীমাবদ্ধতার কিছু সমাধান করার জন্য বিভিন্ন বোর্ড তৈরি করেছি। Zio Qwiic অ্যাডাপ্টার বোর্ড Qwiic ডিভাইসের মাধ্যমে Qwiic সংযোগকারী ছাড়া সংযোগ করতে ব্যবহৃত হয়, Qwiic থেকে ব্রেডবোর্ড পুরুষ হেডার ক্যাবল ব্যবহার করে। এই সহজ কৌশলটি সীমাহীন সম্ভাবনা তৈরি করে।

একটি বাস বা গাছের নেটওয়ার্কে বিভিন্ন ডিভাইস সংযুক্ত করতে আমরা জিও কিউইয়িক হাব নিয়ে এসেছি।

সর্বশেষ কিন্তু অন্তত নয়, জিও কিউইয়িক এমইউএক্স একই ঠিকানা ব্যবহার করে দুই বা ততোধিক ডিভাইসের সংযোগের অনুমতি দেয়।

ধাপ 6: I2C সমাপ্তি কি?

I2C বন্ধ করার জন্য প্রয়োজন, তাই লাইনটি অন্যান্য ডিভাইস যুক্ত করার জন্য বিনামূল্যে। এটি কিছুটা বিভ্রান্তিকর হতে পারে, কারণ টার্মিনেশন শব্দটি সাধারণত বাস টান-আপ প্রতিরোধক (একটি ডিফল্ট অবস্থা প্রদান করতে, এই ক্ষেত্রে সার্কিটে কারেন্ট সরবরাহ করার জন্য) ব্যবহৃত হয়। Zuino বোর্ডের জন্য, প্রতিরোধক মান 4.7kΩ।

যদি সমাপ্তি বাদ দেওয়া হয়, বাসে আদৌ কোনো যোগাযোগ থাকবে না- মাস্টার শুরুর অবস্থা তৈরি করতে পারবেন না, তাই বার্তা দাসদের কাছে প্রেরণ করা হবে না।

আরও তথ্য এবং জিও ক্ষমতাগুলির জন্য সর্বশেষ জিও পণ্যগুলি পরীক্ষা করুন। এই নিবন্ধের লক্ষ্য হল I²C যোগাযোগের মূল বিষয়গুলি এবং এটি কীভাবে জিও এবং কিউইক সংযোগকারীর সাথে কাজ করে তা ব্যাখ্যা করা। আরো আপডেটের জন্য থাকুন.

প্রস্তাবিত: