- مواد کی ضرورت ہے
- HC-06 بلوٹوتھ ماڈیول
- سرکٹ ڈایاگرام
- سروو کو کنٹرول کرنے کے لore روبورمو ایپ کی تشکیل:
- کوڈ اور وضاحت
- بلوٹوتھ استعمال کرتے ہوئے سروو موٹر کنٹرول کا کام:
عین مطابق کنٹرول کے ل Rob روبوٹکس میں سروو موٹر کا استعمال عام ہے۔ یہاں ، اس ٹیوٹوریل میں ہم آپ کو یہ بتانے جارہے ہیں کہ بلوٹوتھ کنیکشن کے ذریعہ ایک اردوینو یو این او اور اینڈروئیڈ ڈیوائس کے ذریعہ بغیر کسی وائرلیس سے سروو موٹر کا استعمال کیسے کریں ۔ ہم پہلے ہی اردوینو کے ساتھ سروو کو کنٹرول کرتے ہیں ، اس بار ہم اردوینو اور بلوٹوتھ استعمال کرکے سروو موٹر کو کنٹرول کررہے ہیں ۔
مواد کی ضرورت ہے
- اردوینو یو این او
- HC-05 یا HC-06 بلوٹوتھ ماڈیول
- امدادی موٹر
- پلے اسٹور سے روبورمو ایپ
- بریڈ بورڈ
- مربوط تار
HC-06 بلوٹوتھ ماڈیول
بلوٹوتھ مندرجہ ذیل دو طریقوں میں کام کرسکتا ہے۔
- کمانڈ وضع
- آپریٹنگ موڈ
میں کمانڈ موڈ ہم بلوٹوت سگنل کے نام کی طرح بلوٹوت خواص کو ترتیب دینے کے قابل ہو جائے گا، اس کے پاس ورڈ، آپریٹنگ بوڈ کی شرح وغیرہ موڈ آپریٹنگ ہم PIC مذکور Microcontroller درمیان ڈیٹا وصول بھیجنے کے قابل ہو جائے گا جس میں سے ایک ہے اور بلوٹوتھ ماڈیول۔ لہذا اس ٹیوٹوریل میں ہم صرف آپریٹنگ موڈ کے ساتھ جڑیں گے۔ کمانڈ وضع کو پہلے سے طے شدہ ترتیبات میں چھوڑ دیا جائے گا۔ ڈیوائس کا نام HC-05 ہوگا (میں HC-06 استعمال کررہا ہوں) اور پاس ورڈ 0000 یا 1234 ہوگا اور سب سے اہم بات یہ ہے کہ بلوٹوتھ ماڈیول کے لئے پہلے سے طے شدہ بوڈ کی شرح 9600 ہوگی۔
ماڈیول 5V سپلائی پر کام کرتا ہے اور سگنل پنز 3.3V پر کام کرتے ہیں ، لہذا ماڈیول میں ہی 3.3V ریگولیٹر موجود ہے۔ لہذا ہمیں اس کے بارے میں فکر کرنے کی ضرورت نہیں ہے۔ آپریٹنگ موڈ میں چھ پنوں میں سے صرف چار استعمال ہوں گے۔ پن کنکشن ٹیبل نیچے دکھایا گیا ہے
سیریل نمبر | HC-05 / HC-06 پر پن کریں | ایم سی یو پر پن کا نام | PIC میں پن نمبر |
1 | وی سی سی | وی ڈی ڈی | 31 سینٹ پن |
2 | وی سی سی | Gnd | 32 این ڈی پن |
3 | Tx | آر سی 6 / ٹی ایکس / سی کے | 25 ویں پن |
4 | Rx | آر سی 7 / آر ایکس / ڈی ٹی | 26 ویں پن |
5 | حالت | این سی | این سی |
6 | EN (قابل بنائیں) | این سی | این سی |
دوسرے مائکروکانٹرولرز کے ساتھ بلوٹوتھ ماڈیول HC-05 کے بارے میں مزید معلومات کے ل our ہمارے دوسرے پروجیکٹس کو چیک کریں۔
- آریڈینو کا استعمال کرتے ہوئے بلوٹوت کنٹرول شدہ کھلونا کار
- بلوٹوتھ 8051 استعمال کرکے ہوم کنٹرول آٹومیشن سسٹم
- راسبیری پائ کا استعمال کرتے ہوئے صوتی کنٹرول شدہ لائٹس
- ایردوینو اور پروسیسنگ کا استعمال کرتے ہوئے اسمارٹ فون کنٹرول ایف ایم ریڈیو
- PIC مائکروکانٹرولر کے ساتھ بلوٹوتھ ماڈیول HC-06 کو انٹرفیس کرنا
یہاں بلوٹوتھ سے متعلق تمام پروجیکٹس کو بھی چیک کریں۔
سرکٹ ڈایاگرام
اس ارڈینو بلوٹوت سروکو موٹر کنٹرول پروجیکٹ کے لئے سرکٹ ڈایاگرام ذیل میں دیا گیا ہے۔
سروو کو کنٹرول کرنے کے لore روبورمو ایپ کی تشکیل:
مرحلہ 1: - Android Play Store سے Roboremo ایپ ڈاؤن لوڈ کریں اور اسے اپنے اسمارٹ فون میں انسٹال کریں۔ اس کو انسٹال کرنے کے بعد آپ ایپ ونڈو کو دیکھیں گے جیسا کہ فیگر 1 میں دکھایا گیا ہے اور 'مینو' کے بٹن پر کلک کرکے آپ کو نیچے کی شکل 2 میں دکھائی گئی ونڈو نظر آئے گی۔
مرحلہ 2: - پھر کنیکٹ کے بٹن پر کلک کریں اور آپ کو نیچے کی شکل 3 میں دکھائی گئی ونڈو نظر آئے گی پھر آپ کو ' بلوٹوتھ RFCOMM' منتخب کرنا پڑے گا اور پھر آپ اپنے HC-06 بلوٹوتھ ماڈیول کو اپنے android ڈاؤن لوڈ ، ایپ 'روبوورمو' سے مربوط کرسکیں گے۔
مرحلہ 3: - HC-06 بلوٹوتھ ماڈیول سے منسلک ہونے کے بعد اعداد و شمار ونڈو پر واپس آجائیں اور پھر اپنی ضرورت کے مطابق یوزر انٹرفیس بنانے کے ل ' ' edit ui ' پر کلک کریں۔
جب آپ 'edit ui' پر کلیک کریں گے تو آپ کو ایک بار پھر فگر ون 1 میں دکھائے جانے والے ونڈو نظر آئیں گے اور پھر اسکرین پر کہیں بھی کلک کریں آپ کو فیچر 4 جیسی ایپ ونڈو نظر آئے گا اور بٹن کا ڈھانچہ حاصل کرنے کے لئے ' بٹن ' کو منتخب کریں گے ۔
مرحلہ 4: - بٹن کو منتخب کرنے کے بعد آپ کو ترمیم کرنے کے لئے اسکرین پر ایک بٹن ڈھانچہ ملے گا۔ آپ سکرین پر کہیں بھی ڈھانچے کا سائز تبدیل اور منتقل کرسکتے ہیں۔ اب ، بلوٹوتھ کے توسط سے کلک کی جانے والی قیمت کو ترتیب دینے کے لئے آپ نے 'پریس ایکشن مرتب کیا ہے' (جیسا کہ شکل 6 میں دکھایا گیا ہے) اور اس قدر کو ٹائپ کریں جس کو آپ اس خاص بٹن سے بھیجنا چاہتے ہیں۔ جیسے ، ہم روبوورمو اینڈروئیڈ ایپلی کیشن میں 'اسٹارٹ' بٹن دباکر سرو کو گھومنے کیلئے '1' بھیج رہے ہیں۔
بعد میں دیئے گئے ٹیبل میں ، مختلف بٹنوں پر کلک کرنے پر بھیجی جانے والی تمام اقدار کو آپ چیک کرسکتے ہیں۔
مرحلہ 5: - آخر کار ہمارے پاس اسمارٹ فون کا استعمال کرتے ہوئے سرو موٹر کو کنٹرول کرنے کے لئے یوزر انٹرفیس ہے ۔
کوڈ اور وضاحت
اریڈوینو کنٹرول سروو موٹر وِ بلوٹوتھ کے لئے مکمل کوڈ آخر میں دیا گیا ہے۔
اردوینو کے پاس سروو موٹرس کے لئے لائبریری موجود ہے اور یہ امدادی گھومنے کے لئے پی ڈبلیو ایم سے متعلقہ تمام چیزوں کو سنبھالتا ہے ، آپ کو صرف اس زاویے میں داخل ہونے کی ضرورت ہے جس پر آپ گھومنا چاہتے ہیں اور اس میں فنکشن servo1.write (زاویہ) ہے۔ جو امدادی کو مطلوبہ زاویہ پر گھما دے گا۔
لہذا یہاں ہم سرو موٹر کے لائبریری کی وضاحت کرکے شروع کررہے ہیں اور سافٹ ویئر سیریل لائبریری Rx اور Tx پن کی وضاحت کے لئے استعمال کی جاتی ہے۔
# شامل کریں
نیچے دیے گئے کوڈ میں ، ہم آرڈو اور ٹی ایکس کے لئے آرڈینو پنوں کی ابتدا کررہے ہیں ، सर्वो اور دیگر چیزوں کے لئے متغیر کی وضاحت کررہے ہیں ۔
امدادی مائسروا؛ int TxD = 11؛ int RxD = 10؛ int servoposition؛ int servopos؛ int new1؛ سافٹ ویئرشیر بلوٹوتھ (TxD، RxD)؛
اب ، تمام متغیر اور اجزاء کو ابتدائی مرحلے میں سیٹ اپ کریں ۔ یہاں ہم نے اردوینو کے 9 ویں پن پر سرو کو منسلک کیا ہے اور 0 ڈگری تک سروو کی ابتدائی پوزیشن بنائی ہے۔ سیریل اور بلوٹوت مواصلات کے لئے باؤڈ ریٹ بھی 9600 مقرر کیا گیا ہے۔
باطل سیٹ اپ () pos int pos = 0؛ myServo.attach (9)؛ myServo.write (0)؛ سیریل.بیگین (9600)؛ // سیریل مواصلات کو 9600bb bluetooth.begin (9600) پر شروع کریں؛ }
میں باطل لوپ تقریب، Arduino کے تمام وقت آنے والا اقدار کی جانچ پڑتال اور اسمارٹ فون سے موصول قدر کے مطابق امدادی باری باری دکھائے گا کیا جائے گا. ساری اقدار سیریل مواصلات کا استعمال کرتے ہوئے وصول کی جائیں گی۔
اگر قیمت 0 ہے تو سروو 0 ڈگری پر گھوم جائے گا۔ اسی طرح اگر ہم بلوٹوتھ ایپلی کیشن سے 45 ، 90 ، 135 اور 180 بھیجتے ہیں تو ، سروو بالترتیب 45 ، 90 ، 135 اور 180 ڈگری زاویہ پر گھوم جائے گا۔
باطل لوپ () { if (bluetooth.av উপল ()) ring سٹرنگ ویلیو = bluetooth.readString ()؛ servoposition = value.toInt ()؛ اگر (value.toInt () == 0) { Serial.println (servoposition)؛ myServo.write (0)؛ } اگر (value.toInt () == 45) { Serial.println (servoposition)؛ myServo.write (45)؛ } اگر (value.toInt () == 90) { Serial.println (servoposition)؛ myServo.write (90)؛ } اگر (value.toInt () == 135) { Serial.println (servoposition)؛ myServo.write (135)؛ } اگر (value.toInt () == 180) { Serial.println (servoposition)؛ myServo.write (180)؛ }
ہم دبانے سے قدر '1' بھیجتے ہیں تو اسٹارٹ بٹن تک تو امدادی مسلسل باری باری دکھائے گا سٹاپ بٹن دبایا جاتا ہے. یہاں ہم دبانے والے اسٹاپ بٹن پر '2' بھیج رہے ہیں ، جسے اردوینو پڑھیں گے اور اس سے ٹوٹ پڑے گا جبکہ لوپ اور سرو کو روک دیا جائے گا۔
جبکہ (value.toInt () == 1) {اگر (بلوٹوتھ۔ دستیاب) ()) {ویلیو = بلوٹوتھ ۔ریڈسٹرینگ ()؛ سیریل.پرنٹلن (قیمت)؛ اگر (value.toInt () == 2) ial Serial.println ("YYY")؛ توڑ }} سروپوس ++؛ تاخیر (30)؛ سیریل.پرنٹلن (سروپوس)؛ myServo.write (servopos)؛ اگر (servopos == 180) {servopos = 0؛ وقفے؛؛}}}
بلوٹوتھ استعمال کرتے ہوئے سروو موٹر کنٹرول کا کام:
اس پروجیکٹ میں ، ہم ایک اینڈروئیڈ ایپلی کیشن “روبورمو” کا استعمال کرتے ہوئے سروو موٹر کو کنٹرول کر رہے ہیں ۔ اس ایپلیکیشن کے انٹرفیس میں ، ہم نے سروو موٹر پر قابو پانے کے لئے 5 بٹن بنائے ہیں جیسا کہ پہلے بتایا گیا ہے۔ ہر بٹن کا کام نیچے دیئے گئے ٹیبل میں دیا گیا ہے۔
سیریل نمبر. |
بٹن کا نام |
قیمت بھیجنا |
تفصیل |
1۔ |
شروع کریں |
1 |
اس بٹن کا استعمال سرو کو 0⁰ سے 180⁰ تک گھومنے شروع کرنے کے لئے کیا جاتا ہے۔ |
2 |
رکو |
2 |
اس بٹن کو کسی بھی مقام پر امدادی روکنے کے لئے استعمال کیا جاتا ہے۔ |
3۔ |
0⁰ |
0 |
اس بٹن کو سرو کو 0⁰ پر گھومانے کے لئے استعمال کیا جاتا ہے۔ |
4 |
90⁰ |
90 |
اس بٹن کو امدادی کو 90⁰ تک گھومنے کے لئے استعمال کیا جاتا ہے۔ |
5 |
180⁰ |
180 |
اس بٹن کو سروو کو 180⁰ میں گھومنے کے لئے استعمال کیا جاتا ہے۔ |
لہذا ، آپ کے اینڈروئیڈ ایپ روبورمو پر ان بٹنوں کو دبانے سے ، اعداد و شمار اسمارٹ فون کے بلوٹوتھ کے ذریعے ایچ سی 06 بلوٹوتھ ماڈیول کو بھیجے جائیں گے۔ اس سے HC-06 ماڈیول کا ڈیٹا اردوینو کے ذریعہ موصول ہوتا ہے اور اردوینو نے مخصوص بٹن کے لئے کوڈ میں بیان کردہ زاویہ پر سروو کو گھمایا ہے۔ ہم نے زاویہ 45 اور 135 کو بھی کوڈ کیا ہے ، لیکن روبورومو ایپ کو محدود کرنے کی وجہ سے ، آپ صرف 5 بٹن تشکیل دے سکتے ہیں ، لہذا ہم نے دو بٹنوں کو چھوڑ دیا۔
لہذا ، اس طرح آپ اسمارٹ فون سے اعدادو ارڈینو کو بلوٹوتھ کا استعمال کرتے ہوئے بھیج سکتے ہیں تاکہ سرور کو وائرلیس طریقے سے کنٹرول کیا جاسکے۔ اس کا استعمال بہت ساری ایپلیکیشنز میں کیا جاسکتا ہے جیسے کھلونا کاریں ، روبوٹ وغیرہ۔