- ورکنگ وضاحت:
- مطلوبہ اجزاء:
- سرکٹ ڈایاگرام:
- nRF24L01 + وائرلیس ٹرانسیور ماڈیول کے ساتھ کام کرنا:
- ارڈینوس پروگرامنگ:
- پروسیسنگ پروگرام:
- جانچ:
اہلکاروں اور خفیہ ڈیٹا کو بانٹنے کے لئے لوکل نیٹ ورک بنانا ہماری جدید دنیا میں عام آدمی کے لئے تقریبا almost ناممکن ہوگیا ہے۔ اس کی بنیادی وجہ یہ ہے کہ گفتگو کے تمام عام طریقوں جیسے واٹس ایپ ، فیس بک ، ہینگ آؤٹ اور تقریبا ہر چیز میں انٹرنیٹ کنیکشن شامل ہوتا ہے۔
کیا ہوگا ، اگر ہم انٹرنیٹ کے ذریعہ ڈیٹا شیئر کرسکیں ؟
کتنا ٹھنڈا ہوگا اگر آپ بغیر نیٹ پیک یا انٹرنیٹ کنکشن کے اپنے گھر یا کام کے مقام کے اندر لوگوں سے بات چیت کرسکتے ہیں ۔
کیا ہوگا اگر ہم اپنی چیٹ اسکرین کو اپنی اپنی تخیلوں سے اپنی مرضی کے مطابق بنا سکیں ؟
یہ سب مائکروقابو کرنے والا اور وائرلیس ٹرانسمیشن میڈیم سے ممکن ہے۔ یہ آرڈینو چیٹ روم nRF24L01 پروجیکٹ کا استعمال کرتے ہوئے آپ کو اپنے مقامی علاقے میں ایک کم قیمت والے چیٹ روم کے قیام کے لئے رہنمائی کرے گا۔
تو آئیے کودیں اور دیکھیں کہ یہ کیسے کام کرتا ہے۔
ورکنگ وضاحت:
بنیادی طور پر اس چیز کو کام کرنے کے ل we ہمیں اردوینو بورڈ اور سستے وائرلیس ماڈیولز کی جوڑی کی ضرورت ہوگی ۔ ہم یہاں جو وائرلیس ماڈیول استعمال کریں گے وہ nRF24L01 ہیں ۔ ان ماڈیولز کو منتخب کرنے کی وجہ یہ ہے کہ یہ زیگبی کے جانشین ہیں اور سیٹ اپ کنکشن کے ساتھ کام کرنا آسان ہے۔ نیز یہ ماڈیول 2.4 گیگا ہرٹز (آئی ایس ایم بینڈ) پر کام کرتے ہیں جس میں فریکوئینسی ہاپنگ اسپریڈکٹم اور شاک پھٹ کے اختیارات ہیں جو ہمیں مداخلت کے مسائل سے راحت محسوس کرتے ہیں۔
ہمارے آردوینو اور این آر ایف 24 ایل01 سیریل مواصلات کو قائم کرنے کے لئے ایک ساتھ جڑے ہوئے ہیں تاکہ وہ ایک دوسرے سے بات کرسکیں۔ NRF24L01 آدھے ڈوپلیکس ٹرانسیور ماڈیولز ہیں ، لہذا وہ ڈیٹا بھیج سکتے اور وصول کرسکتے ہیں۔ صارف سے ڈیٹا اکٹھا کیا جاتا ہے اور منتقل ہوتا ہے اور یہ ڈیٹا کسی (یا کسی خاص) ماڈیولز کے ذریعہ وصول کیا جاسکتا ہے اور اسے اپنی اسکرین پر ڈسپلے کرسکتا ہے۔
لیکن !!!!! کیا ہم ارڈینو کی ڈیبگ اسکرین کا استعمال کرکے چیٹ کرنے جارہے ہیں؟ بالکل نہیں۔ ہم 'پروسیسنگ' کی مدد سے اپنی اپنی چیٹ اسکرین کو تشکیل اور اپنی مرضی کے مطابق بنانے جارہے ہیں۔ پروسیسنگ ایک ایسا سافٹ ویئر ہے جو UART کے ذریعہ آرڈینو کے ساتھ بات چیت کرنے کی صلاحیت رکھتا ہے۔ ہم پروسیسنگ لینگویج کے ساتھ ایک.exe فائل بنائیں گے ، جو جاوا رن ٹائم کے ساتھ کسی بھی کمپیوٹر پر چل سکتی ہے۔ چیٹ کرنے کے ل we ہمیں صرف اپنی آرڈینو کو پلگ ان کرنا ہوگا اور اس.exe فائل کو کھولنا ہوگا ، اور بووم !! ہم اپنی ذاتی نوعیت کے مکمل طور پر مفت چیٹ روم میں شامل ہیں۔
یہ منصوبہ صرف چیٹ روم میں دو ممبروں کو شامل کرنے تک محدود ہے ، لیکن nRF24L01 میں 6 پائپ لائنز ہیں ، اور اس طرح ہمارے چیٹ روم میں زیادہ سے زیادہ 6 ممبران ہوسکتے ہیں۔ یہ چار کمرہ 100 میٹر کی حد میں nRF24L01 ماڈیولز کے لحاظ سے کام کرسکتا ہے۔
تو خریداری کرنے دو !!!!
مطلوبہ اجزاء:
- اردوینو (کوئی ورژن یا ماڈل) - 2 نمبر
- nRF24L01 + وائرلیس ٹرانسیور ماڈیول - 2 نمبر
- 3.3 وولٹیج ریگولیٹر - 2 نمبر. (لازمی نہیں)
- مربوط تاروں
- دلچسپی (Lolz)
سرکٹ ڈایاگرام:
ارڈینو میگا nRF24L01 کے ساتھ:
ارڈینو نینو nRF24L01 کے ساتھ:
ہمارے منصوبے میں کوئی پیچیدہ روابط شامل نہیں ہیں۔ میں نے ایک ارڈینو میگا اور ایک ارڈینو نینو استعمال کیا ہے اور ان کے NRF24L01 کے ساتھ رابطے کو اوپر دکھایا گیا ہے۔ آپ کوئی بھی آرڈینو ماڈلز استعمال کرسکتے ہیں۔
nRF24L01 + وائرلیس ٹرانسیور ماڈیول کے ساتھ کام کرنا:
تاہم ، ہمارے nRF24L01 کو شور سے پاک کام کرنے کے ل. ، ہم مندرجہ ذیل چیزوں پر غور کرنا چاہتے ہیں۔ میں اس این آر ایف 24 ایل01 + پر ایک لمبے عرصے سے کام کر رہا ہوں اور مندرجہ ذیل نکات کو سیکھا تو دیوار سے ٹکرا جانے میں مدد مل سکتی ہے۔
1. مارکیٹ میں زیادہ تر nRF24L01 + ماڈیول جعلی ہیں۔ ای بے اور ایمیزون پر ملنے والے سستے سب سے خراب ہیں (پریشان ہونے کی کوئی بات نہیں ، کچھ مواقعوں کی مدد سے ہم انہیں کام کرواسکتے ہیں)
2. بنیادی مسئلہ بجلی کی فراہمی ہے آپ کا کوڈ نہیں۔ آن لائن زیادہ تر کوڈز ٹھیک طرح سے کام کریں گے ، میرے پاس خود ایک ورکنگ کوڈ ہے جس کا میں نے ذاتی طور پر تجربہ کیا ہے ، مجھے بتائیں کہ کیا آپ کو ان کی ضرورت ہے۔
3. دھیان دیں کیوں کہ NRF24L01 + کے بطور طباعت شدہ ماڈیول اصل میں سی 24 آر (جی ہاں ایک چینی مصنوعات ہیں) ہیں۔
The. کلون اور جعلی ماڈیول زیادہ طاقت کا استعمال کریں گے ، لہذا آپ NRF24L01 + ڈیٹا شیٹ پر مبنی اپنے پاور سرکٹ کو تیار نہ کریں ، کیوں کہ سی 24Ri میں زیادہ حالیہ کھپت 250 ایم اے ہوگی۔
5. وولٹیج لہروں اور موجودہ اضافے سے بچو ، یہ ماڈیول انتہائی حساس ہیں اور یہ آسانی سے جل سکتے ہیں۔ (؛-(اب تک 2 ماڈیولوں کو تلی ہوئی ہیں)
6. ماڈیول کے وی سی سی اور جی این ڈی میں ایک جوڑے کیپسیٹر (10uF اور 0.1uF) شامل کرنا آپ کی فراہمی کو خالص بنانے میں معاون ہے اور یہ زیادہ تر ماڈیولز کے ل works کام کرتا ہے۔
پھر بھی اگر آپ کو دشواری کا سامنا ہے تبصرے کے سیکشن پر رپورٹ کریں یا اس کے ذریعے پڑھیں۔
ارڈینوس پروگرامنگ:
ایردوینو نینو اور میگا دونوں کے لئے پروگرام عیسوی اور سی ایس پنوں میں تبدیلی کے لئے یکساں ہوگا۔ میں پروگرام کو چھوٹے حصوں میں تقسیم کرکے سمجھاؤں گا۔
چونکہ آرڈینو اور nRF24L01 ایس پی آئی کے ذریعہ بات چیت کرتی ہے ہم نے ایس پی آئی لائبریری کا مطالبہ کیا ہے۔ ہم نے اپنے آریف ماڈیولوں کے کام کرنے کے ل our ہمی Manی مینیacکبگ آر ایف 24 لbب کو بھی شامل کیا ہے۔ یہاں سے فائل ڈاؤن لوڈ کریں ، اور انہیں اپنے IDE میں شامل کریں۔
# شامل کریں
ہمارے NRF ماڈیول بالترتیب 8 اور 10 سے CE اور CS سے منسلک ہیں۔
آر ایف 24 مائریڈیو (8 ، 10)؛
ہم ایک منظم ڈاٹا پیکیج بناتے ہیں جسے پیکیج کہتے ہیں ۔ متغیر متن کو ہوا میں ڈیٹا منتقل کرنے کے لئے استعمال کیا جائے گا۔
ڈھانچہ پیکیج {چار متن؛ // ہوا پر منتقل کرنے کا متن}؛ ٹائپ ڈیف اسٹریک پیکیج پیکیج؛ پیکیج ڈیٹا؛
میں باطل سیٹ اپ () تقریب، ہم 9600 کو بوڈ کی شرح اور سیٹ اپ MIN بجلی کی کھپت اور 250KBPS رفتار کے ساتھ 115 کے لئے ہماری ماڈیولز ابتدا. آپ ان اقدار کو بعد میں ڈھل سکتے ہیں۔
باطل سیٹ اپ () {سیریل.بیگین (9600)؛ تاخیر (1000)؛ //Serial.print("سیٹ اپ شروع ہوا")؛ myRadio.begin ()؛ myRadio.setChannel (115)؛ // وائی فائی کے اوپر 115 بینڈ myRadio.setPALevel (RF24_PA_MIN) سگنلز؛ // MIN پاور لو ریج myRadio.setDataRate (RF24_250KBPS)؛ // کم سے کم رفتار}
ماڈیول ٹرانسمیٹ موڈ میں کام کرنے کے لئے بنایا گیا ہے اگر ڈیریل کو سیریل بفر کے ذریعہ موصول ہوتا ہے ، ورنہ یہ رسیور موڈ میں ہو گا تاکہ اعداد و شمار کو ہوا میں تلاش کرے۔ صارف کے اعداد و شمار کو چار سرے میں محفوظ کیا جاتا ہے اور ان کو منتقل کرنے کے لئے WritData () کو بھیجا جاتا ہے۔
باطل لوپ () {جبکہ (سیریل۔ دستیاب ()> 0) // صارف سے قدریں حاصل کریں {والو = سیریل.پییک ()؛ if (انڈیکس <19) // سرنی کے سائز سے ایک بھی کم {inChar = Serial.read ()؛ // indata = inChar؛ ایک کردار پڑھیں؛ // اسے اسٹور کریں ++؛ // اضافہ جہاں اگلا inData لکھنا ہے = '\ 0'؛ // تار کو ختم کریں} if (val == '#') c strcpy (data.text، inData)؛ WritData ()؛ // ماڈیول ٹرانسمیٹ موڈ میں رکھیں جبکہ (انڈیکس! = 0) D inData = ''؛ انڈیکس--؛ ؛}} ریڈ ڈیٹا ()؛ // ماڈیول وصول موڈ رکھو}
باطل تحریر ڈیٹا () فنکشن 0xF0F0F0F0AA ایڈریس پر ڈیٹا لکھتا ہے ، یہ ایڈریس دوسرے ماڈیول پر لکھنے کے پائپ کے طور پر استعمال ہوتا ہے۔
باطل تحریری ڈیٹا () {myRadio.stopListening ()؛ // وصول کرنا بند کریں اور myRadio.openWritingPype (0xF0F0F0F066) کو منتقل کرنا شروع کریں؛ // اس 40 بٹ ایڈریس myRadio.write (اور ڈیٹا ، سائز (ڈیٹا)) پر ڈیٹا بھیجتا ہے۔ تاخیر (300)؛ }
باطل ریڈ ڈیٹا () فنکشن 0xF0F0F0F0F066 پر اس ایڈریس پر ڈیٹا لکھتا ہے ، یہ ایڈریس دوسرے ماڈیول پر ریڈنگ پائپ کے طور پر استعمال ہوتا ہے۔
باطل ریڈ ڈیٹا () {myRadio.openReadingPype (1 ، 0xF0F0F0F0A0)؛ // کون سا پائپ پڑھنا ہے ، 40 بٹ ایڈریس myRadio.startListening ()؛ // منتقلی بند کرو اور انکشاف کرنا شروع کریں اگر (myRadio.available ()) {جبکہ (myRadio.available ()) {myRadio.read (& ڈیٹا ، سائز (ڈیٹا))؛ ial سیریل.پرنٹ لین (ڈیٹا ٹیکسٹ)؛ }
بس ، ہمارے پروگرامنگ کا حصہ ختم ہوگیا۔ اگر آپ یہاں کچھ چیزیں نہیں سمجھ سکتے ہیں تو ، دونوں کو اردوینو کے لئے دو پروگرام چیک کریں ، ذیل میں کوڈ سیکشن میں دیئے گئے ہیں ، میں نے چیزوں کو زیادہ بہتر سمجھانے کے لئے کمنٹ لائنز شامل کی ہیں۔
پروسیسنگ پروگرام:
'پروسیسنگ' اوپن سورس سافٹ ویئر ہے جو فنکاروں کے ذریعہ گرافکس ڈیزائننگ کے لئے استعمال ہوتا ہے۔ یہ سافٹ ویئر سافٹ ویئر اور اینڈروئیڈ ایپلی کیشن تیار کرنے کے لئے استعمال ہوتا ہے۔ یہ ترقی کرنا بہت آسان ہے اور بہت زیادہ Android ڈویلپمنٹ IDE سے ملتا جلتا ہے۔ لہذا میں نے اس کی وضاحت مختصر کردی ہے۔
دونوں چیٹ اسکرینوں کے لئے پراسیسنگ کوڈ یہاں دیا گیا ہے:
- چیٹ سکرین 1 پروسیسنگ کوڈ
- چیٹ سکرین 2 پروسیسنگ کوڈ
ان پر دائیں پر کلک کریں اور ارڈوائنس کو ترتیب دینے کے بعد ان کو ڈاؤن لوڈ کرنے اور اپنے کمپیوٹر میں کھولنے کے ل '' جیسا کہ لنک کو محفوظ کریں.. 'پر کلک کریں۔ ان *.pde فائلوں کو کھولنے کے لئے آپ کو 'پروسیسنگ' سافٹ ویئر انسٹال کرنے کی ضرورت ہے اور پھر چیٹ بکس کھولنے کے لئے انھیں 'چلائیں'۔ تبصرہ سیکشن سوالات کے لئے کھلا ہے۔ ٹرانسمیٹر اور وصول کرنے والے ماڈیول کے لئے پروسیسنگ خاکہ ایک جیسے ہیں۔
نیچے کوڈ سیکشن میں "پورٹ = نیا سیریل (یہ ، سیریل ڈاٹ لسٹ () ، 9600)؛ // چوتھا پورٹ 9600 بوڈریٹ پر پڑھتا ہے" یہ اہم ہے کیونکہ یہ فیصلہ کرتا ہے کہ کس بندرگاہ سے ڈیٹا بننا ہے۔
باطل سیٹ اپ () {سائز (510،500)؛ پورٹ = نیا سیریل (یہ ، Serial.list () ، 9600)؛ // چوتھا پورٹ 9600 باؤڈریٹ پرنٹلن (سیریل ڈاٹ لسٹ ()) پر پڑھتا ہے۔ پس منظر (0)؛ }
یہاں میں نے اپنے ارڈینو سے 4 ویں بندرگاہ سے ڈیٹا پڑھا ہے۔
لہذا مثال کے طور پر اگر آپ کے پاس COM COM COM COM COM ہے
تب مذکورہ کوڈ COM سے ڈیٹا پڑھے گا۔
جانچ:
اب چونکہ ہمارا پروسیسنگ اور اریڈوینو خاکہ تیار ہے لہذا ، پروگرام کو ارڈینو میں اپ لوڈ کریں اور اسے اپنے لیپ ٹاپ میں پلگ ان چھوڑ دیں۔ اپنا پراسیسنگ خاکہ کھولیں اور ٹائپ کرنا شروع کریں اور "انٹر" دبائیں آپ کا میسج دوسرے ارڈینو میں منتقل ہوگا جو دوسرے کمپیوٹر سے منسلک کسی اور پروسیسنگ ایپلی کیشن پر موصولہ متن کو ظاہر کرے گا۔ مکمل مظاہرے کے لئے نیچے دیئے گئے ویڈیو کو مزید چیک کریں ۔
لہذا آپ اس سستا ارودوینو چیٹ روم کا استعمال کرکے ، بغیر انٹرنیٹ کنکشن کے اپنے مقامی علاقے میں اپنے دوستوں اور کنبہ کے ساتھ بات کرسکتے ہیں ۔