- nRF24L01 RF ماڈیول کے بارے میں جاننا
- Ardino کے ساتھ nRF24L01 انٹرفیس کرنا
- وصول کنندہ کی طرف: آرڈوینو اونو nRF24L01 ماڈیول کنکشن
- ٹرانسمیٹر سائیڈ: ارڈینوو نینو nRF24L01 ماڈیول رابطے
- nRF24L01 + وائرلیس ٹرانسیور ماڈیول کے ساتھ کام کرنا
- ارڈینو کے لئے پروگرامنگ nRF24L01
- NRF24L01 کو وائرلیس استعمال کرتے ہوئے سروو موٹر کو کنٹرول کرنا
جبکہ انٹرنیٹ کا سامان (IOT) ، صنعت ،.، ، مشین ٹو مشین مواصلات وغیرہ تیزی سے مقبول ہورہے ہیں جب بادل پر ایک دوسرے سے بات کرنے کے لئے زیادہ مشینیں / ڈیوائسز کے ساتھ ، وائرلیس مواصلات کی ضرورت آجاتی ہے۔ ڈیزائنرز بلوٹوتھ لو انرجی (بی ایل ای 4.0) ، زیگبی ، ای ایس پی 43 وائی فائی ماڈیولز ، 433 میگا ہرٹز آر ایف ماڈیولز ، لورا ، این آر ایف وغیرہ جیسے بہت سے وائرلیس مواصلاتی نظام استعمال کرتے ہیں اور میڈیم کا انتخاب اس پر منحصر ہوتا ہے کہ اس میں کس طرح کی ایپلی کیشن استعمال کی جارہی ہے۔
سب کے علاوہ ، مقامی نیٹ ورک مواصلات کے لئے ایک مقبول وائرلیس میڈیم nRF24L01 ہے ۔ یہ ماڈیول 2.4GHz (ISM بینڈ) پر چلتے ہیں جس میں 250KBS سے 2Mbps تک کی شرح ہوتی ہے جو بہت سے ممالک میں قانونی ہے اور اسے صنعتی اور طبی استعمال میں لایا جاسکتا ہے۔ یہ دعویٰ بھی کیا جاتا ہے کہ مناسب اینٹینا کے ذریعہ یہ ماڈیولز ان کے درمیان 100 میٹر کی دوری تک منتقل اور حاصل کرسکتے ہیں۔ دلچسپ ہے !! تو ، اس ٹیوٹوریل میں ہم ان nRF24l01 ماڈیول کے بارے میں اور اریڈینو جیسے مائکرو قابو پانے والے پلیٹ فارم سے اس کا انٹرفیس کرنے کا طریقہ سیکھیں گے ۔ ہم اس ماڈیول کا استعمال کرتے ہوئے عام طور پر درپیش مشکلات کے لئے کچھ حل بھی بانٹیں گے۔
nRF24L01 RF ماڈیول کے بارے میں جاننا
nRF24L01 ماڈیولز ہیں ٹرانسیور ماڈیولز ہر ماڈیول، جس کا مطلب یہ کر سکتے ہیں دونوں بھیجیں اور اعداد و شمار حاصل ہے لیکن وہ کر رہے ہیں کے بعد سے نصف دوید وہ یا تو بھیج یا ایک وقت میں اعداد و شمار حاصل کر سکتے ہیں. ماڈیول میں نورڈک سیمی کنڈکٹرس کی عام این آر ایف 24 ایل01 آئی سی ہے جو اعداد و شمار کی ترسیل اور استقبال کے لئے ذمہ دار ہے۔ آئی سی نے ایس پی آئی پروٹوکول کا استعمال کرتے ہوئے بات چیت کی ہے اور اسی وجہ سے کسی بھی مائکروکنٹرولر کے ساتھ آسانی سے انٹرفیس کیا جاسکتا ہے۔ یہ ارودوینو کے ساتھ بہت آسان ہوجاتا ہے چونکہ لائبریری آسانی سے دستیاب ہوتی ہیں۔ ایک معیاری nRF24L01 ماڈیول کے pinouts ذیل میں دکھایا جاتا ہے
ماڈیول میں 1.9V سے 3.6V (عام طور پر 3.3V) آپریٹنگ وولٹیج موجود ہے اور عام آپریشن کے دوران صرف 12mA کا بہت کم استعمال ہوتا ہے جس کی وجہ سے یہ بیٹری کو موثر بناتا ہے اور اسی وجہ سے سکے کے خلیوں پر بھی چل سکتا ہے۔ اگرچہ آپریٹنگ وولٹیج 3.3V ہے لیکن زیادہ تر پن 5V روادار ہیں اور اسی وجہ سے آرڈوینو جیسے 5V مائکروقابو کنٹرولرز کے ساتھ براہ راست انٹرفیس کیا جاسکتا ہے۔ ان ماڈیولز کو استعمال کرنے کا ایک اور فائدہ یہ ہے کہ ، ہر ماڈیول میں 6 پائپ لائنز ہوتی ہیں۔ مطلب ، ہر ماڈیول ڈیٹا منتقل کرنے یا موصول کرنے کے لئے 6 دوسرے ماڈیول کے ساتھ بات چیت کرسکتا ہے۔ یہ ماڈیول کو IOT ایپلی کیشنز میں اسٹار یا میش نیٹ ورک بنانے کے ل suitable موزوں بنا دیتا ہے۔ نیز ان کے پاس ایڈریس کی وسیع رینج 125 انفرادک ID ہے ، لہذا ایک بند علاقے میں ہم ان ماڈیولز میں سے 125 کو ایک دوسرے کے ساتھ مداخلت کیے بغیر استعمال کرسکتے ہیں۔
Ardino کے ساتھ nRF24L01 انٹرفیس کرنا
اس ٹیوٹوریل میں ہم سیکھیں گے کہ کس طرح دوسرے آرڈوینو پر پوٹاٹینومیٹر کو مختلف کرکے ایک اردوینو کے ساتھ منسلک سرو موٹر کو کنٹرول کرتے ہوئے آرڈوینو کے ساتھ nRF24L01 کو انٹرفیس کرنا ہے ۔ سادگی کی خاطر ہم نے ایک nRF24L01 ماڈیول ٹرانسمیٹر کے طور پر استعمال کیا ہے اور دوسرا وصول کنندہ ہے ، لیکن ہر ماڈیول کو اعداد و شمار بھیجنے اور وصول کرنے کے لئے پروگرام بنایا جاسکتا ہے۔
ارڈوینو کے ساتھ nRF24L01 ماڈیول کو مربوط کرنے کے لئے سرکٹ ڈایاگرام ذیل میں دکھایا گیا ہے۔ مختلف حالت کے ل I ، میں نے رسیور سائیڈ کے لئے یو این او اور ٹرانسمیٹر سائیڈ کے لئے نانو کا استعمال کیا ہے۔ لیکن دوسرے ارڈینو بورڈ جیسے منی ، میگا میں بھی رابطے کی منطق یکساں ہے۔
وصول کنندہ کی طرف: آرڈوینو اونو nRF24L01 ماڈیول کنکشن
جیسا کہ پہلے کہا گیا ہے کہ NRF24L01 ایس پی آئی پروٹوکول کی مدد سے بات چیت کرتی ہے ۔ ارڈینو نینو اور یو این او پر پنوں 11 ، 12 اور 13 ایس پی آئی مواصلات کے لئے استعمال ہوتے ہیں۔ لہذا ہم NOSF سے MOSI ، MISO اور SCK پنوں کو بالترتیب 11 ، 12 اور 13 سے جوڑتے ہیں۔ پن سیئ اور سی ایس صارف کے قابل ترتیب ہیں ، میں نے یہاں پن 7 اور 8 استعمال کیا ہے ، لیکن آپ پروگرام میں ردوبدل کرکے کوئی پن استعمال کرسکتے ہیں۔ این آر ایف ماڈیول میں ارڈینو پر 3.3V پن شامل ہے ، جو زیادہ تر معاملات میں کام کرے گا۔ اگر نہیں تو ، ایک علیحدہ بجلی کی فراہمی کی کوشش کی جاسکتی ہے۔ این آر ایف میں مداخلت کرنے کے علاوہ ، میں نے ایک پن موٹر 7 کو پن کرنے کے لئے بھی منسلک کیا ہے اور اسے ارڈوینو پر 5 وی پن کے ذریعہ تقویت بخشی ہے۔ اسی طرح ٹرانسمیٹر سرکٹ نیچے دکھایا گیا ہے۔
ٹرانسمیٹر سائیڈ: ارڈینوو نینو nRF24L01 ماڈیول رابطے
ٹرانسمیٹر کے لئے رابطے بھی ایک جیسے ہیں ، مزید برآں میں نے ارڈینوو کے 5V اشتہار گراؤنڈ پن میں جڑا ہوا پوٹینومیٹر استعمال کیا ہے۔ آؤٹ پٹ اینالاگ وولٹیج جو 0-5V سے مختلف ہوگی نانو کے A7 پن سے جڑا ہوا ہے۔ دونوں بورڈز USB پورٹ کے ذریعے چلتے ہیں۔
nRF24L01 + وائرلیس ٹرانسیور ماڈیول کے ساتھ کام کرنا
تاہم ، ہمارے nRF24L01 کو شور سے پاک کام کرنے کے ل. ، ہم مندرجہ ذیل چیزوں پر غور کرنا چاہتے ہیں۔ میں اس این آر ایف 24 ایل01 + پر ایک طویل عرصے سے کام کر رہا ہوں اور مندرجہ ذیل نکات سیکھ گئے ہیں جو آپ کو دیوار سے ٹکرانے سے مدد کرسکتے ہیں۔ جب آپ ماڈیولز معمول کے مطابق کام نہیں کرتے ہیں تو آپ ان کو آزما سکتے ہیں۔
1. مارکیٹ میں زیادہ تر nRF24L01 + ماڈیول جعلی ہیں۔ ای بے اور ایمیزون پر ملنے والے سستے سب سے خراب ہیں (پریشان ہونے کی کوئی بات نہیں ، کچھ مواقعوں کی مدد سے ہم انہیں کام کرواسکتے ہیں)
2. بنیادی مسئلہ بجلی کی فراہمی ہے ، آپ کا کوڈ نہیں۔ آن لائن زیادہ تر کوڈز ٹھیک طرح سے کام کریں گے ، میرے پاس خود ایک ورکنگ کوڈ ہے جس کا میں نے ذاتی طور پر تجربہ کیا ہے ، مجھے بتائیں کہ کیا آپ کو ان کی ضرورت ہے۔
3. دھیان دیں کیوں کہ NRF24L01 + کے بطور طباعت شدہ ماڈیول اصل میں سی 24 آر (جی ہاں ایک چینی مصنوعات ہیں) ہیں۔
The. کلون اور جعلی ماڈیول زیادہ طاقت کا استعمال کریں گے ، لہذا آپ NRF24L01 + ڈیٹا شیٹ پر مبنی اپنے پاور سرکٹ کو تیار نہ کریں ، کیوں کہ سی 24Ri میں زیادہ حالیہ کھپت 250 ایم اے ہوگی۔
5. وولٹیج لہروں اور موجودہ اضافے سے بچو ، یہ ماڈیول انتہائی حساس ہیں اور یہ آسانی سے جل سکتے ہیں۔ (؛-(اب تک 2 ماڈیولوں کو تلی ہوئی ہیں)
6. ماڈیول کے وی سی سی اور جی این ڈی میں ایک جوڑے کیپسیٹرس (10uF اور 0.1uF) شامل کرنا آپ کی فراہمی کو خالص بنانے میں معاون ہے اور یہ زیادہ تر ماڈیولز کے ل works کام کرتا ہے۔
پھر بھی اگر آپ کو تبصرہ والے حصے سے متعلق رپورٹ ہو یا اس کے ذریعے پڑھیں ، یا ہمارے فورم پر اپنے سوالات پوچھیں۔
این آر ایف 24 ایل01 کا استعمال کرکے چیٹ روم بنانے کے بارے میں ہمارے متناسب منصوبے کو بھی چیک کریں۔
ارڈینو کے لئے پروگرامنگ nRF24L01
گٹ ہب پر پاگل پن کے ذریعہ آسانی سے دستیاب لائبریری کی وجہ سے ، ان ماڈیولوں کو اردوینو کے ساتھ استعمال کرنا بہت آسان رہا ہے۔ لائبریری کو زپ فولڈر کے بطور ڈاؤن لوڈ کرنے کے لئے لنک پر کلک کریں اور اس خاکہ -> لائبریری شامل کریں -> زپ لائبریری کا آپشن شامل کرکے اس کو اپنے اردوینو IDE میں شامل کریں ۔ لائبریری کو شامل کرنے کے بعد ہم منصوبے کے لئے پروگرامنگ شروع کرسکتے ہیں۔ ہمیں دو پروگرام لکھنا ہوں گے ، ایک ٹرانسمیٹر سائیڈ کے لئے اور دوسرا رسیور سائیڈ کے لئے۔ تاہم جیسا کہ میں نے پہلے بتایا تھا کہ ہر ماڈیول ٹرانسمیٹر اور وصول کنندہ کے طور پر کام کرسکتا ہے۔ دونوں پروگرام اس صفحے کے آخر میں دیئے گئے ہیں، ٹرانسمیٹر کوڈ میں وصول کنندہ آپشن پر تبصرہ کیا جائے گا اور وصول کنندہ پروگرام میں ٹرانسمیٹر کوڈ پر تبصرہ کیا جائے گا۔ آپ اسے استعمال کرسکتے ہیں اگر آپ کسی ایسے پروجیکٹ کی کوشش کر رہے ہیں جس میں ماڈیول کو دونوں کے جیسے کام کرنا ہو۔ پروگرام کے کام کی وضاحت ذیل میں کی گئی ہے۔
ہم سبھی پروگراموں کی طرح ہیڈر فائلوں کو شامل کرکے شروع کرتے ہیں ۔ چونکہ این آر ایف ایس پی آئی پروٹوکول کا استعمال کرتا ہے ہم نے ایس پی آئی ہیڈر اور لائبریری بھی شامل کی ہے جسے ہم نے ابھی ڈاؤن لوڈ کیا ہے۔ امدادی لائبریری کو سرو موٹر کو کنٹرول کرنے کے لئے استعمال کیا جاتا ہے۔
# شامل کریں
اگلی لائن اہم لائن ہے جہاں ہم لائبریری کو سی ای اور سی ایس پنوں کے بارے میں ہدایت دیتے ہیں ۔ ہمارے سرکٹ ڈایاگرام میں ہم نے عیسوی کو 7 اور پن کو 8 پر پن سے منسلک کیا ہے لہذا ہم نے لائن کو اسی طرح قائم کیا
آر ایف 24 مائریڈیو (7 ، 8)؛
RF لائبریری سے وابستہ تمام متغیرات کو جامع متغیر ڈھانچہ کے طور پر اعلان کیا جانا چاہئے۔ اس پروگرام میں متغیر APK RF ماڈیول سے ڈیٹا بھیجنے اور وصول کرنے کے لئے استعمال کیا جاتا ہے۔
سٹرک پیکج { INT؛ }؛ ٹائپ ڈیف اسٹریک پیکیج پیکیج؛ پیکیج ڈیٹا؛
ہر آریف ماڈیول کا ایک انفراد ایڈریس ہوتا ہے جس کا استعمال کرتے ہوئے وہ متعلقہ آلہ پر ڈیٹا بھیج سکتا ہے۔ چونکہ ہمارے یہاں صرف ایک جوڑا ہے ، ہم ٹرانسمیٹر اور وصول کنندہ دونوں میں پتے کو صفر پر سیٹ کرتے ہیں لیکن اگر آپ کے پاس ایک سے زیادہ ماڈیول ہے تو آپ ID کو کسی بھی منفرد 6 ہندسوں کے تار پر سیٹ کرسکتے ہیں۔
بائٹ ایڈریسز = {"0"}؛
اگلے باطل سیٹ اپ فنکشن کے اندر ہم آر ایف ماڈیول کا آغاز کرتے ہیں اور 115 بینڈ کے ساتھ کام کرنے کے لئے تیار ہوتے ہیں جو شور سے پاک ہے اور ماڈیول کو کم از کم 250 کلوبیتس کی رفتار کے ساتھ کم سے کم بجلی کی کھپت کے موڈ میں کام کرنے کے لئے بھی سیٹ کرتا ہے۔
باطل سیٹ اپ () { سیریل.بیگین (9600)؛ myRadio.begin ()؛ myRadio.setChannel (115)؛ // وائی فائی کے اوپر 115 بینڈ myRadio.setPALevel (RF24_PA_MIN) سگنلز ؛ // MIN پاور لو ریج myRadio.setDataRate (RF24_250KBPS)؛ // کم سے کم رفتار myservo.attach (6)؛ سیریل ڈاٹ پرنٹ ("سیٹ اپ شروع ہوا")؛ تاخیر (500)؛ }
باطل تحریر ڈیٹا () فنکشن اس میں منتقل کردہ ڈیٹا کو لکھتا ہے ۔ جیسا کہ پہلے بتایا گیا ہے کہ این آر ایف کے پاس 6 مختلف پائپ ہیں جن پر ہم ڈیٹا پڑھ سکتے ہیں یا لکھ سکتے ہیں ، یہاں ہم نے ڈیٹا لکھنے کے لئے 0xF0F0F0F066 استعمال کیا ہے۔ وصول کنندہ کی طرف ہمیںلکھا ہوا ڈیٹا وصول کرنے کے لئے ریڈ ڈیٹا () فنکشنمیں وہی پتہ استعمالکرنا ہوگا۔
باطل تحریری ڈیٹا () { myRadio.stopListening ()؛ // وصول کرنا بند کریں اور myRadio.openWritingPype (0xF0F0F0F066) کو منتقل کرنا شروع کریں ؛ // اس 40 بٹ ایڈریس myRadio.write (اور ڈیٹا ، سائز (ڈیٹا)) پر ڈیٹا بھیجتا ہے ۔ تاخیر (300)؛ }
باطل تحریری ڈیٹا () فنکشن اعداد و شمار کو پڑھتا ہے اور اسے متغیر میں رکھتا ہے ۔ ایک بار پھر 6 مختلف پائپوں میں سے جن کا استعمال کرتے ہوئے ہم یہاں ڈیٹا پڑھ یا لکھ سکتے ہیں ہم نے 0xF0F0F0F0F0AA کو بطور ڈیٹا پڑھنے کے ل address استعمال کیا ہے۔ اس کا مطلب ہے کہ دوسرے ماڈیول کے ٹرانسمیٹر نے اس پتے پر کچھ لکھا ہے لہذا ہم اسے اسی سے پڑھ رہے ہیں۔
باطل ریڈ ڈیٹا () { myRadio.openReadingPype (1 ، 0xF0F0F0F0A0)؛ // کون سا پائپ پڑھنا ہے ، 40 بٹ ایڈریس myRadio.startListening ()؛ // منتقلی بند کرو اور انکشاف کرنا شروع کریں اگر (myRadio.available ()) { جبکہ (myRadio.available ()) { myRadio.read (& ڈیٹا ، سائز (ڈیٹا))؛ } Serial.println (data.text)؛ } }
ان لائنوں کے علاوہ پروگرام کی دوسری لائنیں POT کو پڑھنے اور اسے نقشہ فنکشن کا استعمال کرتے ہوئے 0 سے 180 میں تبدیل کرنے کے لئے استعمال کی جاتی ہیں اور اسے وصول کنندہ ماڈیول میں بھیجتی ہیں جہاں ہم اس کے مطابق سروو کو کنٹرول کرتے ہیں۔ میں نے انہیں لائن کے ساتھ لائن سے نہیں سمجھایا کیوں کہ ہم نے پہلے ہی یہ سیکھا ہے کہ ہمارے سروو انٹرفیسنگ ٹیوٹوریل میں۔
NRF24L01 کو وائرلیس استعمال کرتے ہوئے سروو موٹر کو کنٹرول کرنا
ایک بار جب آپ پروگرام کے ساتھ تیار ہوجائیں تو متعلقہ اردوینو بورڈز پر ٹرانسمیٹر اور وصول کنندہ کوڈ (نیچے دیا ہوا) اپ لوڈ کریں اور ان کو USB پورٹ کے ذریعہ طاقت دیں۔ آپ دونوں بورڈ کے سیریل مانیٹر کو بھی شروع کر سکتے ہیں تاکہ یہ چیک کریں کہ کیا قدر منتقل کی جارہی ہے اور کیا وصول کیا جارہا ہے۔ اگر آپ سب کچھ متوقع طور پر کام کر رہے ہیں جب آپ ٹرانسمیٹر کی طرف پی او ٹی کی نوک موڑ دیتے ہیں تو دوسری طرف کا سروو بھی اسی کے مطابق موڑ جانا چاہئے۔
منصوبے کے مکمل کام کا مظاہرہ ذیل ویڈیو میں کیا گیا ہے ۔ پہلی بار کوشش کرنے پر ان ماڈیولز کے کام نہ کرنے کے ل quite یہ معمول کی بات ہے ، اگر آپ کو کسی پریشانی کا سامنا کرنا پڑا تو کوڈ اور وائرنگ کو دوبارہ چیک کریں اور مذکورہ دشواری کی شوٹنگ کے رہنما اصولوں کی کوشش کریں۔ اگر کچھ بھی کام نہیں کرتا ہے تو آپ کے مسئلے کو فورمز یا کمنٹ سیکشن میں پوسٹ کریں اور میں ان کو حل کرنے کی کوشش کروں گا۔