- LM393 اسپیڈ سینسر ماڈیول (H206)
- H206 سینسر بڑھتے ہوئے انتظام
- DIY ارڈینو LM393 اسپیڈ سینسر روبوٹ سرکٹ ڈایاگرام
- LM393 اسپیڈ سینسر ماڈیول کے ساتھ رفتار کی پیمائش کرنے کے پیچھے منطق
- پہیے سے طے شدہ فاصلے کی پیمائش کرنے کے پیچھے منطق
- بوٹ کے زاویہ کی پیمائش کے پیچھے منطق
- ارڈینو روبوٹ کوڈ
- فاصلہ ، رفتار اور زاویہ کی پیمائش کے ل A آرڈینو روبوٹ کی جانچ کرنا
ہماری زندگی کو آسان تر بنانے کے لئے روبوٹ آہستہ آہستہ ہمارے معاشرے میں داخل ہونا شروع ہوگئے ہیں۔ ہم اسٹارشپ سے چھ پہیے والے کھانے کی ترسیل کے روبوٹ پہلے ہی تلاش کرسکتے ہیں ، جو اپنی منزل تک پہنچنے کے لئے شہریوں کے درمیان آسانی سے گھوم رہے ہیں۔ ہر موبائل روبوٹ جو ماحول میں تشریف لاتا ہے اسے ہمیشہ حقیقی دنیا کے حوالے سے اپنے مقام اور واقفیت سے آگاہ رہنا چاہئے۔ اس کو حاصل کرنے کے بہت سارے طریقے ہیں جی پی ایس ، آر ایف ٹرائینگولیشن ، ایکسلریومیٹرس ، گائروسکوپس وغیرہ کا استعمال کرتے ہوئے۔ ہر تکنیک کا اپنا فائدہ ہوتا ہے اور یہ خود ہی منفرد ہوتی ہے۔ اس آرڈینو LM393 اسپیڈ سینسر سبق میں ہم آسان اور آسانی سے دستیاب LM393 اسپیڈ سینسر ماڈیول استعمال کریں گے۔کچھ اہم پیرامیٹرز کی پیمائش کرنے کے لئے جیسے اسپیڈ ، ڈسٹنس ٹریول اور روبوٹ کا زاویہ اردوو کا استعمال کرتے ہوئے۔ ان پیرامیٹرز کی مدد سے روبوٹ اپنی اصل دنیا کی حیثیت کو جان سکے گا اور اسے بحفاظت تشریف لے جانے کے لئے استعمال کرسکتا ہے۔
روبوٹ بنانے کے لئے شوق کرنے والوں میں ارڈینو سب سے زیادہ مقبول انتخاب ہے ، ایک سادہ لائن فالوور سے لے کر زیادہ پیچیدہ سیلف بیلنس یا فرش کی صفائی کرنے والے روبوٹ تک۔ آپ روبوٹکس سیکشن میں ہر طرح کے روبوٹ چیک کرسکتے ہیں۔
ہم ایک چھوٹا روبوٹ بنائیں گے جو لتیم بیٹری سے چلتا ہے اور جوائس اسٹک کا استعمال کرکے اسے چلائے گا۔ رن ٹائم کے دوران ہم روبوٹ کی رفتار ، فاصلہ اور زاویہ کی پیمائش کرسکتے ہیں اور اسے آرڈینوو سے منسلک LCD ڈسپلے پر حقیقی وقت دکھائیں گے۔ یہ پروجیکٹ ان پیرامیٹرز کی پیمائش کرنے میں صرف آپ کی مدد کرتا ہے ، ایک بار جب آپ اس کے ساتھ کام کرلیں تو آپ اپنے بوٹ کو خود مختاری سے چلانے کے ل required ضرورت کے مطابق ان پیرامیٹرز کا استعمال کرسکتے ہیں۔ دلچسپ لگ رہا ہے نا؟ تو آئیے شروع کریں۔
LM393 اسپیڈ سینسر ماڈیول (H206)
اس منصوبے کے سرکٹ ڈایاگرام اور کوڈ میں جانے سے پہلے ، ہم LM393 اسپیڈ سینسر ماڈیول کو سمجھیں کیونکہ یہ اس منصوبے میں اہم کردار ادا کرتا ہے۔ H206 سپیڈ سینسر ماڈیول ایک اورکت روشنی پر مشتمل ہوتا سینسر ایک LM393 وولٹیج comparator آایسی وجہ سے نام LM393 سپیڈ سینسر کے ساتھ ضم. ماڈیول میں ایک گرڈ پلیٹ بھی ہوتی ہے جسے موٹر کے گھومنے والے شافٹ پر لگانا ہوتا ہے۔ تمام اجزاء کو نیچے کی تصویر میں لیبل لگایا گیا ہے۔

اورکت روشنی سینسر ایک آئی آر ایل ای ڈی اور ایک تصویر ٹرانجسٹر ایک چھوٹے بڑبڑانا کی طرف سے الگ ہوتے ہیں. جیسا کہ اوپر دکھایا گیا ہے ، سینسر کا پورا انتظام کالے ہاؤسنگ میں رکھا گیا ہے۔ گرڈ پلیٹ سلاٹوں پر مشتمل ہے ، پلیٹ کو اورکت روشنی سینسر کے فرق کے درمیان اس طرح ترتیب دیا گیا ہے کہ سینسر گرڈ پلیٹ میں موجود خالی جگہوں کو سمجھ سکے۔ جب خلا سے گزر رہا ہو تو گرڈ پلیٹ میں ہر فرق IR سینسر کو متحرک کرتا ہے۔ پھر یہ محرک کمپارٹر استعمال کرکے وولٹیج سگنل میں تبدیل ہوجاتے ہیں۔ موازنہ کرنے والا سیم نیم کنڈکٹرز سے LM393 IC کے سوا کچھ نہیں ہے۔ ماڈیول میں تین پن ہیں ، جن میں سے دو ماڈیول کو پاور کرنے کے لئے استعمال ہوتے ہیں اور ایک آؤٹ پٹ ٹرگروں کی تعداد گننے کے لئے استعمال ہوتا ہے۔
H206 سینسر بڑھتے ہوئے انتظام

اس قسم کے سینسر کو بڑھانا قدرے مشکل ہے۔ اسے صرف ان موٹروں پر لگایا جاسکتا ہے جو شافٹ کے دونوں طرف پھیلا ہوا ہے۔ شافٹ کا ایک رخ پہیے سے جڑا ہوا ہے جبکہ دوسری طرف گرڈ پلیٹ کو ماؤنٹ کرنے کے لئے استعمال کیا جاتا ہے جیسا کہ اوپر دکھایا گیا ہے۔
چونکہ پہیا اور پلیٹ ایک ہی شافٹ سے جڑے ہوئے ہیں ، دونوں ایک ہی رفتار میں گھومتے ہیں اور اس طرح پلیٹ کی رفتار کی پیمائش کرکے ہم پہیے کی رفتار کی پیمائش کرسکتے ہیں۔ اس بات کو یقینی بنائیں کہ گرڈ پلیٹ میں موجود خالی جگہیں IR سینسر سے گزریں ، تب ہی سینسر ان خالی جگہوں کی گنتی کر سکے گا جو گزر چکے ہیں۔ جب تک کہ یہ متعین حالت کو پورا نہیں کرتا ہے تب بھی آپ سینسر کو ماؤنٹ کرنے کے ل your اپنے میکانی انتظام کے ساتھ آسکتے ہیں۔ عام طور پر روبوٹکس پروجیکٹس میں IR سینسر عام طور پر روبوٹ کو راہ میں حائل رکاوٹوں کے بارے میں رہنمائی کے لئے استعمال کیا جاتا ہے۔
اوپر دکھائے گئے گرڈ پلیٹ میں 20 سلاٹ (گرڈ) ہیں۔ اس کا مطلب یہ ہے کہ سینسر پہیے کی ایک مکمل گردش کے ل 20 20 خلاء پائے گا ۔ سینسر نے پائے جانے والے خلیوں کی تعداد گنتے ہوئے ہم پہیے کے ذریعے طے شدہ فاصلے کا حساب لگاسکتے ہیں ، اسی طرح اس پیمائش کے ذریعہ کہ سینسر کتنی تیزی سے خالی جگہوں کو تلاش کرسکتا ہے جس سے ہم پہیے کی رفتار کا پتہ لگاسکتے ہیں ۔ ہمارے روبوٹ میں ہمارے پاس یہ سینسر دونوں پہیوں پر لگا ہوا ہوگا اور اسی وجہ سے ہم روبوٹ کا زاویہ بھی تلاش کرسکتے ہیں ۔ تاہم ، ایکسلرومیٹر یا گائروسکوپ کا استعمال کرتے ہوئے گردش کے زاویہ کا زیادہ محتاط اندازہ لگایا جاسکتا ہے ، ایرلوینو کے ساتھ ایکسلرومیٹر اور گائروسکوپ کو انٹرفیس کرنے کے ل learn یہاں سیکھیں اور ان کا استعمال کرتے ہوئے گردش زاویہ کی پیمائش کرنے کی کوشش کریں۔
DIY ارڈینو LM393 اسپیڈ سینسر روبوٹ سرکٹ ڈایاگرام
اس سپیڈ اور ڈسٹنس سینسنگ روبوٹ کا مکمل سرکٹ ڈایاگرام نیچے دکھایا گیا ہے۔ بوٹ اردوینو نینو پر مشتمل ہے اس کے دماغ کے طور پر ، پہیے کے ل DC دو DC موٹریں L298N H-Bridge موٹر ڈرائیور ماڈیول کے ذریعہ چلتی ہیں۔ جوائسک بیوٹی کی رفتار اور سمت کو کنٹرول کرنے کے لئے استعمال ہوتا ہے اور بوٹ کی رفتار ، فاصلے اور فرشتہ کی پیمائش کے لئے دو اسپیڈ سینسر H206 استعمال کیا جاتا ہے۔ اس کے بعد ناپے گئے اقدار 16x2 LCD ماڈیول میں دکھائے جاتے ہیں ۔ ایل سی ڈی سے منسلک پوٹینومیٹر ایل سی ڈی کے برعکس کو ایڈجسٹ کرنے کے لئے استعمال کیا جاسکتا ہے اور ریزٹر کو موجودہ بہاؤ کو ایل سی ڈی کے بیک لائٹ تک محدود کرنے کے لئے استعمال کیا جاتا ہے۔

مکمل سرکٹ ایک 7.4V لتیم سیل کی طرف سے طاقت ہے. یہ 7.4V موٹر ڈرائیور ماڈیول کے 12V پن پر فراہم کی جاتی ہے۔ موٹر ڈرائیور ماڈیول پر وولٹیج ریگولیٹر پھر 7.4V کو ریگولیٹ + 5V میں بدلتا ہے جو اردوینو ، ایل سی ڈی ، سینسرز اور جوائسک کو طاقت میں استعمال کرنے کے لئے استعمال ہوتا ہے۔
موٹر کو ارڈوینو کے ڈیجیٹل پنوں 8،9،10 اور 11 کے ذریعہ کنٹرول کیا جاتا ہے۔ چونکہ موٹر کی رفتار کو بھی قابو میں رکھنا ہے ، ہمیں موٹر کے مثبت ٹرمینل میں پی ڈبلیو ایم سگنل فراہم کرنا چاہئے۔ لہذا ہمارے پاس 9 اور 10 پن ہیں جو دونوں PWM قابل پن ہیں۔ X اور Y کی قیمتیں جوائس اسٹک کو بالترتیب ینالاگ پنوں A2 اور A3 کا استعمال کرتے ہوئے پڑھتی ہیں۔
جیسا کہ ہم جانتے ہیں کہ H206 سینسر کے ساتھ ٹرگر پیدا ہوتا ہے جب گرڈ پلیٹ میں خلا کا پتہ چل جاتا ہے۔ چونکہ درست محرک اور فاصلے کا حساب لگانے کے لئے ان محرکات کو ہمیشہ درست طریقے سے نہیں پڑھنا چاہئے کیونکہ ٹرگر (آؤٹ پٹ) دونوں پنوں ارڈینو بورڈ کے بیرونی مداخلت پن 2 اور 3 سے جڑے ہوئے ہیں۔ پورے سرکٹ کو ایک چیسیس پر جمع کریں اور اسپیڈ سینسر کو ماؤنٹ کریں جیسا کہ وضاحت کی گئی ہے ، رابطے مکمل ہونے کے بعد میرا بٹ نیچے سے کچھ ایسا ہی نظر آیا۔ اس صفحے کے آخر میں ویڈیو کو بھی جان سکتے ہو کہ سینسر کیسے لگا ہوا تھا۔

اب جب ہارڈ ویئر کا حصہ مکمل ہوچکا ہے تو ہمیں اس کی لاجکس میں پڑجائے کہ ہم کس طرح بوٹ کی رفتار ، فاصلے اور سنگل کی پیمائش کریں گے اور پھر پروگرامنگ سیکشن میں آگے بڑھیں۔
LM393 اسپیڈ سینسر ماڈیول کے ساتھ رفتار کی پیمائش کرنے کے پیچھے منطق
سینسر بڑھتے ہوئے سیٹ اپ سے آپ کو آگاہ ہونا چاہئے کہ LM393 اسپیڈ سینسر ماڈیول (H206) صرف گرڈ پلیٹ میں موجود خالی جگہوں کی پیمائش کرتا ہے۔ بڑھتے وقت اسے یقینی بنانا چاہئے کہ پہی the (جس کی رفتار ناپنی چاہئے) اور گرڈ پلیٹ اسی رفتار سے گھومتا ہے۔ یہاں کی طرح ، چونکہ ہم نے پہیے اور پلیٹ دونوں کو ایک ہی شافٹ پر سوار کردیا ہے ، وہ دونوں ایک ہی رفتار کے ساتھ واضح طور پر گھومیں گے۔
ہمارے سیٹ اپ میں ہم نے بوٹ کے زاویہ کی پیمائش کرنے کے لئے ہر پہیے کے لئے دو سینسر لگائے ہیں۔ لیکن اگر آپ کا مقصد صرف اس رفتار اور فاصلے کی پیمائش کرنا ہے جس سے ہم کسی ایک پہیے پر سینسر سوار کرسکتے ہیں۔ سینسر کا آؤٹ پٹ (ٹرگر سگنل) عام طور پر مائکروکانٹرولر کے بیرونی مداخلت پن سے منسلک ہوگا۔ جب بھی گرڈ پلیٹ میں خلا کا پتہ چلتا ہے تو ایک رکاوٹ ٹرگر ہوجائے گی اور آئی ایس آر (انٹراپٹ سروس روٹین) میں کوڈ پر عمل درآمد کیا جائے گا۔ اگر ہم اس طرح کے دو محرکات کے مابین وقت کے وقفے کا حساب لگانے کے اہل ہیں تو ہم پہیے کی رفتار کا حساب لگاسکتے ہیں۔
ارڈینو میں ہم اس وقت کے وقفے کو آسانی سے ملیس () فنکشن کا استعمال کر کے حساب کر سکتے ہیں ۔ اس ملیس فنکشن میں آلہ کو طاقت دینے کے وقت سے ہر ملی سیکنڈ میں 1 اضافہ ہوتا رہے گا۔ تو جب پہلا رکاوٹ ہوتا ہے تو ہم ملسی () کی قیمت کو ڈمی متغیر میں (جیسے اس کوڈ میں پیٹ ٹائم ) بچا سکتے ہیں اور پھر جب دوسرا رکاوٹ پیدا ہوتا ہے تو ہم پیول ٹائم ویلیو کو ملیس () کو گھٹاتے ہوئے لیئے وقت کا حساب لگاسکتے ہیں۔.
وقت لیا = موجودہ وقت - پچھلے وقت timetaken = Millis اس () - pevtime ؛ ملی ٹائم میں // ٹائم ٹیک
ایک بار جب ہم لگے ہوئے وقت کا حساب لگائیں تو ہم نیچے دیئے گئے فارمولوں کا استعمال کرکے آر پی ایم کی قیمت کا محاسبہ کرسکتے ہیں ، جہاں (1000 / ٹائم ٹیکن) آر پی ایس (انقلابات فی سیکنڈ) دیتا ہے اور اسے آر پی ایس کو آر پی ایم میں تبدیل کرنے کے لئے 60 سے ضرب لگا دیا جاتا ہے (انقلابات فی منٹ).
rpm = (1000 / ٹائم ٹیکن) * 60؛
آر پی ایم کا حساب لگانے کے بعد ہم گاڑیوں کی رفتار کا حساب کتاب ذیل فارمولوں کے ذریعے کرسکتے ہیں بشرطیکہ ہم پہیے کی رداس کو جان لیں۔
رفتار = 2π × RPS wheel پہیے کا رداس۔ v = رداس_کی_وہیل * rpm * 0.104
نوٹ ، مذکورہ فارمولا م / سیکنڈ میں رفتار کا حساب لگانے کے لئے ہے ، اگر آپ کلومیٹر / گھنٹہ میں حساب لگانا چاہتے ہیں تو 0.0104 کو 0.376 کے ساتھ تبدیل کریں۔ اگر آپ جاننے کے شوقین ہیں کہ کس طرح 0.104 کی قیمت حاصل کی گئی ہے تو پھر پہیے کے فارمولہ V = 2π × RPS × رداس کو آسان بنانے کی کوشش کریں۔
اسی تکنیک کا استعمال یہاں تک کہ اگر ایک گھومنے والی شے کی رفتار کی پیمائش کے لئے ہال سینسر استعمال کیا جاتا ہے۔ لیکن H206 سینسر کے ل a ایک کیچ ہے ، گرڈ پلیٹ میں 20 سلاٹ ہیں لہذا دو سلاٹ وقفوں کے مابین وقت کی پیمائش کے لئے مائکروکانٹرولر کو اوورلوڈ کردیا جائے گا۔ لہذا ہم رفتار کو صرف پہیے کی مکمل گردش پر ماپتے ہیں۔ چونکہ ہر وقفے کے ل two دو رکاوٹیں پیدا ہوں گی (ایک آغاز میں اور دوسرا خلا کے اختتام پر) ہمیں پہی forے کے لئے ایک مکمل گھومنے کے ل a مجموعی طور پر 40 رکاوٹیں ملیں گی ۔ لہذا ہم پہیے کی رفتار کا اصل حساب لگانے سے پہلے 40 رکاوٹوں کا انتظار کرتے ہیں۔ اس کے لئے کوڈ ذیل میں دکھایا گیا ہے
اگر (گردش> = 40) { timetaken = Millis اس () - pevtime؛ ملی ٹائم آر پی ایم میں // ٹائم ٹیک = (1000 / ٹائم ٹیکن) * 60؛ // فارمولوں کا حساب کتاب کرنے کے لئے rpm پیویٹائم = ملیس ()؛ گردش = 0؛ }
اس طریقہ کار کے ساتھ ایک اور خرابی یہ ہے کہ ، رفتار کی قدر صفر پر نہیں آئے گی کیونکہ رکاوٹ ہمیشہ پہیے کا انتظار کرتا ہے تاکہ آر پی ایم کی قیمت کا حساب لگانے کے لئے ایک گھماؤ مکمل کرے۔ اس خرابی پر ایک آسان کوڈ شامل کرکے آسانی سے قابو پایا جاسکتا ہے جو دو رکاوٹوں کے مابین وقت کے وقفے پر نظر رکھتا ہے اور اگر یہ معمول سے زیادہ ہوجاتا ہے تو ہم آر پی ایم اور رفتار کی قیمت کو صفر پر مجبور کرسکتے ہیں۔ وقت کے فرق کو جانچنے کے لئے ہم نے متغیر ڈائم ٹائم کا استعمال کیا ہے اور اگر یہ 500 ملی سیکنڈ سے زیادہ ہے تو رفتار اور آر پی ایم کی قیمت صفر ہونے پر مجبور ہوجاتی ہے۔
/ * اگر گاڑی رک گئی تو صفر پر گرنا * / اگر (ملیس () - ڈائم ٹائم> 500) // 500ms { rpm = v = 0 کے لئے کوئی تعطل نہیں ملا ۔ // آر پی ایم اور رفتار کو صفر ڈائم ٹائم = ملیس () بنائیں۔ }
پہیے سے طے شدہ فاصلے کی پیمائش کرنے کے پیچھے منطق
ہم پہلے ہی جانتے ہیں کہ جب پہی oneا ایک مکمل گھماؤ کرتا ہے تو ارڈینو 40 رکاوٹیں محسوس کرے گا۔ لہذا پہیے کے ذریعہ بنی ہر ایک گردش کے لئے یہ بات واضح ہوجاتی ہے کہ پہیے کے ذریعہ سفر کیا ہوا فاصلہ پہیے کے طواف کے برابر ہے ۔ چونکہ ہم پہیے کے رداس کو پہلے سے ہی جانتے ہیں ہم نیچے دیئے ہوئے فارمولے کا استعمال کرتے ہوئے فاصلے کا آسانی سے حساب لگاسکتے ہیں
فاصلہ = 2πr * گردشوں کی تعداد فاصلہ = (2 * 3.141 * رداس_ اوپر_ وہیل) * (بائیں_ نشان / 40)
جہاں پہیے کے طواف کا حساب کتاب 2πr فارمولے کے ذریعہ لگایا جاتا ہے اور پھر وہ پہیے کے ذریعہ گھومنے والی تعداد سے بڑھ جاتا ہے۔
بوٹ کے زاویہ کی پیمائش کے پیچھے منطق
روبوٹ کے فرشتہ کا تعی toن کرنے کے بہت سارے طریقے ہیں۔ عام طور پر ان اقدار کے تعین کے ل Ac ایکسلروومیٹر اور گائروسکوپ کا استعمال کیا جاتا ہے۔ لیکن ایک اور سستا طریقہ یہ ہے کہ دونوں پہیوں پر H206 سینسر کا استعمال کیا جائے۔ اس طرح ہم جانتے ہوں گے کہ ہر پہیے نے کتنی موڑ دی ہے۔ درج ذیل اعداد و شمار بتاتے ہیں کہ زاویہ کا حساب کیسے لیا جاتا ہے۔

جب روبوٹ کو زاویہ شروع کیا جاتا ہے تو اسے 0 facing سمجھا جاتا ہے۔ وہاں سے یہ بائیں طرف گھومتا ہے زاویہ منفی میں بڑھ جاتا ہے اور اگر یہ دائیں طرف گھومتا ہے تو فرشتہ مثبت میں بڑھ جاتا ہے۔ افہام و تفہیم کے لئے آئیے -90 سے +90 کی حد پر غور کریں جیسا کہ اعداد و شمار میں دکھایا گیا ہے۔ اس طرح کے انتظامات میں چونکہ دونوں پہیے ایک ہی قطر کے ہیں ، اگر پہیے میں سے کوئی بھی ایک مکمل گھماؤ کرتا ہے تو بوٹ ہم 90 an کے زاویہ پر موڑ دیتے ہیں۔
مثال کے طور پر اگر بایاں پہی oneہ ایک مکمل گردش (80 inter رکاوٹیں) بناتا ہے تو بوٹ بائیں طرف 90 turn ° کی طرف موڑ دیتا ہے اور اسی طرح اگر دائیں پہی oneہ ایک مکمل گردش (inter 80 رکاوٹیں) بنا دیتا ہے تو بوٹ دائیں طرف ° 90°. کا رخ موڑ دیتا ہے۔ اب ہم جانتے ہیں کہ اگر اردوینو نے ایک پہیے پر 80 رکاوٹوں کا پتہ لگایا تو بوٹ 90 by کی طرف موڑ دیا ہے اور کس پہیے کی بنیاد پر ہم بتا سکتے ہیں کہ اگر بوٹ مثبت (دائیں) یا منفی (بائیں) کی طرف موڑ گیا ہے۔ تو بائیں اور دائیں زاویے کو نیچے دیئے جانے والے فارمولوں کا استعمال کرکے اندازہ لگایا جاسکتا ہے
int اینگل_لیفٹ = (بائیں_قطر٪ 360) * (90/80)؛ مکمل زاویہ_صراط = (دائیں_انصبر٪ 360) * (90/80)؛
جہاں 80 کا ایک رکاوٹ بناتے وقت 90 زاویہ کا احاطہ کرتا ہے۔ نتیجے میں آنے والی قیمت ضرب عدد مداخلت ہوتی ہے۔ ہم نے 360 کا ایک ماڈیولس بھی استعمال کیا ہے تاکہ نتیجہ کی قیمت کبھی بھی 36 سے تجاوز نہ کرسکے۔ ایک بار جب ہم بائیں اور دائیں زاویہ کا مؤثر زاویہ دیکھتے ہیں جس میں بوٹ کا سامنا ہوتا ہے تو سیدھے بائیں زاویہ کو گھٹا کر صحیح زاویہ تشکیل پایا جاسکتا ہے۔
زاویہ = कोण_صحت - زاویہ_ بائیں؛
ارڈینو روبوٹ کوڈ
اس رفتار اور زاویہ پیمائش کے روبوٹ کے لئے مکمل ارڈینو کوڈ اس صفحے کے آخر میں پایا جاسکتا ہے۔ پروگرام کا مقصد مذکورہ بالا منطق کا استعمال کرتے ہوئے بوٹ کی رفتار ، فاصلہ اور زاویہ کا حساب لگانا اور اسے LCD اسکرین پر ڈسپلے کرنا ہے۔ اس کے علاوہ اسے جوائس اسٹک کا استعمال کرتے ہوئے بوٹ کو کنٹرول کرنے کا آپشن فراہم کرنا چاہئے ۔
ہم دو موٹروں کے لئے ڈیجیٹل I / O پنوں کی وضاحت کرکے پروگرام شروع کرتے ہیں ۔ نوٹ کریں کہ ہمیں موٹر کی رفتار کو بھی کنٹرول کرنا ہے لہذا ہمیں موٹروں کو کنٹرول کرنے کے لئے پی ڈبلیو ایم پنوں کو ارڈینوو پر استعمال کرنا ہوگا۔ یہاں ہم نے 8،9،10 اور 11 پن استعمال کیا ہے۔
# ڈیفائن LM_pos 9 // بائیں موٹر # تعریف LM_neg 8 // بائیں موٹر # تعریف RM_pos 10 // دائیں موٹر # تعریف RM_neg 11 // دائیں موٹر # ڈیفائن جوائس ایکس A2 # تعریف خوشی Y3 A3
ڈھکی ہوئی رفتار اور فاصلے کی پیمائش کے ل we ہمیں پہیے کے رداس کو جاننے ، قدر کی پیمائش کرنے اور اسے میٹروں میں داخل کرنے کی ضرورت ہے جیسا کہ ذیل میں دکھایا گیا ہے۔ میرے بوٹ کے لئے رداس 0.033 میٹر تھا لیکن یہ آپ کے بوٹ کی بنیاد پر آپ کے لئے مختلف ہوسکتا ہے۔
فلوٹ رداس_ام_کی_ = 0.033؛ // اپنے پہیے کے رداس کی پیمائش کریں اور اسے یہاں سینٹی میٹر میں داخل کریں
سیٹ اپ فنکشن کے اندر ، ہم تمام ویلیو کو صفر ہونے کی شروعات کرتے ہیں اور پھر LCD پر انٹرو ٹیکسٹ ڈسپلے کرتے ہیں ۔ ہم نے ڈیبگنگ مقصد کے لئے سیریل مانیٹر بھی شروع کیا ہے۔ پھر ہم نے ذکر کیا ہے کہ اسپیڈ سینسر H206 بیرونی مداخلت کے بطور 2 اور 3 پن سے جڑے ہوئے ہیں۔ اسی جگہ پر جب کبھی مداخلت کا پتہ چلتا ہے تو ISR فنکشن بائیں / آئسآر اور دائیں_آس آر کو اسی کے مطابق عمل میں لایا جائے گا۔
باطل سیٹ اپ () { گردش = rpm = پیویٹائم = 0؛ // تمام متغیر کو صفر سیریل.بیگین (9600) میں شروع کریں؛ lcd.begin (16 ، 2)؛ // ابتدائی طور پر 16 * 2 LCD lcd.print ("بوٹ مانیٹر")؛ // انٹرو میسج لائن 1 lcd.setCursor (0، 1)؛ lcd.print ("- سرکٹ ڈائیجسٹ")؛ // انٹرو میسج لائن 2 تاخیر (2000)؛ lcd.clear ()؛ lcd.print ("Lt: Rt:")؛ lcd.setCursor (0 ، 1)؛ lcd.print ("S: D: A:")؛ پن موڈ (LM_pos، OUTPUT)؛ پن موڈ (ایل ایم_نیگ ، آؤٹپٹ)؛ پن موڈ (آر ایم_پوس ، آؤٹپٹ)؛ پن موڈ (RM_neg ، OUTPUT)؛ ڈیجیٹل رائٹ (LM_neg ، LOW)؛ ڈیجیٹل رائٹ (RM_neg ، LOW)؛ منسلک انٹرپریٹ (ڈیجیٹلپن ٹن انٹریپٹ (2) ، بائیں_آس آر ، چینج)؛ بائیں وہیل سینسر شروع ہوجاتا ہے جب // Left_ISR کہا جاتا ہے attachInterrupt (digitalPinToInterrupt (3)، Right_ISR، تبدیلی)؛ // Right_ISR صحیح پہیا سینسر شروع ہوجاتا ہے جب کہا جاتا ہے }
بائیں_آئی ایس آر معمول کے اندر ، ہم آسانی سے بائیں متغیر نامی متغیر کو بڑھا دیتے ہیں جو بعد میں بوٹ کے زاویے کی پیمائش میں استعمال ہوگا۔ رائٹ_ آئی ایس آر کے اندر ہم ایک ہی کام کرتے ہیں لیکن پھر اس کے علاوہ ہم یہاں کی رفتار کا بھی حساب لگاتے ہیں۔ متغیر گردش ہر رکاوٹ کے لئے بڑھایا جاتا ہے اور پھر مذکورہ منطق کی رفتار کا حساب لگانے کے لئے استعمال کیا جاتا ہے۔
باطل_ بائیں_آس آر () { بائیں_انتر ++؛ تاخیر (10)؛ } باطل Right_ISR () { right_intr ++؛ تاخیر (10)؛ گردش ++؛ ڈائم ٹائم = ملیس ()؛ اگر (گردش> = 40) { timetaken = Millis اس () - pevtime؛ ملی ٹائم آر پی ایم میں // ٹائم ٹیک = (1000 / ٹائم ٹیکن) * 60؛ // فارمولوں کا حساب کتاب کرنے کے لئے rpm پیویٹائم = ملیس ()؛ گردش = 0؛ } }
مرکزی لامحدود لوپ فنکشن کے اندر ہم جوائس اسٹک سے X اور Y کی اقدار پر نظر رکھتے ہیں ۔ قدر کی بنیاد پر اگر جوائس اسٹک منتقل ہوجائے تو ہم اسی کے مطابق بوٹ پر قابو رکھتے ہیں۔ بوٹ کی رفتار اس بات پر منحصر ہے کہ جوائس اسٹک کو کس حد تک آگے بڑھایا جاتا ہے۔
int xValue = analogRead (joyX)؛ int yValue = analogRead (joyY)؛ int ایکسلریشن = نقشہ (x ویلیو ، 500 ، 0 ، 0 ، 200)؛ اگر (xValue <500) { analogWrite (LM_pos، ایکسلریشن)؛ ینالاگ رائٹ (RM_pos ، ایکسلریشن)؛ } دوسری { اینالاگ رائٹ (LM_pos ، 0)؛ ینالاگ رائٹ (RM_pos ، 0)؛ } اگر (yValue> 550) ینالاگ رائٹ (RM_pos ، 80)؛ اگر (yValue <500) ینالاگ رائٹ (LM_pos، 100)؛
اس سے صارف کو بوٹ منتقل کرنے اور جانچنے میں مدد ملے گی کہ حاصل کردہ قدریں توقع کے مطابق ہیں یا نہیں۔ آخر میں ہم مذکورہ بالا منطق کا استعمال کرتے ہوئے بوٹ کی رفتار ، فاصلہ اور زاویہ کا حساب لگاسکتے ہیں اور اسے نیچے کے کوڈ کا استعمال کرکے ایل سی ڈی پر ظاہر کرسکتے ہیں۔
v = رداس_کی_وییل * rpm * 0.104؛ //0.033 میٹر کے فاصلے میں پہیے کا رداس ہے (= 2 * 3.141 * رداس_ اوپر_ وہیل) * (بائیں_انتر / 40)؛ int اینگل_لیفٹ = (بائیں_قطر٪ 360) * (90/80)؛ مکمل زاویہ_صراط = (دائیں_انصاف٪ زاویہ = कोण_صراط - زاویہ_ بائیں؛ lcd.setCursor (3 ، 0)؛ lcd.print ("")؛ lcd.setCursor (3 ، 0)؛ lcd.print (بائیں_امر)؛ lcd.setCursor (11 ، 0)؛ lcd.print ("")؛ lcd.setCursor (11 ، 0) l lcd.print (right_intr)؛ lcd.setCursor (2 ، 1)؛ lcd.print ("")؛ lcd.setCursor (2 ، 1) l lcd.print (v)؛ lcd.setCursor (9 ، 1)؛ lcd.print ("")؛ lcd.setCursor (9 ، 1) l lcd.print (فاصلہ)؛ lcd.setCursor (13 ، 1)؛ lcd.print ("")؛ lcd.setCursor (13 ، 1) l lcd.print (زاویہ)؛
فاصلہ ، رفتار اور زاویہ کی پیمائش کے ل A آرڈینو روبوٹ کی جانچ کرنا
ایک بار جب آپ کا ہارڈویئر تیار ہوجائے تو کوڈ کو اپنے اردوینو میں اپ لوڈ کریں اور اپنے بوٹ کو منتقل کرنے کے لئے جوائس اسٹک استعمال کریں۔ نیچے کی طرح ایل سی ڈی میں بوٹ کی رفتار ، فاصلہ اس سے محیط ہے اور زاویہ ایل سی ڈی میں ظاہر ہوگا۔

LCD پر اصطلاح Lt اور Rt بالترتیب بائیں مداخلت کی گنتی اور دائیں مداخلت کی گنتی کی نمائندگی کرتی ہے ۔ سینسر کے ذریعہ پائے جانے والے ہر فرق کے ل You آپ ان اقدار میں اضافہ کرتے ہوئے پا سکتے ہیں۔ ٹیم ایس ایم / سیکنڈ میں بوٹ کی رفتار کی نشاندہی کرتی ہے اور اصطلاح ڈی کی طوالت میٹروں میں طے ہونے والی اشارہ کرتی ہے۔ بوٹ کا زاویہ آخر میں ظاہر ہوتا ہے جہاں 0 straight سیدھے کے لئے ہوتا ہے اور یہ گھڑی مخالف گردش کے لئے منفی اور گھڑی کی سمت گردش کے لئے مثبت جاتا ہے۔
بوٹ کے کام کرنے کے طریقہ کو سمجھنے کے ل understand آپ اس صفحے کے آخر میں ویڈیو بھی دیکھ سکتے ہیں ۔ امید ہے کہ آپ اس پروجیکٹ کو سمجھ گئے ہوں گے اور اس کی تعمیر میں لطف اندوز ہوں گے۔ اگر آپ کو کوئی خدشات ہیں تو انھیں کمنٹ سیکشن میں چھوڑ دیں اور میں جواب دینے میں پوری کوشش کروں گا۔ آپ فوری تکنیکی مدد کے لئے فورموں کا استعمال بھی کرسکتے ہیں۔
