- I2C مواصلات پروٹوکول کیا ہے؟
- I2C مواصلت کیسے کام کرتی ہے؟
- I2C مواصلات کہاں استعمال کریں؟
- ارڈینو میں I2C
- ضروری اجزاء
- سرکٹ ڈایاگرام
- ورکنگ وضاحت
- ارڈینو میں آئی 2 سی پروگرامنگ
- ماسٹر اردوینو پروگرامنگ وضاحت
- غلام اردوینو پروگرامنگ وضاحت
ہمارے پچھلے سبق میں ارڈینو میں ایس پی آئی مواصلات کے بارے میں سیکھا۔ آج ہم ایک اور سیریل مواصلات پروٹوکول کے بارے میں سیکھیں گے: I2C (انٹر انٹیگریٹڈ سرکٹس)۔ I2C کا ایس پی آئی سے موازنہ کرتے ہوئے ، I2C میں صرف دو تاریں ہیں جبکہ ایس پی آئی چار استعمال کرتا ہے اور I2C میں ایک سے زیادہ ماسٹر اور غلام ہوسکتے ہیں ، جبکہ ایس پی آئی میں صرف ایک ماسٹر اور ایک سے زیادہ غلام ہوسکتے ہیں۔ لہذا ایک پروجیکٹ میں ایک سے زیادہ مائکرو قابو پانے والے موجود ہیں جنہیں ماسٹر بننے کی ضرورت ہے پھر I2C استعمال کیا جاتا ہے۔ I2C مواصلات عام طور پر جیروسکوپ ، ایکسلرومیٹر ، بیرومیٹرک پریشر سینسر ، ایل ای ڈی ڈسپلے وغیرہ کے ساتھ بات چیت کے لئے استعمال کیا جاتا ہے۔
اس آرڈینو I2C ٹیوٹوریل میں ہم دو آرڈینو بورڈ کے مابین I2C مواصلت کا استعمال کریں گے اور ایک دوسرے کو (0 سے 127) قدریں پوٹینومیٹر استعمال کرکے بھیجیں گے۔ اقدار کو ہر Ardino سے منسلک 16x2 LCD پر دکھایا جائے گا۔ یہاں ایک ارڈینو ماسٹر کی حیثیت سے کام کرے گی اور دوسرا غلام کی حیثیت سے کام کرے گا۔ تو آئی C سی مواصلات کے بارے میں تعارف کے ساتھ شروع کرتے ہیں۔
I2C مواصلات پروٹوکول کیا ہے؟
IIC اصطلاح کا مطلب ہے " انٹر انٹیگریٹڈ سرکٹس "۔ عام طور پر اس کو I2C یا I مربع C یا کچھ جگہوں پر 2-تار انٹرفیس پروٹوکول (TWI) بھی کہا جاتا ہے لیکن اس کا مطلب ایک ہی ہے۔ I2C ایک ہم وقت ساز مواصلات کا پروٹوکول ہے جس کا معنی ہے ، وہ دونوں ڈیوائس جو معلومات کو شیئر کررہی ہیں وہ عام گھڑی کا اشارہ شیئر کرنا چاہئے۔ اس میں معلومات بانٹنے کے لئے صرف دو تاروں ہیں جن میں سے ایک کو لنڈ سگنل کے لئے استعمال کیا جاتا ہے اور دوسرا ڈیٹا بھیجنے اور وصول کرنے کے لئے استعمال ہوتا ہے۔
I2C مواصلت کیسے کام کرتی ہے؟
I2C مواصلت سب سے پہلے فلپس نے متعارف کروائی تھی۔ جیسا کہ پہلے کہا گیا ہے کہ اس میں دو تاروں ہیں ، یہ دو تاروں دو آلات سے منسلک ہوں گی۔ یہاں ایک آلہ کو ماسٹر کہا جاتا ہے اور دوسرے آلہ کو غلام کہا جاتا ہے ۔ مواصلت دو ماسٹر اور غلام کے درمیان ہمیشہ ہونی چاہئے اور ہوگی ۔ I2C مواصلات کا فائدہ یہ ہے کہ ایک سے زیادہ غلام ایک ماسٹر سے منسلک ہوسکتے ہیں۔
مکمل مواصلت ان دونوں تاروں یعنی سیریل کلاک (ایس سی ایل) اور سیریل ڈیٹا (ایس ڈی اے) کے ذریعے ہوتی ہے۔
سیریل گھڑی (ایس سی ایل): غلام کے ساتھ آقا کے ذریعہ تیار کردہ گھڑی سگنل کا اشتراک کرتا ہے
سیریل ڈیٹا (ایس ڈی اے): ماسٹر اور غلام کے درمیان اور اس سے ڈیٹا بھیجتا ہے۔
کسی بھی وقت صرف ماسٹر ہی مواصلات کا آغاز کر سکے گا۔ چونکہ بس میں ایک سے زیادہ غلام ہیں ، لہذا مالک کو ہر ایک غلام سے الگ ایڈریس استعمال کرتے ہوئے رجوع کرنا پڑتا ہے۔ جب صرف اس غلام کو مخاطب کیا جاتا ہے جب اس مخصوص پتے کے ساتھ ہی جواب میں جواب دیا جائے گا جبکہ دوسرے کام چھوڑ دیتے ہیں۔ اس طرح ہم ایک ہی بس کو متعدد آلات کے ساتھ بات چیت کرنے کے ل. استعمال کرسکتے ہیں۔
I2C کی وولٹیج کی سطح پیش وضاحتی نہیں ہیں. I2C مواصلت لچکدار ہے ، اس کا مطلب یہ ہے کہ وہ آلہ جس میں 5v وولٹ حاصل ہوتا ہے ، I2C کے لئے 5v استعمال کرسکتا ہے اور 3.3v آلات I2C مواصلات کے لئے 3v استعمال کرسکتے ہیں۔ لیکن اگر کیا دو آلات جو مختلف وولٹیج پر چل رہے ہیں ، I2C کا استعمال کرتے ہوئے بات چیت کرنے کی ضرورت ہے تو؟ A 5V I2C بس 3.3V آلہ کے ساتھ منسلک نہیں کیا جا سکتا. اس معاملے میں وولٹیج شفٹرز دو I2C بسوں کے درمیان وولٹیج کی سطح کو میچ کرنے کے لئے استعمال کیا جاتا ہے۔
کچھ شرائط ہیں جن میں لین دین ہوتا ہے۔ ٹرانسمیشن کا آغاز ایس ڈی اے کے گرتے ہوئے کنارے سے ہوتا ہے ، جس کو نیچے آریھ میں 'START' حالت سے تعبیر کیا جاتا ہے جہاں ایس ڈی اے کو کم کرتے ہوئے ماسٹر ایس سی ایل کو چھوڑ دیتا ہے۔
جیسا کہ مندرجہ بالا آریگرام میں دکھایا گیا ہے ،
ایس ڈی اے کا گرتا ہوا آغاز شرط کے لئے ہارڈ ویئر ٹرگر ہے۔ اس کے بعد ایک ہی بس میں موجود سارے آلات سننے کے موڈ میں چلے جاتے ہیں۔
اسی طرح ، ایس ڈی اے کے بڑھتے ہوئے کنارے ٹرانسمیشن کو روکتا ہے جو اوپر آریگرام میں 'اسٹاپ' حالت کے طور پر دکھایا جاتا ہے ، جہاں ماسٹر ایس سی ایل کو اعلی چھوڑ دیتا ہے اور ایس ڈی اے کو ہائیٹ جانے کے لئے بھی جاری کرتا ہے۔ تو ایس ڈی اے کے بڑھتے ہوئے کنارے ٹرانسمیشن کو روکتا ہے۔
آر / ڈبلیو بٹ مندرجہ ذیل بائٹس کی ترسیل کی سمت کی نشاندہی کرتا ہے ، اگر اس کا مطلب ہائی ہے تو غلام منتقل ہوگا اور اگر اس کا مطلب کم ہے تو آقا منتقل کرے گا۔
ہر تھوڑا سا ہر گھڑی کے چکر پر منتقل ہوتا ہے ، لہذا اس میں بائٹ منتقل کرنے میں 8 گھڑی کے چکر لگتے ہیں۔ ہر بائٹ کو یا تو بھیجا گیا یا موصول ہونے کے بعد ، ACK / NACK (تسلیم شدہ / تسلیم شدہ نہیں) کے لئے نویں گھڑی کا انعقاد ہوتا ہے۔ یہ ACK بٹ صورتحال یا انحصار کے مطابق غلام یا ماسٹر کے ذریعہ تیار کیا گیا ہے۔ ACK بٹ کے لئے ، ایس ڈی اے 9 ویں گھڑی کے چکر پر ماسٹر یا غلام کے ذریعہ کم ہوجاتا ہے ۔ تو یہ کم ہے اسے ACK سمجھا جاتا ہے ورنہ NACK۔
I2C مواصلات کہاں استعمال کریں؟
I2C مواصلت صرف مختصر فاصلے پر ہونے والے مواصلات کے لئے استعمال ہوتا ہے ۔ یہ یقینی طور پر ایک حد تک قابل اعتماد ہے کیونکہ اس کو اسمارٹائز بنانے کیلئے گھڑی کی ایک مطابقت پذیری موجود ہے۔ یہ پروٹوکول بنیادی طور پر سینسر یا دیگر آلات سے بات چیت کرنے کے لئے استعمال ہوتا ہے جس میں کسی ماسٹر کو معلومات بھیجنا پڑتا ہے۔ یہ بہت آسان ہے جب ایک مائکروقانت کنندہ صرف کم از کم تاروں کا استعمال کرتے ہوئے بہت سے دوسرے غلام ماڈیول کے ساتھ بات چیت کرنا پڑتا ہے۔ اگر آپ طویل فاصلہ طے کرنے والے مواصلات کی تلاش کر رہے ہیں تو آپ کو RS232 کی کوشش کرنی چاہئے اور اگر آپ زیادہ قابل اعتماد مواصلات کی تلاش کر رہے ہیں تو آپ کو ایس پی آئی پروٹوکول کو آزمانا چاہئے۔
ارڈینو میں I2C
ذیل کی تصویر میں ارڈینو یو این او میں موجود I2C پنوں کو دکھایا گیا ہے۔
I2C لائن | ارڈینو میں پن |
ایس ڈی اے | A4 |
ایس سی ایل | A5 |
اس سے پہلے کہ ہم دو آرڈینو کا استعمال کرتے ہوئے پروگرامنگ I2C میں شروعات کریں۔ ہمیں ارڈینو آئی ڈی ای میں استعمال ہونے والی وائر لائبریری کے بارے میں جاننے کی ضرورت ہے ۔
لائبریری
1. وائر.بگین (پتہ):
استعمال کریں: یہ لائبریری I2C آلات کے ساتھ مواصلت کرنے کے لئے استعمال کی جاتی ہے۔ یہ وائر لائبریری کا آغاز کریں اور I2C بس میں بطور ماسٹر یا غلام بنیں۔
پتہ: 7 بٹ غلام پتہ اختیاری ہے اور اگر پتہ نہیں بتایا گیا ہے ، تو یہ اس طرح کے ماسٹر کی حیثیت سے بس میں شامل ہوتا ہے۔
2. وائر.ریڈ ():
استعمال کریں: یہ فنکشن ایک بائٹ پڑھنے کے لئے استعمال کیا جاتا ہے جو ماسٹر یا غلام ڈیوائس سے موصول ہوا تھا ، یا تو وہ غلام ڈیوائس سے ماسٹر ڈیوائس میں منتقلی کی درخواست کے بعد ( یا ) کو بھیج دیا گیا تھا یا مالک سے غلام میں منتقل کیا گیا تھا۔
3. وائر ڈاٹ رائٹ ():
استعمال کریں: اس فنکشن کو غلام یا ماسٹر ڈیوائس پر ڈیٹا لکھنے کے لئے استعمال کیا جاتا ہے۔
غلام سے ماسٹر: غلام کسی ماسٹر کو ڈیٹا لکھتا ہے جب Wire.RequestFrom () ماسٹر میں استعمال ہوتا ہے۔
غلام سے ماسٹر: غلام سے آلہ تک وائر کے لئے ٹرانسمیشن کے لئے Wire.write () Wire.beginTransmission () اور Wire.endTransmission () کو درمیان میں کال استعمال کیا جاتا ہے ۔
وائر ڈاٹ رائٹ () کو اس طرح لکھا جاسکتا ہے:
- وائر.روائٹ (قیمت)
قدر: ایک بائٹ کے طور پر بھیجنے کے لئے ایک قیمت.
- وائر ڈاٹ رائٹ (سٹرنگ):
سٹرنگ: بائٹس کی سیریز کے طور پر بھیجنے کیلئے ایک تار۔
- وائر ڈاٹ رائٹ (ڈیٹا ، لمبائی):
ڈیٹا: بائٹس کے بطور بھیجنے کے ل data ڈیٹا کی ایک سرنی
لمبائی: منتقل کرنے کے لئے بائٹس کی تعداد.
4. وائر.بیگین ٹرانسمیشن (پتہ):
استعمال کریں: یہ فنکشن I2C ڈیوائس میں دیئے گئے غلام ایڈریس کے ساتھ ٹرانسمیشن شروع کرنے کے لئے استعمال ہوتا ہے۔ اس کے بعد، کے ساتھ منتقل کرنے کے لئے بائٹس کی تعمیر قطار لکھنا () تقریب اور پھر فون کر کے ان کو منتقل endTransmission () تقریب. ڈیوائس کا 7 بٹ پتہ منتقل ہوا ہے۔
5. Wire.endTransmission ()؛
استعمال کریں: اس فنکشن کا استعمال اس غلام ڈیوائس میں منتقل ہونے کے خاتمے کے لئے کیا جاتا ہے جو برینٹ ٹرانسمیشن () نے شروع کیا تھا اور بائٹس کو منتقل کرتا ہے جو وائر ڈاٹ رائٹ () کے ذریعہ قطار میں لگے تھے ۔
6. Wire.onRequest ()؛
استعمال کریں: جب اس غلام نے ڈیوائس سے Wire.requestFrom () کا استعمال کرتے ہوئے ڈیٹا کی درخواست کی ہے تو اس فنکشن کو کہا جاتا ہے۔ یہاں ہم ماسٹر کو ڈیٹا بھیجنے کے لئے وائر ڈاٹ رائٹ () فنکشن شامل کرسکتے ہیں ۔
7. Wire.on وصول ()؛استعمال کریں: جب غلام آلہ کسی ماسٹر سے ڈیٹا وصول کرتا ہے تو اس فنکشن کا مطالبہ ہوتا ہے۔ یہاں ہم وائر ڈریڈ () شامل کرسکتے ہیں ۔ ماسٹر سے بھیجے گئے ڈیٹا کو پڑھنے کے لئے فنکشن۔
8. Wire.requestFrom (پتہ ، مقدار)؛
استعمال کریں: یہ فنکشن غلام کے آلے سے بائٹس کی درخواست کرنے کے لئے ماسٹر میں استعمال ہوتا ہے۔ وائر ڈریڈ () فنکشن کا استعمال غلام آلے سے بھیجے گئے ڈیٹا کو پڑھنے کے لئے کیا جاتا ہے۔
پتہ: بائٹس کی درخواست کرنے کیلئے آلہ کا 7 بٹ پتہ
مقدار: درخواست کرنے کے لئے بائٹس کی تعداد
ضروری اجزاء
- ارڈینو اونو (2 نمبر)
- 16X2 LCD ڈسپلے ماڈیول
- 10K پوٹینومیٹر (4 نمبر)
- بریڈ بورڈ
- مربوط تاروں
سرکٹ ڈایاگرام
ورکنگ وضاحت
یہاں آرڈینو میں I2C مواصلت کا مظاہرہ کرنے کے ل we ، ہم ایک دوسرے سے منسلک دو 16X2 LCD ڈسپلے کے ساتھ دو آرڈوینو یو این او کا استعمال کرتے ہیں اور ماڈیول سے غلام اور غلام غلام بھیجنے والے اقدار (0 سے 127) کا تعی toن کرنے کے لئے دونوں ارڈینو میں دو پوٹینومیٹر استعمال کرتے ہیں پوٹینومیٹر
ہم پوٹینومیٹر کا استعمال کرکے (0 سے 5V) تک ارڈوینو پن A0 پر ان پٹ ینالاگ قدر لیتے ہیں اور انالاگ میں ڈیجیٹل ویلیو (0 سے 1023) میں تبدیل کرتے ہیں۔ پھر یہ ADC قدریں مزید (0 سے 127) میں تبدیل ہوجاتی ہیں کیونکہ ہم I2C مواصلت کے ذریعہ صرف 7 بٹ ڈیٹا بھیج سکتے ہیں۔ I2C مواصلات دونوں ارڈینو کے پن A4 اور A5 میں دو تاروں سے ہوتا ہے۔
غلام آردوینو کے LCD میں قدروں کو ماسٹر سائیڈ پر پی او ٹی میں مختلف اور اس کے برعکس تبدیل کیا جائے گا۔
ارڈینو میں آئی 2 سی پروگرامنگ
اس ٹیوٹوریل میں دو پروگرام ہیں ایک ماسٹر ارڈینو کے لئے اور دوسرا غلام ارڈینو کے لئے۔ اس پروجیکٹ کے اختتام پر ایک مظاہرے کی ویڈیو کے ساتھ دونوں اطراف کے مکمل پروگرام دیئے گئے ہیں ۔
ماسٹر اردوینو پروگرامنگ وضاحت
1. سب سے پہلے ہمیں I2C مواصلات کے افعال استعمال کرنے کیلئے وائر لائبریری اور LCD افعال استعمال کرنے کیلئے LCD لائبریری شامل کرنے کی ضرورت ہے۔ 16x2 LCD کیلئے LCD پنوں کی بھی وضاحت کریں۔ اردوینو کے ساتھ LCD میں مداخلت کرنے کے بارے میں مزید معلومات حاصل کریں۔
# شامل کریں
2. باطل سیٹ اپ میں ()
- ہم باؤل ریٹ 9600 پر سیریل مواصلات شروع کرتے ہیں۔
سیریل.بیگین (9600)؛
- اگلا ہم پن پر I2C مواصلات شروع کرتے ہیں (A4 ، A5)
تار.بیگین ()؛ // پن پر A2C مواصلات کا آغاز (A4 ، A5)
- اگلا ہم 16X2 وضع میں LCD ڈسپلے ماڈیول شروع کریں اور استقبالیہ پیغام ڈسپلے کریں اور پانچ سیکنڈ کے بعد صاف کریں۔
lcd.begin (16،2)؛ // ایل سی ڈی ڈسپلے کو شروع کریں lcd.setCursor (0،0)؛ // ڈسپلے کی پہلی لائن پر کرسر سیٹ کریں lcd.print ("سرکٹ ڈائجسٹ")؛ // LCD lcd.setCursor (0،1) میں پرنٹس سرکیوٹ ڈائیجسٹ ۔ // ڈسپلے lcd.print کی دوسری لائن پر کرسر سیٹ کرتا ہے ("I2C 2 ARDUINO")؛ // LCD تاخیر میں پرنٹس I2C آرڈینو (5000)؛ // 5 سیکنڈ کیلئے تاخیر lcd.c Clear ()؛ // LCD ڈسپلے صاف کرتا ہے
3. باطل لوپ میں ()
- پہلے ہمیں غلام سے ڈیٹا حاصل کرنے کی ضرورت ہے لہذا ہم غلام ایڈریس 8 کے ساتھ درخواستفرم () سے استعمال کریں اور ہم ایک بائٹ کی درخواست کریں
Wire.requestFrom (8،1)؛
موصولہ قیمت Wire.read () کا استعمال کرتے ہوئے پڑھی جاتی ہے
بائٹ ماسٹررسیپ = وائر.ریڈ ()؛
- اس کے بعد ہمیں پن A0 میں منسلک ماسٹر اردوینو POT سے مطابق قیمت پڑھنے کی ضرورت ہے
int پوٹالیو = اینالاگ ریڈ (A0)؛
ہم اس قدر کو ایک بائٹ کے حساب سے 0 سے 127 میں تبدیل کرتے ہیں۔
بائٹ ماسٹرسینڈ = نقشہ (پوٹ ویلیو ، 0،1023،0،127)؛
- اگلا ہمیں ان تبدیل شدہ اقدار کو بھیجنے کی ضرورت ہے تاکہ ہم غلام ایڈدوینو کے ساتھ 8 پتے کے ساتھ ٹرانسمیشن شروع کریں
وائر.بیگین ٹرانسمیشن (8)؛ وائر ڈاٹ رائٹ (ماسٹرسینڈ)؛ Wire.endTransmission ()؛
- اگلا ، ہم 500 مائکرو سیکنڈ کی تاخیر کے ساتھ غلام آرڈینو سے حاصل کردہ اقدار کو ظاہر کرتے ہیں اور ہم ان قدر کو مستقل طور پر وصول کرتے اور ظاہر کرتے ہیں۔
lcd.setCursor (0،0)؛ // LCD lcd.print (">> ماسٹر <<") میں سے کسی ایک لائن پر کرسر سیٹ کریں ؛ // پرنٹس >> ماسٹر << LCD lcd.setCursor (0،1) پر؛ // ایل سی ڈی ایل سی ڈی ڈاٹ پرنٹ کی لائن دو پر کرسر سیٹ کرتا ہے ("سلیوی وال:")؛ // پرنٹ سلیول وال: میں LCD lcd.print (ماسٹر ریسیپ)؛ // غلام سیریل ڈاٹ پرنٹلن ("غلامی سے ماسٹر وصول کیا گیا") سے حاصل شدہ LCD میں ماسٹر ریسیپٹ پرنٹس ؛ // سیریل مانیٹر میں پرنٹس. Serial.println (ماسٹر ریسیپ)؛ تاخیر (500)؛ lcd.clear ()؛
غلام اردوینو پروگرامنگ وضاحت
1. بطور ماسٹر ، سب سے پہلے ہمیں I2C مواصلات کے افعال استعمال کرنے کے ل for وائر لائبریری اور LCD افعال استعمال کرنے کیلئے LCD لائبریری شامل کرنے کی ضرورت ہے۔ 16x2 LCD کیلئے LCD پنوں کی بھی وضاحت کریں۔
# شامل کریں
2. باطل سیٹ اپ میں ()
- ہم باؤل ریٹ 9600 پر سیریل مواصلات شروع کرتے ہیں۔
سیریل.بیگین (9600)؛
- اگلا ، ہم غلام (8) کے ساتھ پتے (A4 ، A5) پر I2C مواصلات شروع کرتے ہیں۔ یہاں غلام کا پتہ بتانا ضروری ہے۔
وائر.بیگین (8)؛
اس کے بعد ہمیں فنکشن کو فون کرنے کی ضرورت ہے جب غلام کو ماسٹر سے قدر ملتی ہے اور جب ماسٹر غلام سے ویلیو مانگتا ہے
Wire.onReLive (وصول ایونٹ)؛ Wire.onRequest (درخواست ایونٹ)؛
- اگلا ہم 16X2 وضع میں LCD ڈسپلے ماڈیول شروع کریں اور استقبالیہ پیغام ڈسپلے کریں اور پانچ سیکنڈ کے بعد صاف کریں۔
lcd.begin (16،2)؛ // ایل سی ڈی ڈسپلے کو شروع کریں lcd.setCursor (0،0)؛ // ڈسپلے کی پہلی لائن پر کرسر سیٹ کریں lcd.print ("سرکٹ ڈائجسٹ")؛ // LCD lcd.setCursor (0،1) میں پرنٹس سرکیوٹ ڈائیجسٹ ۔ // ڈسپلے lcd.print کی دوسری لائن پر کرسر سیٹ کرتا ہے ("I2C 2 ARDUINO")؛ // LCD تاخیر میں پرنٹس I2C آرڈینو (5000)؛ // 5 سیکنڈ کیلئے تاخیر lcd.c Clear ()؛ // LCD ڈسپلے صاف کرتا ہے
Next . اس کے بعد ہمارے پاس دو کام ہیں ایک درخواست کی ایونٹ کے لئے اور ایک وصول شدہ پروگرام کے لئے
درخواست واقعہ کے لئے
جب غلام سے ماسٹر کی درخواست کی قیمت اس فنکشن کو انجام دے دی جائے گی۔ اس فنکشن نے غلام POT سے ان پٹ ویلیو لیا ہے اور اسے 7 بٹ کے لحاظ سے تبدیل کیا ہے اور اس قدر کو ماسٹر کو بھیج دیا ہے۔
باطل requestEvent () { INT potvalue = analogRead (A0)؛ بائٹ سلیسسینڈ = نقشہ (اہم قیمت ، 0،1023،0،127)؛ وائر ڈاٹ رائٹ (سلیونسینڈ)؛ }
رسید واقعہ کے ل For
جب ماسٹر غلام ایڈریس (8) کے ساتھ غلام کو ڈیٹا بھیجتا ہے تو اس فنکشن کو انجام دے دیا جائے گا۔ اس فنکشن میں ماسٹر اور اسٹور سے حاصل شدہ قیمت کو مختلف قسم کے بائٹ میں پڑھا جاتا ہے ۔
باطل وصول (ہر طرح کے بارے میں { SlaveRe प्राप्त = Wire.read ()؛ }}
4. باطل لوپ میں ():
ہم LCD ڈسپلے ماڈیول میں مستقل طور پر ماسٹر سے وصول کردہ قدر ظاہر کرتے ہیں۔
باطل لوپ (باطل) { lcd.setCursor (0،0)؛ // LCD lcd.print (">> غلام <<") میں سے کسی ایک لائن پر کرسر سیٹ کریں ۔ // پرنٹ >> غلام << LCD پر lcd.setCursor (0،1)؛ // LCD lcd.print ("ماسٹر وال:") کی لائن دو میں کرسر سیٹ کرتا ہے ۔ // پرنٹس ماسٹر وال: LCD lcd.print (SlaveRe प्राप्त) میں؛ ماسٹر سیرئل پرنٹلن ("غلام ماسٹر سے موصول ہوا :") سے حاصل کردہ LCD میں // غلامی وصول شدہ مالیت کو چھپاتا ہے۔ // سیریل مانیٹر میں پرنٹس سیریل۔ پرنٹلن (غلامی وصول)؛ تاخیر (500)؛ lcd.clear ()؛ }
کی طرف سے ایک طرف سے potentiometer کے گھومنے، آپ کو ایک اور پہلو پر یلسیڈی پر مختلف اقدار دیکھ سکتے ہیں:
لہذا اس طرح I2C مواصلات آرڈینو میں ہوتا ہے ، یہاں ہمارے پاس دو ارڈوینو استعمال ہوئے ہیں جو نہ صرف اعداد و شمار بھیجنا بلکہ I2C مواصلات کا استعمال کرتے ہوئے ڈیٹا وصول کرتے ہیں۔ لہذا اب آپ کسی بھی I2C سینسر کو اردوینو میں انٹرفیس کرسکتے ہیں۔
ماسٹر اور غلام آردوینو کے لئے مکمل کوڈنگ ایک مظاہرے کی ویڈیو کے ساتھ نیچے دیا گیا ہے