یہ سب کچھ ایک چھوٹا سا کھیل ہے جس کو "ماریو" کہا جاتا ہے ، اس وقت سے ہی میری شہزادی کو بچانے کے لئے بطخوں پر چھلانگ لگانے کے بعد سے ، فارس (پرنس کا شہزادہ) اندھیروں کے خلاف لڑتے لڑتے رہے۔ اپنی دنیا کو بچانے کے ل I میں ویڈیو گیمز کھیلنے کا ایک بہت بڑا پرستار رہا ہوں اور میں ان کو کھیل کر بڑا ہوا۔ لیکن وہ کبھی کبھی غضب میں پڑ جاتے ہیں اور مجھے اس میں کم دخل آتا ہے۔ آج ، جدید گیمنگ کنسولز ورچوئل گیمنگ کے قابل بناتا ہے اور ہمیں کی بورڈ یا ماؤس کے مقابلے میں کھیل کو بہت بہتر محسوس کرنے میں مدد کرتا ہے۔
ایردوینو حوصلہ افزا ہونے کی وجہ سے میں کی بورڈ اور ماؤس کا استعمال کرکے "اینگری برڈز" کے نام سے مشہور گیم کھیل کر تھک گیا تھا اور اس نے ایک فلیکس سینسر اور پوٹینومیٹر کا استعمال کرکے اپنا گیم کنٹرولر بنانے کا فیصلہ کیا تھا ۔ جب فلیکس سینسر کو کالیپولٹ پر برڈ کھینچا جائے گا تو وہ بھی کھینچ لیا جائے گا اور آپ پوٹینومیٹر کا استعمال اس سمت میں کرنے کیلئے کرسکتے ہیں جس میں اسے لانچ کیا جانا چاہئے۔ پھر جب آپ فلیکس سینسر کو جاری کریں گے تو پرندہ لانچ کیا جائے گا۔ میں نے اسے کرنے میں بہت لطف اندوز ہوا ، لہذا اگر آپ بہت کچھ اسی طرح کی تعمیر کرنے میں مصروف ہیں تو یہ سبق مددگار ثابت ہوگا۔ یہ ٹیوٹوریل پوٹینومیٹر کے استعمال سے ماؤس کرسر کو کنٹرول کرنے میں بھی مددگار ثابت ہوگا ۔
سافٹ ویئر اور ہارڈ ویئر کے تقاضے:
سافٹ ویئر:
- اردوینو IDE
- پروسیسنگ IDE
- کمپیوٹر پر ناراض پرندوں کا کھیل
ہارڈ ویئر:
- ارڈینو (کوئی بھی ورژن)
- پوٹینومیٹر
- فلیکس سینسر
- 47K اوہم ریزسٹر
- مربوط تاروں
- بریڈ بورڈ
پیچھے تصور:
Arduino کے بورڈ potentiometer کے اور فلیکس میڈم سے اقدار پڑھتا معمول ذریعے USB COM بندرگاہ کے ذریعے اور ان کو لیپ ٹاپ / PC کے لئے ترسیل کرتا Serial.write () تقریب. اس کے بعد ہم اس معلومات کو پروسیسنگ کا استعمال کرتے ہوئے پڑھتے ہیں اور جاوا میں روبوٹ کلاس کا استعمال کرتے ہوئے ماؤس کرسر کو کنٹرول کرتے ہیں جو پروسیسنگ IDE کے ذریعہ معاونت رکھتا ہے۔ ہم نے پروسیسنگ IDE کو اس طرح سے پروگرام کیا ہے کہ جب فلیکس سینسر کھینچا جائے تو ماؤس کلک ہوجائے گا اور اس کی بنیاد پر کہ یہ کتنا کھینچتا ہے ماؤس پوائنٹر ایکس سمت میں چلا جائے گا۔ پھر پوٹینومیٹر کی قدر کی بنیاد پر ہم ماؤس کرسر کو Y سمت میں منتقل کریں گے ، اس طرح ہم اس سمت کو ترتیب دے سکتے ہیں جس میں پرندے کو لانچ کیا جانا چاہئے۔
سرکٹ ڈایاگرام:
فلیکس سینسر اور پوٹینومیٹر کا استعمال کرتے ہوئے ناراض برڈ کھیلنے کے لئے سرکٹ آسان ہے۔
ہم نے ارڈینو کے ینالاگ آدانوں (A0، A1) سے سادہ پوٹینومیٹر اور ایک فلیکس سینسر جوڑا ہے۔ فلیکس سینسر کا آؤٹ پٹ بھی 47K پل ڈاون ریزسٹر کا استعمال کرتے ہوئے نیچے کھینچا جاتا ہے۔
آپ اسے براہ راست بورڈ پر مربوط کرسکتے ہیں یا انہیں کسی کامل بورڈ سے سولڈر کرسکتے ہیں اور اسے مزید تخلیقی بنانے کیلئے اسے دستانے یا کسی اور چیز پر جمع کرسکتے ہیں۔ جیسا کہ ذیل میں دکھایا گیا ہے میں نے اپنے رابطوں کو کرنے کے لئے ایک بریڈ بورڈ کا استعمال کیا ہے۔
ارڈینو پروگرام:
ٹیوٹوریل کے آخر میں مکمل آرڈینو کوڈ دیا گیا ہے۔ ذیل میں کچھ اہم لائنوں کی وضاحت کی گئی ہے۔
ہم پروگرام کی ابتدا 9600 بوڈ ریٹ کے ساتھ کام کرنے کے ل and کرتے ہیں اور فولیکس سینسر اور پوٹینومیٹر سے قدریں پڑھنا شروع کرتے ہیں۔ جیسا کہ ہم جانتے ہیں سیریل ڈرائٹ () فنکشن ایک وقت میں صرف ایک بائٹ ڈیٹا بھیج سکتا ہے۔ چونکہ ایک بائٹ 8 بٹس اور 2 ^ 8 = 256 ہے۔ ہم 0 سے 256 تک اقدار بھیج سکیں گے۔ لہذا ہمیں فلیکس سینسر آؤٹ پٹ اور پوٹینومیٹر آؤٹ پٹ کی اقدار کو 0 سے 256 میں سکیڑیں۔
ایسا کرنے کے لئے ہم ارڈینو میں نقشہ () فنکشن استعمال کرتے ہیں ۔ فلیکس سینسر سے تمام اقدار 5 سے 100 میں تبدیل ہوجاتی ہیں ، لہذا جب ہم سینسر کو موڑتے ہیں تو یہ 5 سے بڑھتا ہے اور جب جاری ہوتا ہے تو یہ 5 پر واپس آجاتا ہے۔ ماؤس کلکس کا ذکر کرنے کے لئے قدر 1 اور 0 استعمال کی جاتی ہے۔ جب 1 بھیجا جاتا ہے تو ماؤس کو دبایا جاتا ہے اور جب 0 بھیجا جاتا ہے تو ماؤس کو چھوڑ دیا جاتا ہے۔
اگر (FlexValue> = 65 && FlexValue <= 120) // میرا فلیکس سینسر 65 سے 120 تک مختلف ہوسکتا ہے ، آپ کا فرق مختلف ہوسکتا ہے {FlexValue = نقشہ (FlexValue، 120،65،0،100)؛ // موڑنے کی بنیاد پر 0 سے 100 میں تبدیل کریں اگر (FlexValue> = 5) // 1 اور 0 ماؤس کلک کے لئے استعمال ہوتا ہے تو 5 {میکلیک = سچ سے شروع کریں؛ سیریل.روائٹ (1)؛ // 1 ماؤس کو بائیں کلک کرنے کے لئے بھیجا جاتا ہے سیریل ڈاٹ رائٹ (فلیکس ویلیو)؛ // فلیکس ویلیو X سمت میں ماؤس کو منتقل کرنے کا فاصلہ ہے} دوسری {میکلک = غلط؛ سیریل ڈاٹ رائٹ (0)}}
اسی طرح پوٹینومیٹر کی تشکیل کردہ اقدار 101 سے 200 میں تبدیل ہوکر نقشہ () فنکشن گاتی ہیں اور ذیل میں دکھائے جانے والے سیریل ڈاٹ رائٹ () فنکشن کے تحت لیپ ٹاپ COM پورٹ کو بھیج دی جاتی ہیں۔
اگر (پوٹ ویلیو <= 200) {پوٹ ویلیو = نقشہ (پوٹ ویلیو ، 0،200،101،201)؛ // اس کے نتیجے میں 101 میں 201 سیریل ڈاٹ رائٹ (پوٹ ویلیو) میں بدلیں۔ // برتن کی قیمت Y سمت میں ماؤس کو منتقل کرنے کا فاصلہ ہے}
باقی پروگرام تبصرے کے ذریعے بیان کیا گیا ہے۔
پروسیسنگ کوڈ:
پروسیسنگ ایک اوپن سورس ڈویلپمنٹ ایپلی کیشن ہے اور اسے ارڈینو یا دوسرے مائکروکانٹرولرز کے استعمال سے دلچسپ پروجیکٹس تیار کرنے میں آسانی سے ڈاؤن لوڈ اور استعمال کیا جاسکتا ہے۔ ہم نے پہلے ہی پروسیسنگ کا استعمال کرتے ہوئے کچھ پروجیکٹس تیار کیے ہیں اور آپ نیچے دیئے گئے لنک پر کلک کرکے ان کی جانچ کرسکتے ہیں۔
- پروسیسنگ کا استعمال کرتے ہوئے DIY ایف ایم ریڈیو
- ورچوئل رئیلٹی / اشارہ پر قابو رکھنا
- ارڈینو کا استعمال کرتے ہوئے نجی چیٹ روم۔
- پروسیسنگ اے پی پی اور الٹراسونک سینسر کا استعمال کرتے ہوئے ایردوینو ریڈار سسٹم
- ارڈینو کا استعمال کرتے ہوئے حقیقی وقت کا پتہ لگانا اور ٹریکنگ
- آرڈوینو اور پروسیسنگ کا استعمال کرتے ہوئے DIY اسپیڈومیٹر
- پنگ پونگ گیم آرڈوینو ایکسیلیومیٹر کا استعمال کرتے ہوئے
- بائپڈ روبوٹ آرڈوینو کا استعمال کرتے ہوئے
- DIY اردوینو تھرمل امیجنگ کیمرہ
اس پروجیکٹ میں ہم نے COM بندرگاہ کی اقدار کو پڑھنے اور COM پورٹ کے ذریعہ موصولہ اقدار کی بنیاد پر ماؤس پوائنٹر کو کنٹرول کرنے کے لئے پروسیسنگ IDE کا استعمال کیا ہے۔ اس میں ناراض برڈ گیم کنٹرولر کے لئے مکمل پروسیسنگ کوڈ نیچے دیئے گئے لنک سے ڈاؤن لوڈ کیا جا سکتا ہے:
- اس ناراض برڈ گیم کنٹرولر کے لئے پراسیسنگ کوڈ (دائیں پر کلک کریں اور 'لنک کو بطور محفوظ کریں')
ارڈینو پروگرام اس سبق کے آخر میں پایا جاسکتا ہے۔ پروسیسنگ کوڈ میں ترمیم کی گئی تھی تاکہ ہمارے گٹہب پیج پر یوگی کے ذریعہ دیے گئے کوڈ سے ہمارے مقصد کو پورا کیا جاسکے۔
COM پورٹ سے آنے والا ڈیٹا اسی بوڈ ریٹ میں پڑھنا چاہئے جس میں اسے ارڈینو سے بھیجا گیا تھا۔ یہ بھی چیک کریں کہ آورڈینو منیجر کا استعمال کرکے آپ کی ایردوینو کس COM پورٹ سے منسلک ہے۔ میرا ارڈینو COM3 سے منسلک تھا اور یہ میرے کمپیوٹر میں 0 ویں بندرگاہ تھا اور ارڈینو میں باڈ کی شرح 9600 تھی لہذا درج ذیل کوڈ ہے
پورٹ = نیا سیریل (یہ ، Serial.list () ، 9600)؛
ایک بار جب ہم اقدار کو پڑھنا شروع کردیتے ہیں تو ہم اس کی قدر کی بنیاد پر اسے پہچان کر اس کی تمیز کرتے ہیں کہ ہم ارڈینو سے کیسے بھیجے ہیں۔ اقدار کو پھر 0 سے 100 تک نقشہ بنادیا گیا ہے تاکہ ہم اس قدر پر مبنی ماؤس پر قابو پاسکیں۔
اگر (پورٹ.یویلبل ()> 0) {ڈیٹا = پورٹ ریڈ ()؛ پرنٹ لین (ڈیٹا)؛ // COM پورٹ سے ڈیٹا پڑھیں اور اسے ڈیٹا میں محفوظ کریں} اگر (ڈیٹا> = 101 && << 201) // اگر قیمت 101 سے 201 تک ہے تو وہ لازمی طور پر enti ٹرن = انٹ (نقشہ (ڈیٹا) 101 101،201،0،100))؛ // کیٹپلٹ کو تبدیل کرنے کے ل that اس قدر کا استعمال کریں} اگر (ڈیٹا> = 5 && ڈیٹا <= 100) // اگر قیمت 5 سے 100 تک ہے تو وہ فلیکس سینسر کا ہونا ضروری ہے ull پل = انٹ (نقشہ (ڈیٹا ، 5،100 ، 0،100))؛} // کیٹپلٹ کو کھینچنے کے لئے اس قدر کا استعمال کریں اگر (ڈیٹا == 1) پر کلک کریں = سچ؛ // ماؤس کے بٹن کو دبانے کے ل value اس قدر کا استعمال کریں اگر (ڈیٹا == 0) = غلط؛ // ماؤس کے بٹن کو جاری کرنے کے لئے اس قدر کا استعمال کریں
ایک بار جب ہم ڈیٹا کی درجہ بندی کرتے ہیں تو ہم پروسیسنگ میں روبوٹ جاوا کلاس کا استعمال کرتے ہوئے ماؤس کو کنٹرول کرسکتے ہیں۔ کمانڈ روبوٹ۔ ماؤس میو (کرینٹ ایکس پل ، کرنٹ وائی + ٹرن)؛ ماؤس کو کسی بھی مطلوبہ پوزیشن اور لائنوں روبوٹ ڈاٹ ماؤس پریس (ان پٹ ایونٹ.بٹٹون1_ڈاون_اماسک) میں منتقل کرنے کے لئے استعمال کیا جاسکتا ہے ۔ اور روبوٹ ڈاٹ ماؤس ریلیز (ان پٹ ایونٹ.بٹٹون 1_ڈاؤ این_MASK)؛ بالترتیب ماؤس کے بٹن کو دبانے یا جاری کرنے کے لئے استعمال کیا جاسکتا ہے۔
if (پر کلک کریں == غلط) // جب فلیکس سزنر نہیں کھینچا جاتا ہے {crntX = (INT) p.getX ()؛ crntY = (int) p.getY ()؛ اگر (ھیںچو> 50) روبوٹ۔ ماؤس ریلیز (ان پٹ ایونٹ۔ بٹ ٹون 1_ڈاؤ این_اماسک)؛ // ماؤس کا بٹن جاری کریں} اگر (پر کلک کریں == سچ) // جب فلیکس سزنر کھینچ لیا جاتا ہے تو {robot.mousePress (InputEvent.BUTTON1_DOWN_MASK)؛ // ماؤس کے بٹن کو دبائیں روبوٹ۔ ماؤس میو (crntX-Pull، crntY + Turn)؛ // فلیکس اور POT قدر کی بنیاد پر ماؤس کو منتقل کریں}}
پروسیسنگ آئی ڈی ای جب لانچ ہوگی تو ایک چھوٹا ڈائیلاگ باکس بھی دکھائے گا جس پر آپ ماؤس کلک کی پل ، ٹرن اور اسٹیٹس کی اقدار کو دیکھ سکتے ہیں جیسا کہ ذیل میں دکھایا گیا ہے
اس تفصیل کو پروگرام ڈیبگ کرنے یا درکار اعداد و شمار کو درست کرنے کے لئے استعمال کیا جاسکتا ہے۔
کام کرنا:
اس ناراض برڈ پروجیکٹ کو فراہم کردہ کوڈ کا استعمال کرکے کام کرنے کے ل the ، اپنے ہارڈ ویئر کو سرکٹ ڈایاگرام کے مطابق جمع کریں اور دیئے گئے آرڈینو کوڈ کو اپ لوڈ کریں۔ پھر نوٹ کریں کہ آپ کی اردوینو کس COM بندرگاہ سے منسلک ہے اور پروسیسنگ کوڈ میں ضروری تبدیلیاں کریں اور پروسیسنگ خاکہ لانچ کریں۔
اب ، ناراض پرندوں کے کھیل کو آسانی سے لانچ کریں اور آپ کو کریپلٹ کے قریب کرسر لگائیں اور پرندوں کو کھینچنے کے ل the فلیکس سینسر کھینچیں اور پوٹینومیٹر کا استعمال کرتے ہوئے سمت متعین کریں۔ سمت طے ہونے کے بعد فلیکس سینسر کو جاری کریں
ایئیو ڈبلیوڈبلیوڈبلیو ڈبلیوڈبلیو ای ای ای ای ای ای ای ای !!!!!!!!!!……………
آپ پرندوں کو فورا the ہوا اور بوم میں پھینک دیا جائے گا۔ خنزیر پر ذیل میں دیئے گئے ویڈیو میں مکمل کام پایا جاسکتا ہے ۔
امید ہے کہ آپ کو اس پروجیکٹ سے لطف اندوز ہوا ہو گا اور آپ بھی کچھ ایسا ہی بنانے میں کامیاب ہوگئے ہوں گے۔ اگر آپ کو کوئی شبہ ہے تو آپ مجھ تک تبصرہ سیکشن پر پہنچ سکتے ہیں یا تکنیکی سوالات کے لئے فورم پر اپنا سوال پوسٹ کرسکتے ہیں۔
اب ، ان گلل خانوں میں کریش ہونے اور ہمارے پرندوں کے انڈوں کو واپس کرنے کا وقت !!!!