Hc-05 بلوٹوتھ ماڈیول کسی بھی ارڈینو پروجیکٹ کے لئے جانے والے بلوٹوتھ ماڈیولز ہیں! اردوینو IDE میں جکڑنا اور کوڈ کرنا آسان ہے۔ زیادہ تر پروجیکٹس میں ، ہم عام طور پر Hc05 کو ایک ارڈینو سے مربوط کرتے ہیں اور کسی اور سمارٹ ڈیوائس جیسے موبائل فون کے ساتھ بغیر کسی رابطے کے لئے اس کا استعمال کرتے ہیں۔ یہ کافی آسان ہے اور ہم نے اس کے ساتھ بہت سارے دلچسپ پروجیکٹس بنائے ہیں جیسے بلوٹوتھ کنٹرولڈ روبوٹ ، بلوٹوت وائس کنٹرول ، بلوٹوتھ ہوم آٹومیشن وغیرہ۔ تاہم ، کیا آپ کو کبھی دو HC-05 کو آپس میں جوڑنے کی ضرورت ہے؟ HC05 کو اسمارٹ فون سے جوڑنا اتنا سیدھا نہیں ہے ، اس میں کچھ اضافی اقدامات شامل ہیں۔ یہ سبق اس عمل کے لئے آپ کی رہنمائی کرے گا۔ چلو میں کودیں!
ضروری سامان
- 2x آرڈینو (کوئی ماڈل کرے گا؛ میں ایک ارڈینو اونو آر 3 اور ایک ارڈینو نینو استعمال کر رہا ہوں)
- 2x HC05 بلوٹوتھ ماڈیولز
- بریڈ بورڈ
- جمپر تاروں
- 2x 1kΩ مزاحم
- 2x 2.2kΩ مزاحم
سرکٹ ڈایاگرام
یہ بنیادی سرکٹ آریھ ہے۔ ان سرکٹس میں سے 2 تار لگائیں ، ایک ماسٹر کے لئے اور ایک غلام کے لئے۔ رابطوں کے ل، ، ہم یہاں جو کچھ کر رہے ہیں وہ HC05 کو ارڈینو سے جوڑ رہا ہے۔ HC05 کا وصول کنندہ (Rx) پن 0V سے 3.3V رینج پر چلتا ہے اور Ardino 0V سے 5V رینج پر چلتا ہے۔ لہذا ، ہم آرڈینوو کے 5V آؤٹ پٹ کو 3.3V تک کم کرنے کے ل. ایک وولٹیج ڈیوائڈر بنانے کے ل res ریزٹرز (R1 اور R2) استعمال کریں گے ، تاکہ HC05 ماڈیول کو نقصان نہ پہنچ سکے۔
میں R1 کے لئے 1kΩ اور R2 کے لئے 2.2KΩ استعمال کررہا ہوں لیکن جب تک R2 R1 (R2 ≈ 2R1) کی قیمت سے دگنا ہے اس وقت تک آپ کسی بھی مزاحمتی قدر کو استعمال کرسکتے ہیں۔ اسی طرح ، ماسٹر اور غلام دونوں کے لئے سرکٹ کو دہرائیں ، ارڈینو ماسٹر بلوٹوتھ سرکٹ اور ارڈینوو غلام بلوٹوتھ سرکٹ ذیل میں دکھائے گئے ہیں۔
HC05 ماڈیولز کی ابتدائی تشکیل
یہ HC05 کے دو ماڈیولوں کو ایک ساتھ جوڑنے کے لئے ضروری اضافی اقدام ہے۔ ہمیں HC05 بلوٹوتھ ماڈیول کے اندر کچھ ترتیبات تبدیل کرنے کی ضرورت ہے ، ایسا کرنے کے ل we ، ہمیں HC05 ماڈیول کے اے ٹی کمانڈ موڈ میں جانا پڑے گا اور ارڈینو IDE کے سیریل مانیٹر کے ذریعہ اس کو کمانڈ بھیجنا ہوگا۔ ایسا کرنے کے ل we ، ہمیں سیریل مانیٹر کے ذریعے HC05 پر کمانڈ بھیجنے کے لئے ایک ارڈینو کوڈ لکھنے کی ضرورت ہے۔
HC05 ماڈیول ترتیب دینے کی کوڈ اس صفحے کے نچلے حصے میں پایا جا سکتا ہے، کوڈ کی وضاحت کے طور پر مندرجہ ذیل ہے
اس کوڈ میں سافٹ ویئرشیر لائبریری شامل کریں۔
# شامل کریں < سافٹ ویئرشیر.h>
ٹرانسمیٹ (Tx) کی وضاحت کریں اور (Rx) پن نمبر وصول کریں۔ میں Tx کیلئے پن 2 اور Rx کیلئے پن 3 استعمال کر رہا ہوں۔
# وضاحت tx 2 # تعریف rx 3
بلوٹوتھ کنکشن کو کچھ نام دیں (یہاں میں کنفیگر بی ٹی استعمال کر رہا ہوں) ، پھر سافٹ ویرشیل لائبریری کو بتائیں کہ کون سا پن Tx ہے اور کون سا پن Rx ہے۔ نحوی شکل بلوٹوت نام (Rx، Tx) ہے؛
سافٹ ویئرشیل تشکیل بی ٹی (rx ، tx)؛ // آر ایکس ، ٹی ایکس
بلوٹوتھ ماڈیول کی تشکیل کے ل the ، اردوینو کو 38400 بوڈ کی شرح سے اس پر کمانڈ بھیجنے کی ضرورت ہے۔ اسی طرح ، ہم نے بلوٹوتھ کنیکشن کے باب کی شرح کو بھی 38400 باؤڈ مقرر کیا ہے۔ ٹرانسمیٹ (Tx) کو آؤٹ پٹ پن پر سیٹ کریں اور ان پٹ پن پر (Rx) وصول کریں
باطل سیٹ اپ () { سیریل.begin (38400)؛ configBt.begin (38400)؛ پن موڈ (tx، آؤٹ پٹ)؛ پن موڈ (rx، INPUT)؛ }
ہمیشہ کے لئے لوپ کے اندر ، ہمارے پاس کوڈ کا بنیادی حصہ ہے۔ یہاں خیال یہ ہے کہ سیریل مانیٹر میں ٹیکسٹ باکس میں جو بھی ٹائپ کیا گیا ہے اسے ارڈینو کے ٹی ایکس پن کے ذریعے HC05 پر بھیجنا ہے۔ اس کے بعد سیریل مانیٹر میں HC05 کے ذریعہ جو بھی آؤٹ پٹ ہے اسے ڈسپلے کریں۔
باطل لوپ () {if (configBt.av উপল ()) // اگر HC05 کچھ بھیج رہا ہے… { سیریل.پرنٹ (configBt.readString ())؛ سیریل مانیٹر میں // پرنٹ} اگر (سیریل. دستیاب ()) // اگر سیریل مانیٹر کچھ آؤٹ پٹ کر رہا ہے… {configBt.write (سیریل. ریڈ ())؛ // آرڈینوو کے Tx پن پر لکھیں}}
اس کوڈ کو ماسٹر HC05 ماڈیول سے منسلک اردوینو میں پہلے اپ لوڈ کریں۔ کوڈ اپ لوڈ کرنے کے بعد ، ارڈینو پاور کیبل کو پلگ آؤٹ کریں۔ HC05 پر بٹن دبائیں اور تھامیں ۔ اب بھی اریڈینو پاور کیبل میں پلگائیں جبکہ ابھی بھی HC05 پر بٹن تھامے ہوئے ہوں۔ ٹھیک ہے ، اب آپ HC05 پر بٹن جاری کرسکتے ہیں۔ اس طرح آپ HC05 کے AT موڈ میں جاتے ہیں۔ یہ چیک کرنے کے لئے کہ کیا آپ نے یہ کام صحیح کیا ہے ، اس بات کو یقینی بنائیں کہ ایچ سی 05 پر موجود سرخ روشنی تقریبا ہر ایک سیکنڈ میں ٹمٹماتی ہے (آہستہ سے پلک جھپک رہی ہے!) عام طور پر اس سے پہلے کہ HC05 کسی بھی بلوٹوتھ آلہ سے منسلک ہوجائے ، یہ بہت زیادہ فریکوئینسی میں (تیز دمکتے ہیں!) سرخ روشنی کی چمکتی ہے۔
اگلا ، سیریل مانیٹر کھولیں (سیریل مانیٹر کا بٹن اردوینو IDE کے اوپری دائیں طرف ہے)۔ سیریل مانیٹر ونڈو کے نیچے دائیں کونے میں ، اگر آپ نے پہلے ہی ایسا نہیں کیا ہے تو ، اس بات کو یقینی بنائیں کہ آپ لائن اینٹنگ سیٹنگ کو "این ایل اور سی ایل دونوں" اور بوڈ ریٹ کو 38400 پر سیٹ کریں ۔ اب ، سیریل مانیٹر میں اے ٹی ٹائپ کریں ، اگر سب ٹھیک ہوجاتا ہے تو ، آپ کو سیریل مانیٹر ونڈو میں دکھائے جانے والے HC05 سے "ٹھیک ہے" ملے گا۔ مبارک ہو! آپ نے HC05 ماڈیول کے اے ٹی کمانڈ وضع میں کامیابی کے ساتھ لاگ ان کیا ہے۔
اب ، ماسٹر HC05 ماڈیول کو ترتیب دینے کے لئے ذیل میں دی گئی ٹیبل میں درج ذیل کمانڈ درج کریں :
کمانڈ (سیریل مانیٹر میں اس کو درج کریں اور انٹر دبائیں) |
جواب (سیریل مانیٹر میں دکھایا گیا HC05 سے جواب) |
فنکشن (یہ حکم کیا کرتا ہے؟) |
پر |
ٹھیک ہے |
پرکھ |
AT + CMODE؟ |
ٹھیک ہے |
CMODE یا کنکشن موڈ چیک کریں ----------------------------- سی ایم او ڈی ای: 0 غلام ہے 1 ماسٹر ہے |
AT + CMODE = 1 |
ٹھیک ہے |
CMODE کو 1 پر سیٹ کریں کیونکہ ہم ماسٹر HC05 کو تشکیل دے رہے ہیں |
AT + ADDR؟ |
+ ADDR: FCA8: 9A: 58D5 ٹھیک ہے * یہ میرے آقا HC05 کا پتہ ہے۔ آپ کا پتہ مختلف ہوگا! |
HC05 کا پتہ واپس کرتا ہے ، اسے نوٹ کریں کیونکہ ہمیں بعد میں اس کی ضرورت ہوگی! |
اس کے بعد اپنے کمپیوٹر کو اپنے دوسرے HC05 ، غلام سے مربوط کریں :
کمانڈ (سیریل مانیٹر میں اس کو درج کریں اور انٹر دبائیں) |
جواب (سیریل مانیٹر میں دکھایا گیا HC05 سے جواب) |
فنکشن (یہ حکم کیا کرتا ہے؟) |
پر |
ٹھیک ہے |
پرکھ |
AT + CMODE؟ |
ٹھیک ہے |
CMODE یا کنکشن موڈ چیک کریں ----------------------------- سی ایم او ڈی ای: 0 ایک غلام ہے 1 ماسٹر ہے |
AT + CMODE = 0 |
ٹھیک ہے |
CMODE کو 0 پر سیٹ کریں کیونکہ ہم غلام HC05 تشکیل دے رہے ہیں |
AT + BIND = FCA8،9A ، 58D5 * ماسٹر HC05 پتے میں ":" کو "،" سے تبدیل کریں۔ * یہاں میں ماسٹر HC05 کا پتہ استعمال کر رہا ہوں جو میں نے پچھلے جدول سے نیچے لکھا ہے۔ آپ کو اپنے ماسٹر HC05 کا پتہ استعمال کرنا چاہئے! |
ٹھیک ہے |
ماسٹر HC05 کا پتہ مرتب کرنا کہ یہ غلام HC05 خود بخود بوٹ اپ سے جڑ جائے گا |
AT + BIND؟ |
+ BIND: FCA8: 9A: 58D5 ٹھیک ہے * یہ میرے آقا HC05 کا پتہ ہے۔ آپ کا پتہ مختلف ہوگا! |
اپنے غلام کا پابند پتہ چیک کریں۔ اگر یہ آپ کے ماسٹر HC05 کے پتے سے مماثل ہے تو ، آپ جانا اچھا ہے! |
ایردوینو سے آرڈینوو بلوٹوتھ مواصلات کی جانچ
سب سے پہلے ، ماسٹر اور غلام دونوں HC05 ماڈیولز کو طاقت دیں۔ HC05 ماڈیولز پر بجلی کی روشنی اور کچھ سیکنڈ گزرنے کے بعد سرخ روشنی کو دیکھیں۔
لال بتی کی چمکتی ہوئی رفتار |
اس کا کیا مطلب |
ایک بہت ہی اعلی تعدد پر پلک جھپکنا (تیزی سے پلک جھپکنا!) |
اچھا نہیں! اس کا مطلب ہے کہ آپ کے HC05 ماڈیول ایک دوسرے کے ساتھ مربوط نہیں ہیں! خرابیوں کا سراغ لگانے کا وقت! |
کم تعدد پر پلکیں جھپکنا (آہستہ ٹمٹمانے!) |
اچھا! تم نے یہ کیا ہے! لیکن ہمیں ابھی بھی ایک اور جانچ پڑتال کرنا پڑی تاکہ یہ یقینی ہو کہ یہ سیٹ اپ کام کرتا ہے! آگے بڑھو! |
ایک بار جب آپ کی سرخ روشنی کم فریکونسی (پلک جھپکتی ہوئی!) پر پلک جھپکتی ہے تو ، آپ کو یقین ہوسکتا ہے کہ آپ کے HC05 دونوں ایک دوسرے کے ساتھ جڑے ہوئے ہیں ، لیکن ہم نے اس بات کا تجربہ نہیں کیا ہے کہ ماسٹر اور غلام کے درمیان ڈیٹا آگے پیچھے بھیجا جاسکتا ہے۔ بہرحال ، یہاں بنیادی مقصد ہے۔
مندرجہ ذیل کوڈ کو اریڈوینو میں سے کسی ایک پر اپ لوڈ کریں ، یہ ٹرانسمیٹر (Tx) ٹیسٹ کرنے کا کوڈ ہے ، پھر سے اس صفحے کے نچلے حصے میں ٹرانسمیٹر اور وصول کنندہ دونوں کے لئے مکمل کوڈ مل سکتا ہے۔
پچھلے کوڈ کے بعد ، ہم اس کوڈ میں سافٹ ویئرشیر لائبریری شامل کرتے ہیں اور ٹرانسمیٹ (Tx) اور رسیو (Rx) پن نمبر کی وضاحت کرتے ہیں۔ پھر ہم بلوٹوتھ کنکشن کا نام لیتے ہیں اور Tx اور Rx پن نمبر لائبریری میں منتقل کرتے ہیں۔
# شامل < سافٹ ویئرشیر. h> # تعریف tx 2 # تعریف rx 3 سافٹ ویئرشیر بی ٹی (rx، tx)؛ // آر ایکس ، ٹی ایکس
سیٹ اپ فنکشن میں ، ہم پھر آرڈینوو سیریل مانیٹر اور بلوٹوتھ کے لئے باؤڈ ریٹ مقرر کررہے ہیں۔ کیا آپ پچھلے کوڈ کے مقابلے میں یہاں فرق دیکھ رہے ہیں؟ ہم بوڈ ریٹ 9600 باؤڈ استعمال کررہے ہیں۔ یہ دوسرے بلوٹوتھ آلات کے ساتھ بات چیت کرتے وقت HC05 بلوٹوتھ ماڈیول کی پہلے سے طے شدہ مواصلات کی شرح ہے۔ لہذا ، نوٹ کریں کہ 38400 باؤڈ HC05 کو اے ٹی کمانڈوں کے ساتھ تشکیل دینے کے لئے ہے اور 9600 باؤڈ HC05 ماڈیول کی بوڈ ریٹ ہے۔ آخر میں ، بالکل اسی طرح جیسے ہم Tx پن کو آؤٹ پٹ اور Rx پن کو ان پٹ کے بطور تشکیل دیں۔
باطل سیٹ اپ () { سیریل.begin (9600)؛ bt.begin (9600)؛ پن موڈ (tx، آؤٹ پٹ)؛ پن موڈ (rx، INPUT)؛ }
ہمیشہ کے لئے لوپ کے اندر ، ہم جو کچھ کر رہے ہیں وہ HC05 کے ذریعہ "123" کی بے ترتیب قدر منتقل کررہا ہے۔
باطل لوپ () t bt.write (123)؛ }
اس کوڈ کو دوسرے ارڈینو میں اپلوڈ کریں ، وصول کرنے (Rx) کو جانچنے کے لئے یہی کوڈ ہے۔
پچھلے کوڈز کی طرح بالکل ، ہم سافٹ ویر لائبریری کو تشکیل دیتے ہیں۔
# شامل < سافٹ ویئرشیر. h> # تعریف tx 2 # تعریف rx 3 سافٹ ویئرشیر بی ٹی (rx، tx)؛ // آر ایکس ، ٹی ایکس
سیٹ اپ فنکشن میں کوڈ بالکل ٹیسٹ ٹرانسمیٹ (Tx) کوڈ جیسا ہی ہے۔
باطل سیٹ اپ () { سیریل.begin (9600)؛ bt.begin (9600)؛ پن موڈ (tx، آؤٹ پٹ)؛ پن موڈ (rx، INPUT)؛ }
ہمیشہ کے لئے ، ہمیں صرف وہی وصول کرنے کی ضرورت ہے جو ہم منتقلی اردوینو سے بھیج رہے ہیں۔ اگر وصول شدہ بفر نے HC05 سے کچھ ڈیٹا حاصل کیا ہے ، تو سیریل مانیٹر میں موصول ہونے والی چیز کو ڈسپلے کریں۔
باطل لوپ () {if (bt.available ()> 0) ial سیریل.پرنٹلن (bt.read ())؛ }
ہر ایک ارڈینو پر متعلقہ کوڈ اپ لوڈ کرنے کے بعد ، وصول شدہ اردوینو کے لئے سیریل مانیٹر کھولیں۔ اس بات کو یقینی بنائیں کہ آپ باؤل کی شرح کو 9600 اور لائن لائن اختتام پذیر ہونے کے ساتھ منتخب کریں۔ اگر سب کچھ ٹھیک کام کر رہا ہے تو ، آپ کو 123 دیکھنا چاہئے۔
نوٹ: اگر آپ نے اسی لیپ ٹاپ سے Ardinos کو ٹرانسمیٹ کرنے اور وصول کرنے دونوں کو جوڑا ہے تو ، یقینی بنائیں کہ آپ ٹولز> پورٹ کے تحت صحیح COM پورٹ کا انتخاب کرتے ہیں۔ آپ کو آرڈوینو کی COM پورٹ موصول ہونے سے منسلک ہونا چاہئے۔
اگر سب کچھ ٹھیک ہے تو ، HC05 ماڈیول کو تبدیل کرکے یہ یقینی بنائیں کہ مواصلات دونوں سمتوں میں ہوسکتا ہے اور ہم کام مکمل کر چکے ہیں!