विषयसूची:

पेश है I2C को Zio मॉड्यूल्स और Qwiic के साथ: 6 स्टेप्स
पेश है I2C को Zio मॉड्यूल्स और Qwiic के साथ: 6 स्टेप्स

वीडियो: पेश है I2C को Zio मॉड्यूल्स और Qwiic के साथ: 6 स्टेप्स

वीडियो: पेश है I2C को Zio मॉड्यूल्स और Qwiic के साथ: 6 स्टेप्स
वीडियो: How To Make a Pixhawk Flight Controller Drone | Detail Review 2024, जुलाई
Anonim
पेश है I2C को Zio मॉड्यूल्स और Qwiic के साथ
पेश है I2C को Zio मॉड्यूल्स और Qwiic के साथ

रॉबिन शर्मा ने कहा: 'समय के साथ छोटे दैनिक सुधार आश्चर्यजनक परिणाम देते हैं'। आप सोच रहे होंगे, 'अरे, एक और I2C पोस्ट?'। खैर, जब I2C की बात आती है तो निश्चित रूप से हजारों जानकारी होती है। लेकिन बने रहें, यह सिर्फ एक और I2C लेख नहीं है। Qwiic Connect सिस्टम और Zio पेरिफेरल ब्रेकआउट बोर्ड निश्चित रूप से I²C गेम चेंजर हैं!

परिचय

यदि आप इलेक्ट्रॉनिक प्रोजेक्ट बना रहे हैं और कमाल के काम कर रहे हैं, तो आपने महसूस किया होगा कि जैसे-जैसे आपकी परियोजनाएँ बड़ी होती जाती हैं, आपका ब्रेडबोर्ड एक साँप के गड्ढे की तरह दिखने लगता है (थोड़ा गड़बड़ है?)

इसके अलावा, यदि आपके पास कई प्रोजेक्ट चल रहे हैं, तो आप प्रोजेक्ट से प्रोजेक्ट में तारों को स्विच करने में बहुत समय व्यतीत करते हैं।

हम निर्माता हैं, इसलिए हम संघर्ष को समझते हैं। OHS समुदाय में हमारा सबसे हालिया योगदान ZIO नामक एक मॉड्यूलर प्रोटोटाइप सिस्टम है, जो Qwiic कनेक्टिंग सिस्टम को अपनाता है। Qwiic I²C के माध्यम से सेंसर, एक्चुएटर्स और ब्रेकआउट बोर्ड को प्रोग्राम करने योग्य सर्किट बोर्ड को संप्रेषित करने का एक बहुत ही सुविधाजनक तरीका है।

चरण 1: I²C क्या है और हम इसे क्यों पसंद करते हैं

I²C क्या है और हम इसे क्यों पसंद करते हैं
I²C क्या है और हम इसे क्यों पसंद करते हैं

I²C सबसे व्यापक रूप से उपयोग की जाने वाली मल्टी-मास्टर बस है, जिसका अर्थ है कि विभिन्न चिप्स को एक ही बस से जोड़ा जा सकता है। इसका उपयोग मास्टर और दास या एकाधिक मास्टर और दास उपकरणों के बीच कई अनुप्रयोगों में किया जाता है। माइक्रोकंट्रोलर से लेकर स्मार्टफोन तक, औद्योगिक अनुप्रयोगों तक, विशेष रूप से कंप्यूटर मॉनिटर जैसे वीडियो उपकरणों के लिए। इसे कई इलेक्ट्रॉनिक डिज़ाइनों में आसानी से लागू किया जा सकता है (और हाल ही में क्विक कनेक्टर के साथ और भी आसान)।

यदि हमें I²C का दो शब्दों में वर्णन करना होता, तो हम शायद सरलता और लचीलेपन का उपयोग करते।

अन्य संचार प्रोटोकॉल पर I²C के सबसे बड़े लाभों में से एक यह है कि यह एक दो तार इंटरफ़ेस है जिसका अर्थ है कि इसे केवल दो सिग्नल तारों, एसडीए (सीरियल डेटा लाइन) और एससीएल (सीरियल क्लॉक लाइन) की आवश्यकता है। यह सबसे तेज़ प्रोटोकॉल नहीं हो सकता है, लेकिन यह बहुत लचीला होने के लिए जाना जाता है, जिससे बस वोल्टेज में लचीलेपन की अनुमति मिलती है।

एक और महत्वपूर्ण विशेषता जो इस बस को आकर्षक बनाती है, वह है मालिक और दास के बीच की संगति। एकाधिक उपकरणों को एक ही बस से जोड़ा जा सकता है और उपकरणों के बीच तारों को बदलने की कोई आवश्यकता नहीं है क्योंकि प्रत्येक डिवाइस का एक अनूठा पता होता है (मास्टर संचार करने के लिए डिवाइस का चयन करता है)।

चरण 2: आइए एक नज़दीकी नज़र डालें

आओ हम इसे नज़दीक से देखें
आओ हम इसे नज़दीक से देखें
आओ हम इसे नज़दीक से देखें
आओ हम इसे नज़दीक से देखें
आओ हम इसे नज़दीक से देखें
आओ हम इसे नज़दीक से देखें
आओ हम इसे नज़दीक से देखें
आओ हम इसे नज़दीक से देखें

तो, I²C कैसे काम करता है? पहले हमने उल्लेख किया था कि सबसे महत्वपूर्ण विशेषताओं में से एक वोल्टेज भत्ता है, यह संभव है क्योंकि I²C एसडीए और एससीएल संचार लाइनों दोनों के लिए एक ओपन कलेक्टर (जिसे ओपन ड्रेन के रूप में भी जाना जाता है) का उपयोग करता है।

SCL क्लॉक सिग्नल है, I²C बस में उपकरणों के बीच डेटा ट्रांसफर को सिंक्रोनाइज़ करता है और यह मास्टर द्वारा उत्पन्न होता है। जबकि एसडीए बस से जुड़े सेंसर या अन्य उपकरणों से भेजने या प्राप्त करने के लिए डेटा रखता है।

सिग्नल का आउटपुट जमीन से जुड़ा होता है, जिसका अर्थ है कि प्रत्येक डिवाइस को कम लगाया जाता है। सिग्नल को हाई पर रिकवर करने के लिए, दोनों लाइनें एक पुल अप रेसिस्टर के माध्यम से एक सकारात्मक आपूर्ति वोल्टेज से जुड़ी होती हैं जिसे समाप्त किया जाना है।

ZIO मॉड्यूल के साथ हमने आपको कवर किया है, हमारे सभी ब्रेकआउट बोर्ड आवश्यक पुल अप रेसिस्टर को शामिल करते हैं।

I²C मास्टर को दास उपकरणों के साथ संवाद करने के लिए एक संदेश प्रोटोकॉल का पालन करता है। सभी I²C दासों में दो पंक्तियाँ (SCL और SDA) समान हैं, बस में सभी दास संदेश सुनते हैं।

संदेश प्रोटोकॉल संलग्न छवि में दिखाए गए प्रारूप का अनुसरण करता है:

यह पहली नज़र में जटिल लग सकता है, लेकिन हमारे पास एक अच्छी खबर है। Arduino IDE का उपयोग करते समय I²C संदेश प्रोटोकॉल के लिए सभी सेट अप को सरल बनाने के लिए लाइब्रेरी Wire.h है।

प्रारंभ स्थिति तब उत्पन्न होती है जब डेटा लाइन (SDA) कम हो जाती है जबकि क्लॉक लाइन (SCL) अभी भी उच्च होती है। Arduino इंटरफ़ेस पर एक प्रोजेक्ट स्थापित करते समय हमें वास्तव में प्रारंभ स्थिति उत्पन्न करने के बारे में चिंता करने की आवश्यकता नहीं है, इसे एक विशिष्ट फ़ंक्शन (Wire.beginTransmission(slaveAddress)) के साथ शुरू किया जाएगा।

इसके अलावा, यह फ़ंक्शन विशिष्ट दास पते के साथ प्रसारण भी शुरू करता है। साझा बस में संवाद करने के लिए दास का चयन करने के लिए, मास्टर दास को संवाद करने के लिए पता भेजने के लिए आगे बढ़ता है। पते को संबंधित दास से संवाद करने के लिए सेट करने के बाद, चयनित मोड के आधार पर, डी संदेश या तो पढ़ने या लिखने के बिट के साथ आता है।

साल्वे एक पावती (एसीके या एनएके) के साथ जवाब देता है, और बस पर अन्य दास डिवाइस संदेश पूरा होने तक शेष डेटा छूट देते हैं और बस मुफ्त है। एसीके के बाद, दासों के आंतरिक एड्रेसिंग रजिस्टर का एक क्रम संचरण जारी रखता है।

जब डेटा भेजा जाता है, तो स्थानांतरण संदेश एक स्टॉप कंडीशन के साथ समाप्त होता है। ट्रांसमिशन को समाप्त करने के लिए डेटा लाइन हाई में बदल जाती है और क्लॉक लाइन हाई रहती है।

चरण 3: I²C और ZIO

I²C और ZIO
I²C और ZIO

हमें लगा कि एक मास्टर (उर्फ ज़ुइनो, हमारे माइक्रो) और स्लेव्स (a.k.a ZIO ब्रेकआउट बोर्ड) के बीच बातचीत में ऊपर दी गई सभी जानकारी को ब्लूप्रिंट करना सबसे अच्छा होगा।

इस मूल उदाहरण में हम ZIO TOF दूरी सेंसर और ZIO OLED डिस्प्ले का उपयोग कर रहे हैं। TOF दूरी की जानकारी देता है जबकि ZIO Oled डेटा प्रदर्शित करता है। उपयोग किए गए घटक और उपकरण:

  • ज़ुइनो एम यूनो - मास्टर
  • ZIO OLED डिस्प्ले - स्लेव_01
  • ZIO TOF दूरी सेंसर - स्लेव_02
  • Qwiic Cable - 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 के लिए किया जाता है और अंतिम का उपयोग दूरी सेंसर के लिए किया जाता है। *.zip लाइब्रेरी को Arduino IDE से कैसे लिंक करें, इस ट्यूटोरियल को देखें।

कोड को देखते हुए, पहले पुस्तकालयों को घोषित करना होगा और साथ ही OLED के लिए पता भी बताना होगा।

सेटअप () में ट्रांसमिशन शुरू होता है और दूरी सेंसर कार्यक्षमता के लिए टेक्स्ट प्रदर्शित होता है।

लूप () दूरी पर माप लेता है और OLED इसे प्रिंट करता है।

जीथब लिंक पर उदाहरण स्रोत कोड देखें।

दोनों ब्रेकआउट बोर्ड का उपयोग करना सभी अर्थों में बहुत आसान है। हार्डवेयर की तरफ Qwiic कनेक्टर ब्रेडबोर्ड और जम्पर तारों की तुलना में हार्डवेयर सेटअप को तेज़ और बहुत कम गन्दा बनाता है। और फर्मवेयर के लिए, I2C संचार के लिए संबंधित पुस्तकालयों का उपयोग करके, सेंसर और डिस्प्ले कोड को और अधिक सरल बनाता है।

चरण 4: अधिकतम केबल लंबाई क्या है?

अधिकतम लंबाई एसडीए और एससीएल और केबल कैपेसिटेंस के लिए उपयोग किए जाने वाले पुल अप रेसिस्टर्स पर निर्भर करती है। प्रतिरोधक बस की गति भी निर्धारित करते हैं, बस की गति जितनी कम होगी, केबल की सीमा उतनी ही लंबी होगी। केबल कैपेसिटेंस बस में उपकरणों की संख्या, साथ ही साथ केबल की लंबाई को सीमित करता है। विशिष्ट अनुप्रयोग तार की लंबाई को 2.5-3.5m (9-12ft) तक सीमित करते हैं, लेकिन उपयोग किए गए केबल के आधार पर भिन्नता होती है। संदर्भ के लिए, परिरक्षित 22 AWG ट्विस्टेड पेयर केबल का उपयोग करते हुए I2C अनुप्रयोगों की अधिकतम लंबाई 100 kbaund पर लगभग 1 m (3 ft), 10 kbaud पर 10 m (30ft) है।

मोगामी या वोल्फ्रामअल्फा जैसी कुछ साइटें हैं जो केबल की लंबाई का अनुमान लगाने की अनुमति देती हैं।

चरण 5: एक ही बस में एकाधिक डिवाइस कैसे कनेक्ट करें?

एक ही बस में एकाधिक डिवाइस कैसे कनेक्ट करें?
एक ही बस में एकाधिक डिवाइस कैसे कनेक्ट करें?
एक ही बस में एकाधिक डिवाइस कैसे कनेक्ट करें?
एक ही बस में एकाधिक डिवाइस कैसे कनेक्ट करें?

I2C एक सीरियल बस है, जहां सभी डिवाइस एक साझा बस से जुड़े होते हैं। Qwiic कनेक्टर के साथ विभिन्न ब्रेकआउट बोर्ड एक के बाद एक Qwiic कनेक्टर का उपयोग करके कनेक्ट किए जा सकते हैं। प्रत्येक बोर्ड में कम से कम 2 क्विक कनेक्टर होते हैं।

हमने कुछ Qwiic और I2C सीमाओं को हल करने के लिए अलग-अलग बोर्ड बनाए। Zio Qwiic एडेप्टर बोर्ड का उपयोग Qwiic उपकरणों के माध्यम से Qwiic कनेक्टर के बिना कनेक्ट करने के लिए किया जाता है, Qwiic से ब्रेडबोर्ड पुरुष हेडर केबल का उपयोग किया जाता है। यह सरल चाल असीमित संभावनाएं पैदा करती है।

बस या ट्री नेटवर्क पर विभिन्न उपकरणों को जोड़ने के लिए हम Zio Qwiic Hub लेकर आए हैं।

अंतिम लेकिन कम से कम, Zio Qwiic MUX एक ही पते का उपयोग करके दो या दो से अधिक उपकरणों के कनेक्शन की अनुमति देता है।

चरण 6: I2C समाप्ति क्या है?

I2C को समाप्त करने की आवश्यकता है, इसलिए लाइन अन्य उपकरणों को जोड़ने के लिए स्वतंत्र है। यह थोड़ा भ्रमित करने वाला हो सकता है, क्योंकि टर्मिनेशन टर्म का इस्तेमाल आमतौर पर बस पुल-अप रेसिस्टर्स (एक डिफ़ॉल्ट स्थिति प्रदान करने के लिए, इस मामले में सर्किट को करंट सप्लाई करने के लिए) का वर्णन करने के लिए किया जाता है। Zuino बोर्डों के लिए, रोकनेवाला मान 4.7kΩ है।

यदि समाप्ति को छोड़ दिया जाता है, तो बस में कोई संचार नहीं होगा- मास्टर प्रारंभ स्थिति उत्पन्न करने में सक्षम नहीं होगा, इसलिए संदेश दासों को प्रेषित नहीं किया जाएगा।

अधिक जानकारी और ज़ीओ क्षमताओं के लिए नवीनतम ज़ीओ उत्पादों की जांच करें। इस लेख का लक्ष्य I²C संचार मूल बातें समझाना है और यह कैसे Zio और Qwiic कनेक्टर के साथ काम करता है। अधिक अपडेट के लिए बने रहें।

सिफारिश की: