اس سے قبل ہم نے جوائسک کو آرڈینو یو این او کے ساتھ انٹرفیس کیا تاکہ یہ سمجھے کہ یہ کس طرح کام کرتا ہے اور اس کے بائیں ، دائیں ، اوپر اور نیچے کی نقل و حرکت پر چار ایل ای ڈی کو کنٹرول کرتا ہے۔ اس پروجیکٹ میں ہم کسی بھی کمپیوٹر گیمز کو کھیلنے کے لئے گیم پیڈ یا گیم کنٹرولر جیسی جوائسک کا استعمال کریں گے جس میں بائیں ، دائیں ، اوپر اور نیچے کی نقل و حرکت کی ضرورت ہوتی ہے۔ مزید کھیل کے اختیارات کی ضرورت ہوتی ہے کہ کھیل کھیلنے کے لئے ، دو یا زیادہ جوائس اسٹکس استعمال کیا جا سکتا ہے۔ یہاں ہم جوی اسٹک کو گیم کنٹرولر کی حیثیت سے انٹرفیس کرنے کے لئے اردوینو لیونارڈو کا استعمال کریں گے ۔ اریڈوینو لیونارڈو کا یونو پر فائدہ ہے کہ ہم اس پر USB ڈرائیور نصب کرسکتے ہیں اور جڑنے پر یہ ماؤس ، کی بورڈ یا جوائس اسٹک کے بطور کمپیوٹر کے ذریعہ پتہ چلا جاسکتا ہے۔
ضروری اجزاء
- اردوینو لیونارڈو
- دوہری محور XY جوائسک ماڈیول
- اردوینو IDE
- مربوط تاروں
اردوینو لیونارڈو
اس پروجیکٹ کے لئے ہم اردوینو لیونارڈو استعمال کررہے ہیں ، یہ ایک مائکروکونٹرولر بورڈ ہے جو ATmega32u4 پر مبنی ہے۔ اس میں 20 ڈیجیٹل ان پٹ / آؤٹ پٹ پن (جن میں سے 7 پی ڈبلیو ایم آؤٹ پٹ کے طور پر اور 12 ینالاگ آدانوں کے طور پر استعمال ہوسکتے ہیں) ، ایک 16 میگا ہرٹز کرسٹل آسکیلیٹر ، مائکرو یو ایس بی کنکشن ، پاور جیک ، آئی سی ایس پی ہیڈر اور ری سیٹ بٹن ہے۔ اس میں مائکروکانٹرولر کی مدد کے لئے درکار ہر چیز ہے۔ اسے صرف USB کیبل کے ساتھ کمپیوٹر سے مربوط کریں یا شروع کرنے کے لئے اسے AC-to-DC اڈاپٹر یا بیٹری سے طاقت بنائیں۔
لیونارڈو سابقہ بورڈز سے مختلف ہے جس میں ATmega32u4 بلٹ ان USB مواصلات ہے ، جس نے ثانوی پروسیسر کی ضرورت کو ختم کردیا ہے۔ اس سے لیونارڈو کو ورچوئل (سی ڈی سی) سیریل / COM پورٹ کے علاوہ ، جڑے ہوئے کمپیوٹر پر ماؤس اور کی بورڈ کی حیثیت سے ظاہر ہونے کی اجازت دیتا ہے۔
تکنیکی خصوصیات
مائکروکنٹرولر | ATmega32u4 |
آپریٹنگ وولٹیج | 5V |
ان پٹ وولٹیج (تجویز کردہ) | 7-12V |
ان پٹ وولٹیج (حدود) | 6-20V |
ڈیجیٹل I / O پنوں | 20 |
پی ڈبلیو ایم چینلز | 7 |
ینالاگ ان پٹ چینلز | 12 |
DC موجودہ ہر I / O پن | 40 ایم اے |
ڈی سی موجودہ 3.3V پن کے لئے | 50 ایم اے |
فلیش میموری | 32 KB (ATmega32u4) جن میں سے 4 KB بوٹ لوڈر کے ذریعہ استعمال کیا جاتا ہے |
ایس آر اے ایم | 2.5 KB (ATmega32u4) |
EEPROM | 1 KB (ATmega32u4) |
گھڑی کی رفتار | 16 میگا ہرٹز |
لمبائی | 68.6 ملی میٹر |
چوڑائی | 53.3 ملی میٹر |
وزن | 20 جی |
پن آؤٹ ریفرنس
دوہری محور XY جوائسک ماڈیول
جوائس اسٹکس مختلف اشکال اور سائز میں دستیاب ہیں۔ ذیل میں دیئے گئے اعداد و شمار میں ایک جوائس کا ایک عام ماڈیول دکھایا گیا ہے۔ یہ جوائسک ماڈیول عام طور پر ینالاگ آؤٹ پٹ فراہم کرتا ہے اور اس ماڈیول کے ذریعہ فراہم کردہ آؤٹ پٹ وولٹیجس اس سمت کے مطابق بدلتے رہتے ہیں جس میں ہم اسے منتقل کرتے ہیں۔ اور ہم کچھ مائکروکنٹرولر کا استعمال کرکے ان وولٹیج کی تبدیلیوں کی ترجمانی کرکے تحریک کی سمت حاصل کرسکتے ہیں۔ اس سے قبل ہم نے مختلف مائکروکانٹرولرز کے ساتھ خوشی کی چھڑی کو انٹرفیس کیا:
- ارڈوینو کے ساتھ جوائس اسٹک کو انٹرفیس کرنا
- رسپری پائی کے ساتھ جوائس اسٹک کو انٹرفیس کرنا
- پی آئی سی مائکروکنٹرولر کے ساتھ جوائس اسٹک کو انٹرفیس کرنا
- اے وی آر مائکروکونٹرولر کے ساتھ جوائس اسٹک انٹرفیسنگ
اس جوائس اسٹک ماڈیول میں دو محور ہیں جیسا کہ آپ دیکھ سکتے ہیں۔ وہ ایکس محور اور Y محور ہیں۔ JOY STICK کا ہر ایک محور ایک پوٹینومیٹر یا برتن پر لگا ہوا ہے۔ ان برتنوں کے درمیانی نکات Rx اور Ry کی طرح چلائے جاتے ہیں۔ تو Rx اور Ry ان برتنوں کے لئے متغیر نقطہ ہیں. جب جوائسک اسٹینڈ بائی میں ہوتا ہے تو ، Rx اور Ry ولٹیج ڈیوائڈر کا کام کرتے ہیں۔
جب جوائس اسٹک افقی محور کے ساتھ منتقل ہوجائے تو ، Rx پن میں وولٹیج تبدیل ہوجاتی ہے۔ اسی طرح ، جب یہ عمودی محور کے ساتھ منتقل ہوتا ہے تو ، Ry پن میں وولٹیج تبدیل ہوجاتی ہے۔ لہذا ہمارے پاس دو ADC آؤٹ پٹس پر جوائسک کے چار رخ ہیں ۔ جب چھڑی کو منتقل کیا جاتا ہے ، تو ہر پن کی وولٹیج سمت کے لحاظ سے اونچی یا کم جاتی ہے۔
سرکٹ ڈایاگرام
اس ارڈینو جوائسک گیم گیم کنٹرولر کو اردوینو اور جوائسک کے مابین روابط کی ضرورت ہے۔
کوڈ اور ورکنگ وضاحت
ڈیمو ویڈیو کے ساتھ مکمل کوڈ آخر میں دیا گیا ہے۔ یہاں ہم اس کے کچھ اہم حصے کی وضاحت کر رہے ہیں۔
سب سے پہلے ، ہمیں کی بورڈ لائبریری کو ابتدا کرنے کی ضرورت ہے
# شامل کریں
اگلے نیچے کوڈ میں ، ہم نے ینالاگ پن A0 اور A1 کیلئے بالترتیب جوائسک ماڈیول کے X اور Y محور کا آغاز کیا ہے۔
بالترتیب مستحکم X_pin اور کانسٹ int Y_pin
VRX پن کی ینالاگ ویلیو پڑھی جاتی ہے اور اگر قیمت 1023 ہے تو پھر "up" کے لئے کمانڈ دیا جاتا ہے اور اگر ویلیو 0 ہے تو پھر "نیچے" کے لئے کمانڈ دیا جاتا ہے۔
اسی طرح ، VRY پن کی ینالاگ ویلیو پڑھی جاتی ہے اور اگر اس کی قیمت 1023 ہے تو پھر "دائیں" کے لئے کمانڈ دی جاتی ہے اور اگر ویلیو 0 ہے تو پھر "بائیں" کے لئے کمانڈ دیا جاتا ہے۔
جوائسک کے پاس بھی اوپر ایک پش بٹن ہوتا ہے لہذا یہ بٹن (SW) بھی پڑھا جاتا ہے اور اگر بٹن دب جاتا ہے تو اس کی قیمت 0 ہوجائے گی تو پھر "enter" کے لئے کمانڈ دیا جاتا ہے۔
آخر میں کوڈ کو آرڈینو میں جلا دیں اور ارڈوینو کو کمپیوٹر سے مربوط کریں۔
اگلے اپنے کنٹرول پینل میں موجود ' ڈیوائسز اور پرنٹرز' کو چیک کریں ، آپ نیچے کی تصویر میں دکھائے گئے مطابق ڈیوائسز سیکشن کے تحت " اردوینو لیونارڈو" دیکھ سکیں گے ۔ اب آپ جوائس اسٹک کے ساتھ کھیلنے کو تیار ہیں۔
ہم اس جوائس اسٹک کا استعمال کرکے کسی بھی گیم کنٹرول کو کنٹرول کرسکتے ہیں۔ جوائسک کے اندر دو پوٹینومیٹر ہیں ، ایک ایکس محور کی نقل و حرکت کے لئے اور دوسرا وائی محور کی نقل و حرکت کے لئے۔ ہر پوٹینومیٹر ارڈینو سے 5v ملتا ہے۔ لہذا ، جیسا کہ ہم جوائس اسٹک کو منتقل کرتے ہیں ، وولٹیج کی قیمت بدلے گی اور ینالاگ پنوں A0 اور A1 میں ینالاگ کی قیمت بھی بدلے گی۔ لہذا جوائس اسٹک بطور گیم پیڈ کام کرے گا۔
لہذا اس طرح ایک عام جوائسک ارڈینو لیونارڈو کو استعمال کرتے ہوئے گیم کنٹرولر میں تبدیل کیا جاسکتا ہے اور بائیں ، دائیں ، اوپر اور نیچے منتقل کرنے کے لئے تمام کنٹرول رکھنے والی گیمز کھیل سکتا ہے۔ جیسا کہ ارلیئر کو بتایا گیا ہے کہ ان بنیادی چار افعال کے علاوہ مزید کنٹرول حاصل کرنے کے لئے ایک سے زیادہ جوائسک کو انٹرفیس کیا جاسکتا ہے۔