Arduino संचार प्रोटोकॉल

Arduino Sancara Protokola



संचार प्रोटोकॉल नियमों का समूह है जो उपकरणों को संचार और डेटा का आदान-प्रदान करने की अनुमति देता है। Arduino संचार में ये प्रोटोकॉल बहुत महत्वपूर्ण हैं क्योंकि Arduino लगातार डेटा भेजता और प्राप्त करता है। इन प्रोटोकॉल का उपयोग करने से Arduino को त्रुटि का पता लगाने और संभावित त्रुटि पुनर्प्राप्ति विधियों को कवर करने में मदद मिलती है। ये प्रोटोकॉल एनालॉग और डिजिटल उपकरणों को एक साथ लाते हैं और कई परियोजनाओं को डिजाइन करना संभव बनाते हैं।

Arduino संचार प्रोटोकॉल

संचार प्रोटोकॉल का उपयोग करके, हम Arduino में किसी भी सेंसर का डेटा भेज और प्राप्त कर सकते हैं।

इन्फ्रारेड (IR) जैसे कुछ सरल सेंसर सीधे Arduino के साथ संचार कर सकते हैं लेकिन कुछ जटिल सेंसर जैसे वाई-फाई मॉड्यूल, एसडी कार्ड मॉड्यूल और Gyroscope बिना किसी संचार प्रोटोकॉल के Arduino के साथ सीधे संवाद नहीं कर सकते हैं। इसलिए, यही कारण है कि ये प्रोटोकॉल Arduino संचार का एक अभिन्न अंग हैं।







Arduino के साथ कई परिधीय जुड़े हुए हैं; उनमें से तीन संचार बाह्य उपकरणों का उपयोग Arduino बोर्डों में किया जाता है।



Arduino संचार प्रोटोकॉल

Arduino जैसे विभिन्न इलेक्ट्रॉनिक उपकरणों के बीच संचार इन तीन प्रोटोकॉल के बीच मानकीकृत है; यह डिजाइनरों को बिना किसी संगतता मुद्दों के विभिन्न उपकरणों के बीच आसानी से संवाद करने में सक्षम बनाता है। इन तीन प्रोटोकॉल का कार्य समान है क्योंकि वे संचार के समान उद्देश्य की पूर्ति करते हैं, लेकिन वे एक सर्किट के अंदर कार्यान्वयन में भिन्न होते हैं। इन प्रोटोकॉल के आगे विवरण नीचे चर्चा कर रहे हैं।







यूएआरटी

यूएआरटी को के रूप में जाना जाता है यूनिवर्सल एसिंक्रोनस रिसीवर ट्रांसमीटर। UART एक सीरियल संचार प्रोटोकॉल है जिसका अर्थ है कि डेटा बिट्स को एक के बाद एक अनुक्रमिक रूप में स्थानांतरित किया जाता है। UART संचार स्थापित करने के लिए हमें दो पंक्तियों की आवश्यकता है। एक Arduino बोर्ड का Tx (D1) पिन है और दूसरा Arduino बोर्ड का Rx (D0) पिन है। Tx पिन डेटा को डिवाइस में ट्रांसमिट करने के लिए है और Rx पिन डेटा प्राप्त करने के लिए उपयोग किया जाता है। विभिन्न Arduino बोर्डों में कई UART पिन होते हैं।

Arduino डिजिटल पिन यूएआरटी पिन
डी1 टेक्सास
डी0 आरएक्स

UART पोर्ट का उपयोग करके सीरियल संचार स्थापित करने के लिए हमें नीचे दिखाए गए कॉन्फ़िगरेशन में दो डिवाइस कनेक्ट करने की आवश्यकता है:



Arduino Uno पर, एक सीरियल पोर्ट संचार के लिए समर्पित है जिसे आमतौर पर USB पोर्ट के रूप में जाना जाता है। जैसा कि नाम से पता चलता है Universal Serial Bus, तो यह एक सीरियल पोर्ट है। USB पोर्ट का उपयोग करके Arduino कंप्यूटर के साथ संचार स्थापित कर सकता है। USB पोर्ट Arduino के ऑनबोर्ड पिन Tx और Rx से जुड़ा है। इन पिनों का उपयोग करके हम USB के माध्यम से कंप्यूटर के अलावा किसी भी बाहरी हार्डवेयर को कनेक्ट कर सकते हैं। Arduino IDE SoftwareSerial लाइब्रेरी प्रदान करता है (सॉफ्टवेयर सीरियल.एच) जो उपयोगकर्ताओं को GPIO पिन को सीरियल Tx और Rx पिन के रूप में उपयोग करने की अनुमति देता है।

  • UART Arduino के साथ काम करना आसान है
  • UART को किसी क्लॉक सिग्नल की आवश्यकता नहीं है
  • डेटा हानि को रोकने के लिए संचार उपकरणों की 10% सीमा के भीतर बॉड दर निर्धारित की जानी चाहिए
  • मास्टर स्लेव कॉन्फ़िगरेशन में Arduino के साथ कई डिवाइस UART . के साथ संभव नहीं हैं
  • UART आधा द्वैध है, जिसका अर्थ है कि डिवाइस एक ही समय में डेटा संचारित और प्राप्त नहीं कर सकते हैं
  • एक समय में केवल दो डिवाइस UART प्रोटोकॉल के साथ संचार कर सकते हैं

सीरियल पेरिफेरल इंटरफेस (एसपीआई)

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

Arduino पर SPI डिजिटल पिन पूर्वनिर्धारित हैं। Arduino Uno SPI पिन कॉन्फ़िगरेशन के लिए निम्नानुसार है:

एसपीआई लाइन जीपीआईओ ICSP हैडर पिन
एससीके 13 3
मीसो 12 1
धुआँ ग्यारह 4
एसएस 10 -
  • MOSI का मतलब है मास्टर आउट स्लेव इन MOSI मास्टर टू स्लेव के लिए डेटा ट्रांसमिशन लाइन है।
  • एससीके एक है घड़ी की रेखा जो संचरण की गति को परिभाषित करता है और अंत विशेषताओं को शुरू करता है।
  • एसएस का मतलब है गुलाम चयन ; एसएस लाइन मास्टर को कई स्लेव कॉन्फ़िगरेशन में काम करते समय एक विशेष स्लेव डिवाइस का चयन करने की अनुमति देती है।
  • MISO का मतलब है गुलाम बाहर में मास्टर ; MISO डेटा के लिए मास्टर ट्रांसमिशन लाइन का गुलाम है।

SPI प्रोटोकॉल का एक मुख्य आकर्षण मास्टर-स्लेव कॉन्फ़िगरेशन है। SPI का उपयोग करते हुए एक डिवाइस को कई स्लेव डिवाइसेस को नियंत्रित करने के लिए मास्टर के रूप में परिभाषित किया जा सकता है। मास्टर एसपीआई प्रोटोकॉल के माध्यम से दास उपकरणों के पूर्ण नियंत्रण में है।

SPI सिंक्रोनस प्रोटोकॉल है, जिसका अर्थ है कि संचार मास्टर और स्लेव के बीच सामान्य घड़ी संकेत के साथ जुड़ा हुआ है। SPI एक ही ट्रांसमिट और रिसीव लाइन पर कई उपकरणों को स्लेव के रूप में नियंत्रित कर सकता है। सभी दास सामान्य using का उपयोग करके मास्टर से जुड़े हुए हैं मीसो के साथ लाइन प्राप्त करें धुआँ एक सामान्य संचारण रेखा। एससीके मास्टर और स्लेव उपकरणों के बीच सामान्य घड़ी रेखा भी है। स्लेव डिवाइस में केवल अंतर यह है कि प्रत्येक स्लेव डिवाइस को अलग से नियंत्रित किया जाता है एसएस लाइन का चयन करें। इसका मतलब है कि प्रत्येक दास को Arduino बोर्ड से एक अतिरिक्त GPIO पिन की आवश्यकता होती है जो उस विशेष स्लेव डिवाइस के लिए चुनिंदा लाइन के रूप में कार्य करेगा।

SPI प्रोटोकॉल के कुछ मुख्य आकर्षण नीचे सूचीबद्ध हैं:

  • I2C और UART की तुलना में SPI सबसे तेज़ प्रोटोकॉल है
  • यूएआरटी की तरह कोई स्टार्ट और स्टॉप बिट्स की आवश्यकता नहीं है जिसका अर्थ है कि निरंतर डेटा ट्रांसमिशन संभव है
  • सरल मास्टर स्लेव कॉन्फ़िगरेशन के कारण दास को आसानी से संबोधित किया जा सकता है
  • प्रत्येक दास के लिए Arduino बोर्ड पर एक अतिरिक्त पिन का कब्जा है। व्यावहारिक रूप से 1 मास्टर 4 स्लेव उपकरणों को नियंत्रित कर सकता है
  • डेटा पावती गायब है जैसे UART . में उपयोग किया जाता है
  • एकाधिक मास्टर कॉन्फ़िगरेशन संभव नहीं है

I2C संचार प्रोटोकॉल

इंटर इंटीग्रेटेड सर्किट (I2C) Arduino बोर्डों द्वारा उपयोग किया जाने वाला एक अन्य संचार प्रोटोकॉल है। I2C Arduino और अन्य उपकरणों के साथ लागू करने के लिए सबसे कठिन और जटिल प्रोटोकॉल है। इसकी जटिलता के बावजूद यह कई सुविधाएँ प्रदान करता है जो अन्य प्रोटोकॉल में गायब हैं जैसे कि कई मास्टर और कई स्लेव कॉन्फ़िगरेशन। I2C 128 उपकरणों को मुख्य Arduino बोर्ड से जोड़ने की अनुमति देता है। यह केवल इसलिए संभव है क्योंकि I2C सभी स्लेव उपकरणों के बीच एकल तार साझा करता है। Arduino में I2C एक एड्रेस सिस्टम का उपयोग करता है, जिसका अर्थ है कि स्लेव डिवाइस को डेटा भेजने से पहले Arduino को पहले अद्वितीय पता भेजकर स्लेव डिवाइस का चयन करना होगा। I2C केवल दो तारों का उपयोग करता है जो समग्र Arduino पिन गिनती को कम करता है, लेकिन इसका बुरा पक्ष I2C SPI प्रोटोकॉल की तुलना में धीमा है।

Arduino एनालॉग पिन I2C पिन
ए4 एसडीए
ए5 एससीएल

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

I2C प्रोटोकॉल के कुछ मुख्य आकर्षण हैं:

  • आवश्यक पिनों की संख्या बहुत कम है
  • एकाधिक मास्टर स्लेव डिवाइस कनेक्ट किए जा सकते हैं
  • केवल 2 तारों का उपयोग करता है
  • प्रतिरोधों को खींचने के कारण एसपीआई की तुलना में गति धीमी है
  • प्रतिरोधों को सर्किट में अधिक स्थान की आवश्यकता होती है
  • उपकरणों की संख्या में वृद्धि के साथ परियोजना की जटिलता में वृद्धि

UART बनाम I2C बनाम SPI के बीच तुलना

शिष्टाचार यूएआरटी एसपीआई 2सी
रफ़्तार धीमी सबसे तेजी से UART . से तेज
उपकरणों की संख्या 2 तक 4 डिवाइस 128 उपकरणों तक
तारों की आवश्यकता 2 (टीएक्स, आरएक्स) 4 (एससीके, धूम्रपान, आंखें, एसएस) 2 (एसडीए, एससीएल)
डुप्लेक्स मोड पूर्ण द्वैध मोड पूर्ण द्वैध मोड अर्ध द्वैध
संभव मास्टर-दासों की संख्या सिंगल मास्टर-सिंगल स्लेव सिंगल मास्टर-मल्टीपल स्लेव एकाधिक स्वामी-एकाधिक दास
जटिलता सरल कई उपकरणों को आसानी से नियंत्रित कर सकते हैं उपकरणों में वृद्धि के साथ जटिल
पावती बिट नहीं नहीं हाँ

निष्कर्ष

इस लेख में, हमने Arduino में उपयोग किए गए सभी तीन प्रोटोकॉल UART, SPI और I2C की व्यापक तुलना को कवर किया है। सभी प्रोटोकॉल को जानना महत्वपूर्ण है क्योंकि यह कई उपकरणों को एकीकृत करने के अंतहीन अवसर देता है। सभी संचार बाह्य उपकरणों को समझने से समय की बचत होगी और सही प्रोटोकॉल के अनुसार परियोजनाओं को अनुकूलित करने में मदद मिलेगी।