روبوٹ وہ مشینیں ہیں جو صنعتوں ، فیکٹریوں ، اسپتالوں وغیرہ میں خودکار کام کرکے بھاری کاموں میں انسانی کوششوں کو کم کرتی ہیں زیادہ تر روبوٹ کچھ کنٹرول یونٹ یا اجزاء جیسے پش بٹن ، ریموٹ ، جوائس اسٹک ، پی سی ، اشاروں اور استعمال کرکے چلاتے ہیں۔ کنٹرولر یا پروسیسر کا استعمال کرتے ہوئے کچھ کمانڈ پر عمل درآمد۔ لیکن آج ہم یہاں ایک خودکار روبوٹ لے رہے ہیں جو بغیر کسی بیرونی واقعات کے راستے میں آنے والی تمام رکاوٹوں سے بچنے کے خود مختار طور پر حرکت کرتا ہے ، ہاں ہم روبوٹ میں رکاوٹ سے بچنے کے بارے میں بات کر رہے ہیں ۔ اس پروجیکٹ میں ، ہم نے روبوٹ پائ اور موٹر ڈرائیور کا استعمال روبوٹ اور الٹراسونک سینسر کو روبوٹ کی راہ میں اشیاء کا پتہ لگانے کے ل drive چلانے کے لئے کیا ہے۔
پہلے ہم نے بہت سارے مفید روبوٹس کا احاطہ کیا ہے ، آپ انہیں ہمارے روبوٹکس پروجیکٹس سیکشن میں تلاش کرسکتے ہیں۔
مطلوبہ اجزاء:
- راسباری پائی
- الٹراسونک سینسر ماڈیول HC-SR04
- روبوٹ چیسیس سکرو کے ساتھ مکمل ہے
- ڈی سی موٹرز
- L293D آایسی
- پہیے
- روٹی بورڈ
- مزاحم (1 ک)
- کاپاکیٹر (100nF)
- مربوط تاروں
- بجلی کی فراہمی یا پاور بینک
الٹراسونک سینسر ماڈیول:
ایک رکاوٹ موضوع روبوٹ ایک خود کار روبوٹ ہے اور یہ کسی بھی دور دراز کا استعمال کرتے ہوئے کنٹرول کیا جا کرنے کی ضرورت نہیں کرتا ہے. اس قسم کے خودکار روبوٹ میں کچھ 'چھٹے حس' سینسر ہوتے ہیں جیسے رکاوٹ پکڑنے والے ، ساؤنڈ ڈٹیکٹر ، ہیٹ ڈیٹیکٹر یا دھاتی کے ڈیٹیکٹر۔ یہاں ہم نے الٹراساؤنڈ سگنلز کا استعمال کرتے ہوئے رکاوٹ کھوج کی ہے ۔ اس مقصد کے ل we ، ہم نے الٹراسونک سینسر ماڈیول استعمال کیا ہے۔
الٹراسونک سینسر عام طور پر اشیاء کا پتہ لگانے اور سینسر سے رکاوٹ کے فاصلے کا تعین کرنے کے لئے استعمال ہوتے ہیں۔ بغیر کسی جسمانی رابطے کے فاصلے کی پیمائش کرنے کا یہ ایک عمدہ ٹول ہے ، جیسے ٹینک میں واٹر لیول پیمائش ، فاصلے کی پیمائش ، رکاوٹ سے بچنے والا روبوٹ وغیرہ۔ تو یہاں ، ہم نے الٹراسونک سینسر اور راسبیری پائ کا استعمال کرکے اس چیز کا پتہ لگایا اور فاصلے کی پیمائش کی۔
الٹراسونک سینسر HC-SR04 3 ملی میٹر کی درستگی کے ساتھ 2CM-400CM کی حد میں فاصلے کی پیمائش کے لئے استعمال کیا جاتا ہے۔ سینسر ماڈیول ایک الٹراسونک ٹرانسمیٹر ، وصول کنندہ ، اور کنٹرول سرکٹ پر مشتمل ہے۔ الٹراسونک سینسر دو سرکلر آنکھیں پر مشتمل ہوتا ہے جن میں سے ایک الٹراسونک لہر کو منتقل کرنے اور دوسرا اسے حاصل کرنے کے لئے استعمال ہوتا ہے۔
ہم سینسر پر واپس جانے کے لئے الٹراسونک لہر کے ذریعے لگائے گئے وقت کی بنیاد پر آبجیکٹ کے فاصلے کا حساب لگاسکتے ہیں۔ چونکہ آواز کا وقت اور رفتار معلوم ہے ہم مندرجہ ذیل فارمولوں کے ذریعہ فاصلے کا حساب لگاسکتے ہیں۔
- فاصلہ = (ہوا میں ٹائم ایکس اسپیڈ (343 م / س)) / 2۔
قیمت کو دو حصوں سے تقسیم کیا گیا ہے کیونکہ لہر آگے اور پیچھے پیچھے اسی فاصلہ طے کرتی ہے۔ لہذا رکاوٹ کو پہنچنے کا وقت صرف کل نصف ہے۔
لہذا ہم نے نیچے کی طرح رکاوٹ سے (سینٹی میٹر میں) فاصلہ طے کیا ہے:
پلس_سٹارٹ = ٹائم ٹائم () جبکہ جی پی آئی او ان پٹ (ای سی ایچ او) == 1: # چیک کریں کہ ای سی ایچ او ہائی جی پی آئو ڈاٹ آؤٹ پٹ (لیڈ ، فالس) پلس_ٹ = ٹائم ٹائم () پلس_ڈریجشن = پلس_ینڈ - پلس_ اسٹارٹ فاصلہ = نبض_دوستی * 17150 فاصلہ = گول (فاصلہ ، 2) اوسط فاصلہ = اوسط فاصلہ + فاصلہ
جہاں پلس ڈگریشن الٹراسونک سگنل بھیجنے اور وصول کرنے کے درمیان وقت ہوتا ہے۔
سرکٹ کی وضاحت:
اس رکاوٹ کے لئے سرکٹ بہت آسان ہے جس میں راسبیری پائ کا استعمال کرتے ہوئے روبوٹ سے پرہیز کیا جائے ۔ ایک الٹراسونک سینسر ماڈیول ، کا پتہ لگانے کی اشیاء کے لئے استعمال کیا، GPIO پن 17 اور رسبری PI کے 27 میں منسلک ہے. روبوٹ کی موٹروں کو چلانے کے لئے ایک موٹر ڈرائیور آئی سی L293D راسبیری پی 3 سے منسلک ہے۔ موٹر ڈرائیور کی ان پٹ 2 ، 7 ، 10 اور 15 بالترتیب راسبیری پی جی پی آئی او پن نمبر 12 ، 16 ، 20 اور 21 سے جڑے ہوئے ہیں۔ یہاں ہم نے روبوٹ کو چلانے کے لئے دو ڈی سی موٹرز کا استعمال کیا ہے جس میں ایک موٹر موٹر ڈرائیور آئی سی کے آؤٹ پٹ پن 3 اور 6 سے منسلک ہے اور دوسرا موٹر موٹر ڈرائیور آئی سی کے پن 11 اور 14 پر منسلک ہے۔
یہ کیسے کام کرتا ہے:
اس خود مختار روبوٹ کا کام کرنا بہت آسان ہے۔ جب روبوٹ چلتا ہے اور چلنا شروع کرتا ہے تو ، راسبیری پائی الٹراسونک سینسر ماڈیول اور ایک متغیر میں اسٹورز کا استعمال کرکے اس کے سامنے اشیاء کی دوری کی پیمائش کرتی ہے۔ پھر آر پی آئی اس قدر کا تعی.ن شدہ قدروں سے موازنہ کرتا ہے اور روبوٹ کو بائیں ، دائیں ، آگے یا پیچھے جانے کے لئے اسی کے مطابق فیصلے کرتا ہے۔
یہاں اس پروجیکٹ میں ، ہم نے راسبیری پائی کے ذریعہ کوئی فیصلہ لینے کے لئے 15 سینٹی میٹر کا فاصلہ منتخب کیا ہے ۔ اب جب بھی راسبیری پِی کسی بھی شے سے 15 سینٹی میٹر فاصلہ سے کم ہوجاتا ہے تب راسبیری پِی روبوٹ کو روکتا ہے اور اسے پیچھے حرکت دیتا ہے اور پھر اسے بائیں یا دائیں مڑ جاتا ہے۔ اب اسے ایک بار پھر آگے بڑھنے سے پہلے ، راسبیری پِی دوبارہ جانچ پڑتال کرتا ہے کہ آیا 15 سینٹی میٹر کے فاصلے کی حد میں کوئی رکاوٹ موجود ہے ، اگر ہاں تو پھر پچھلے عمل کو دہراتا ہے ، ورنہ روبوٹ کو آگے بڑھائیں یہاں تک کہ اس میں دوبارہ کسی رکاوٹ یا کسی چیز کا پتہ چل جائے۔
پروگرامنگ کی وضاحت:
ہم یہاں پروگرام کے لئے ازگر زبان استعمال کر رہے ہیں ۔ کوڈنگ سے پہلے ، صارف کو راسبیری پائ کو ترتیب دینے کی ضرورت ہے۔ آپ راسبیری پائی کے ساتھ شروعات کرنے اور پائی میں راسبیئن جسی OS کو انسٹال اور تشکیل کرنے کے لئے ہمارے پچھلے سبق آزما سکتے ہیں۔
اس منصوبے کا پروگرامنگ حصہ تمام کاموں کو انجام دینے کے لئے ایک بہت اہم کردار ادا کرتا ہے۔ سب سے پہلے ، ہم مطلوبہ لائبریریوں کو شامل کرتے ہیں ، متغیرات کو شروع کرتے ہیں اور الٹراسونک سینسر ، موٹر اور اجزاء کے لئے پنوں کی وضاحت کرتے ہیں۔
GPIO درآمد وقت کے بطور RPi.GPIO درآمد کریں # وقت کی لائبریری GPIO.setwarnings (غلط) GPIO.setmode (GPIO.BCM) TRIG = 17 ECHO = 27………………
اس کے بعد ، ہم نے روبوٹ کو بالترتیب ، پسماندہ ، بائیں یا دائیں سمت میں آگے بڑھنے کے لئے ڈیف فارورڈ () ، ڈیف بیک () ، ڈیف بائیں () ، ڈیف دائیں () اور روبوٹ کو روکنے کے لئے ڈیف اسٹاپ () تیار کیا ہے۔ ذیل میں دیئے گئے کوڈ میں افعال کو چیک کریں۔
پھر ، مرکزی پروگرام میں ، ہم نے الٹراسونک سینسر کا آغاز کیا ہے اور سگنل کی ترسیل اور استقبال کے درمیان وقت پڑھا ہے اور فاصلے کا حساب لگایا ہے۔ یہاں ہم نے بہتر درستگی کے ل this اس عمل کو 5 بار دہرایا ہے۔ ہم الٹراسونک سینسر کا استعمال کرتے ہوئے فاصلے کا حساب لگانے کے عمل کی وضاحت کرچکے ہیں۔
i = 0 اوسط فاصلہ = 0 میں ان میں رینج (5): GPIO.output (TRIG، False) ٹائم۔نسل (0.1) GPIO.output (TRIG، True) ٹائم نیند (0.00001) GPIO.output (TRIG، False) جبکہ جی پی آئی او ان پٹ (ای سی ایچ او) == 0: جی پی آئی او آؤٹ پٹ (لیڈ ، فالس) پلس اسٹارٹ = ٹائم ٹائم (وقت) (جبکہ جی پی آئی او ان پٹ (ای سی ایچ او) == 1: # چیک کریں کہ ای سی ایچ او ہائی جی پی آئی او آؤٹ پٹ ہے (زیر قیادت ، جھوٹا) پلس_ ہینڈ = وقت۔ وقت () نبض_تعلیم = نبض_اضافہ - نبض_ آغاز فاصلہ = نبض_تعلیم * 17150 فاصلہ = گول (فاصلہ ، 2) اوسط فاصلہ = اوسط فاصلہ + فاصلہ
آخر میں اگر روبوٹ کے سامنے کوئی رکاوٹ پائے تو رکاوٹ سے دوری کے بعد ، ہم نے روبوٹ کو مختلف راستے اختیار کرنے کا پروگرام بنایا ہے۔
اگر اوسط فاصلہ <15: گنتی = گنتی + 1 اسٹاپ () وقت (نیند) (1) پیچھے () وقت۔ نیند (1.5) اگر (گنتی٪ 3 == 1) اور (پرچم == 0): دائیں () پرچم = 1 اور: بائیں () جھنڈا = 0 وقت۔ نیند (1.5) اسٹاپ () وقت۔ نیند (1) اور: آگے () جھنڈا = 0
اس راسبیری پائ رکاوٹ سے بچنے والے روبوٹ کے لئے مکمل کوڈ ایک مظاہرے کی ویڈیو کے ساتھ نیچے دیا گیا ہے۔