Arduino کمیونیکیشن پروٹوکول

Arduino Kmywnykyshn Prw Wkwl



کمیونیکیشن پروٹوکول قواعد کا مجموعہ ہے جو آلات کو ڈیٹا کو مواصلت اور تبادلہ کرنے کی اجازت دیتا ہے۔ یہ پروٹوکول Arduino مواصلات میں بہت اہم ہیں کیونکہ Arduino مسلسل ڈیٹا بھیجتا اور وصول کرتا ہے۔ ان پروٹوکولز کے استعمال سے Arduino کو غلطی کا پتہ لگانے اور ممکنہ غلطی کی بازیابی کے طریقوں کا احاطہ کرنے میں مدد ملتی ہے۔ یہ پروٹوکول اینالاگ اور ڈیجیٹل ڈیوائسز کو ایک ساتھ لاتے ہیں اور متعدد پروجیکٹس کو ڈیزائن کرنا ممکن بناتے ہیں۔

Arduino کمیونیکیشن پروٹوکول

کمیونیکیشن پروٹوکول استعمال کرکے، ہم Arduino میں کسی بھی سینسر کا ڈیٹا بھیج اور وصول کرسکتے ہیں۔

کچھ سادہ سینسرز جیسے Infrared (IR) Arduino کے ساتھ براہ راست بات چیت کر سکتے ہیں لیکن کچھ پیچیدہ سینسر جیسے Wi-Fi ماڈیول، SD کارڈ ماڈیول اور Gyroscope بغیر کسی کمیونیکیشن پروٹوکول کے Arduino کے ساتھ براہ راست بات چیت نہیں کر سکتے۔ لہذا، یہی وجہ ہے کہ یہ پروٹوکول Arduino مواصلات کا ایک لازمی حصہ ہیں۔







Arduino اس کے ساتھ متعدد پیری فیرلز منسلک ہیں۔ ان میں سے تین مواصلاتی آلات ہیں جو Arduino بورڈز میں استعمال ہوتے ہیں۔



Arduino کمیونیکیشن پروٹوکول

مختلف الیکٹرانک آلات جیسے Arduino کے درمیان مواصلات کو ان تین پروٹوکولز میں معیاری بنایا گیا ہے۔ یہ ڈیزائنرز کو بغیر کسی مطابقت کے مسائل کے آسانی سے مختلف آلات کے درمیان بات چیت کرنے کے قابل بناتا ہے۔ ان تینوں پروٹوکول کا کام ایک جیسا ہے کیونکہ وہ مواصلات کے ایک ہی مقصد کو پورا کرتے ہیں، لیکن وہ ایک سرکٹ کے اندر نفاذ میں مختلف ہوتے ہیں۔ ان پروٹوکولز کی مزید تفصیل ذیل میں زیر بحث ہے۔







UART

UART کے نام سے جانا جاتا ہے۔ یونیورسل غیر مطابقت پذیر وصول کنندہ ٹرانسمیٹر۔ UART ایک سیریل کمیونیکیشن پروٹوکول ہے جس کا مطلب ہے کہ ڈیٹا بٹس کو ایک کے بعد ایک ترتیب وار شکل میں منتقل کیا جاتا ہے۔ UART کمیونیکیشن قائم کرنے کے لیے ہمیں دو لائنوں کی ضرورت ہے۔ ایک Arduino بورڈ کا Tx (D1) پن ہے اور دوسرا Arduino بورڈ کا Rx (D0) پن ہے۔ Tx پن ڈیوائسز میں ڈیٹا منتقل کرنے کے لیے ہے اور Rx پن ڈیٹا وصول کرنے کے لیے استعمال کیا جاتا ہے۔ مختلف Arduino بورڈز میں متعدد UART پن ہوتے ہیں۔

Arduino ڈیجیٹل پن UART پن
D1 Tx
D0 Rx

UART پورٹ کا استعمال کرتے ہوئے سیریل کمیونیکیشن قائم کرنے کے لیے ہمیں نیچے دکھائے گئے کنفیگریشن میں دو ڈیوائسز کو جوڑنے کی ضرورت ہے۔



Arduino Uno پر، ایک سیریل پورٹ مواصلات کے لیے مختص ہے جسے عام طور پر USB پورٹ کہا جاتا ہے۔ جیسا کہ نام سے پتہ چلتا ہے کہ یونیورسل سیریل بس، اس لیے یہ ایک سیریل پورٹ ہے۔ USB پورٹ Arduino کا استعمال کرتے ہوئے کمپیوٹر کے ساتھ مواصلات قائم کر سکتے ہیں. USB پورٹ Arduino کے آن بورڈ پن Tx اور Rx سے منسلک ہے۔ ان پنوں کو استعمال کرتے ہوئے، ہم کمپیوٹر کے علاوہ کسی بھی بیرونی ہارڈ ویئر کو USB کے ذریعے جوڑ سکتے ہیں۔ Arduino IDE سافٹ ویئر سیریل لائبریری فراہم کرتا ہے۔ (SoftwareSerial.h) جو صارفین کو GPIO پنوں کو سیریل Tx اور Rx پنوں کے طور پر استعمال کرنے کی اجازت دیتا ہے۔

  • UART Arduino کے ساتھ کام کرنا آسان ہے۔
  • UART کو کسی گھڑی کے سگنل کی ضرورت نہیں ہے۔
  • ڈیٹا کے نقصان کو روکنے کے لیے باڈ ریٹ کو مواصلاتی آلات کی 10% کی حد کے اندر سیٹ کیا جانا چاہیے۔
  • ماسٹر سلیو کنفیگریشن میں Arduino کے ساتھ متعدد آلات UART کے ساتھ ممکن نہیں ہیں۔
  • UART ہاف ڈوپلیکس ہے، جس کا مطلب ہے کہ ڈیوائسز ایک ہی وقت میں ڈیٹا منتقل اور وصول نہیں کر سکتیں۔
  • ایک وقت میں صرف دو ڈیوائسز UART پروٹوکول کے ساتھ بات چیت کر سکتی ہیں۔

سیریل پیریفرل انٹرفیس (SPI)

ایس پی آئی سیریل پیریفرل انٹرفیس کا مخفف ہے جو خاص طور پر مائکرو کنٹرولرز کے ساتھ بات چیت کرنے کے لیے ڈیزائن کیا گیا ہے۔ ایس پی آئی فل ڈوپلیکس موڈ پر کام کرتا ہے جس کا مطلب ہے کہ ایس پی آئی بیک وقت ڈیٹا بھیج اور وصول کر سکتا ہے۔ جب UART اور I2C کے ساتھ موازنہ کیا جائے تو یہ Arduino بورڈز میں سب سے تیز کمیونیکیشن پرفیرل ہے۔ یہ عام طور پر استعمال کیا جاتا ہے جہاں اعلی ڈیٹا کی شرح کی ضرورت ہوتی ہے جیسے LCD ڈسپلے اور مائیکرو SD کارڈ ایپلی کیشنز میں۔

Arduino پر SPI ڈیجیٹل پن پہلے سے طے شدہ ہیں۔ Arduino Uno SPI پن کنفیگریشن کے لیے مندرجہ ذیل ہے:

ایس پی آئی لائن جی پی آئی او ICSP ہیڈر پن
ایس سی کے 13 3
ایم آئی ایس او 12 1
دھواں گیارہ 4
ایس ایس 10 -
  • MOSI کا مطلب ہے۔ ماسٹر آؤٹ غلام اندر ، MOSI ماسٹر ٹو سلیو کے لیے ڈیٹا ٹرانسمیشن لائن ہے۔
  • SCK ہے a گھڑی کی لکیر جو ٹرانسمیشن کی رفتار اور آغاز کے اختتامی خصوصیات کی وضاحت کرتا ہے۔
  • ایس ایس کا مطلب ہے۔ غلام منتخب کریں۔ ; SS لائن ماسٹر کو ایک سے زیادہ Slave کنفیگریشن میں کام کرتے وقت ایک مخصوص Slave ڈیوائس کو منتخب کرنے کی اجازت دیتی ہے۔
  • MISO کا مطلب ہے۔ ماسٹر ان سلیو آؤٹ ; MISO ڈیٹا کے لیے غلام سے ماسٹر ٹرانسمیشن لائن ہے۔

ایس پی آئی پروٹوکول کی اہم خصوصیات میں سے ایک ماسٹر سلیو کنفیگریشن ہے۔ SPI ایک ڈیوائس کا استعمال کرتے ہوئے کئی غلام آلات کو کنٹرول کرنے کے لیے ماسٹر کے طور پر بیان کیا جا سکتا ہے۔ ماسٹر SPI پروٹوکول کے ذریعے غلام آلات کے مکمل کنٹرول میں ہے۔

ایس پی آئی ہم وقت ساز پروٹوکول ہے، جس کا مطلب ہے کہ مواصلات ماسٹر اور غلام کے درمیان مشترکہ گھڑی کے سگنل سے منسلک ہے۔ SPI ایک ہی ٹرانسمٹ اور وصول لائن پر غلام کے طور پر متعدد آلات کو کنٹرول کر سکتا ہے۔ تمام غلام کامن کا استعمال کرتے ہوئے ماسٹر سے جڑے ہوئے ہیں۔ ایم آئی ایس او کے ساتھ لائن وصول کریں دھواں ایک عام ٹرانسمٹ لائن۔ ایس سی کے ماسٹر اور سلیو ڈیوائسز کے درمیان کلاک لائن بھی عام ہے۔ غلام ڈیوائسز میں فرق صرف یہ ہے کہ ہر غلام ڈیوائس کو الگ الگ کنٹرول کیا جاتا ہے۔ ایس ایس لائن منتخب کریں. اس کا مطلب ہے کہ ہر غلام کو Arduino بورڈ سے ایک اضافی GPIO پن کی ضرورت ہوتی ہے جو اس مخصوص Slave ڈیوائس کے لیے سلیکٹ لائن کے طور پر کام کرے گا۔

SPI پروٹوکول کی کچھ اہم جھلکیاں ذیل میں درج ہیں:

  • SPI I2C اور UART سے تیز ترین پروٹوکول ہے۔
  • UART کی طرح اسٹارٹ اور سٹاپ بٹس کی ضرورت نہیں ہے جس کا مطلب ہے کہ ڈیٹا کی مسلسل ترسیل ممکن ہے۔
  • سادہ ماسٹر غلام ترتیب کی وجہ سے غلام کو آسانی سے ایڈریس کیا جا سکتا ہے۔
  • ہر غلام کے لیے Arduino بورڈ پر ایک اضافی پن لگا ہوا ہے۔ عملی طور پر 1 ماسٹر 4 غلام آلات کو کنٹرول کر سکتا ہے۔
  • ڈیٹا کا اعتراف غائب ہے جیسا کہ UART میں استعمال ہوتا ہے۔
  • ایک سے زیادہ ماسٹر کنفیگریشن ممکن نہیں ہے۔

I2C کمیونیکیشن پروٹوکول

انٹر انٹیگریٹڈ سرکٹ (I2C) ایک اور مواصلاتی پروٹوکول ہے جسے Arduino بورڈز استعمال کرتے ہیں۔ I2C Arduino اور دیگر آلات کے ساتھ لاگو کرنے کے لیے سب سے مشکل اور پیچیدہ پروٹوکول ہے۔ اس کی پیچیدگی کے باوجود یہ متعدد خصوصیات پیش کرتا ہے جو دوسرے پروٹوکول میں غائب ہیں جیسے ایک سے زیادہ ماسٹر اور ایک سے زیادہ غلام کنفیگریشنز۔ I2C 128 آلات کو مرکزی Arduino بورڈ سے منسلک کرنے کی اجازت دیتا ہے۔ یہ صرف اس لیے ممکن ہے کیونکہ I2C تمام Slave آلات کے درمیان ایک تار کا اشتراک کرتا ہے۔ Arduino میں I2C ایک ایڈریس سسٹم استعمال کرتا ہے، یعنی Slave ڈیوائس پر ڈیٹا بھیجنے سے پہلے Arduino کو منفرد ایڈریس بھیج کر Slave ڈیوائس کا انتخاب کرنا چاہیے۔ I2C صرف دو تاروں کا استعمال کرتا ہے جو مجموعی طور پر Arduino پن کی تعداد کو کم کرتا ہے، لیکن اس کا برا پہلو یہ ہے کہ I2C SPI پروٹوکول سے سست ہے۔

Arduino ینالاگ پن I2C پن
A4 ایس ڈی اے
A5 ایس سی ایل

ہارڈ ویئر کی سطح پر I2C صرف دو تاروں تک محدود ہے، ایک ڈیٹا لائن کے لیے جس کے نام سے جانا جاتا ہے۔ SDA (سیریل ڈیٹا) اور دوسرا کلاک لائن کے لیے SCL (سیریل کلاک)۔ بیکار حالت میں SDA اور SCL دونوں کو اونچا کھینچ لیا جاتا ہے۔ جب ڈیٹا کو منتقل کرنے کی ضرورت ہوتی ہے تو یہ لائنیں MOSFET سرکٹری کا استعمال کرتے ہوئے نیچے کھینچی جاتی ہیں۔ پراجیکٹس میں I2C کا استعمال کرتے ہوئے پل اپ ریزسٹرس کا استعمال کرنا لازمی ہے جس کی قدر عام طور پر 4.7Kohm ہے۔ یہ پل اپ ریزسٹر اس بات کو یقینی بناتے ہیں کہ SDA اور SCL دونوں لائنیں اپنے بیکار آغاز میں اونچی رہیں۔

I2C پروٹوکول کی کچھ اہم جھلکیاں یہ ہیں:

  • مطلوبہ پنوں کی تعداد بہت کم ہے۔
  • ایک سے زیادہ ماسٹر غلام آلات کو منسلک کیا جا سکتا ہے
  • صرف 2 تاروں کا استعمال کرتا ہے۔
  • پل اپ ریزسٹرس کی وجہ سے SPI کے مقابلے میں رفتار کم ہے۔
  • مزاحموں کو سرکٹ میں زیادہ جگہ کی ضرورت ہوتی ہے۔
  • آلات کی تعداد میں اضافے کے ساتھ پروجیکٹ میں اضافے کی پیچیدگی

UART بمقابلہ I2C بمقابلہ SPI کے درمیان موازنہ

پروٹوکول UART ایس پی آئی 2C
رفتار سب سے سست تیز ترین UART سے تیز
آلات کی تعداد 2 تک 4 ڈیوائسز 128 آلات تک
تاروں کی ضرورت ہے۔ 2(Tx,Rx) 4(SCK, SMOKE,EYES,SS) 2(SDA,SCL)
ڈوپلیکس موڈ مکمل ڈوپلیکس موڈ مکمل ڈوپلیکس موڈ ہاف ڈوپلیکس
ماسٹر غلاموں کی تعداد ممکن ہے۔ سنگل ماسٹر-سنگل غلام سنگل ماسٹر ایک سے زیادہ غلام ایک سے زیادہ ماسٹرز - ایک سے زیادہ غلام
پیچیدگی سادہ آسانی سے متعدد آلات کو کنٹرول کر سکتے ہیں۔ آلات میں اضافے کے ساتھ پیچیدہ
اعتراف سا nope کیا nope کیا جی ہاں

نتیجہ

اس مضمون میں، ہم نے Arduino میں استعمال ہونے والے تینوں پروٹوکولز UART، SPI اور I2C کا ایک جامع موازنہ کیا ہے۔ تمام پروٹوکولز کو جاننا ضروری ہے کیونکہ یہ متعدد آلات کو مربوط کرنے کے لامتناہی مواقع فراہم کرتا ہے۔ تمام مواصلاتی آلات کو سمجھنے سے وقت کی بچت ہوگی اور صحیح پروٹوکول کے مطابق منصوبوں کو بہتر بنانے میں مدد ملے گی۔