جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
مع Microsoft Flight Simulator 2020 ، أدركت بسرعة مدى صعوبة استخدام لوحة المفاتيح لتنفيذ خطة. أثناء البحث على الإنترنت ، لم أتمكن من العثور على عصا تحكم بسعر معقول للشراء. معظم بائعي التجزئة على الإنترنت نفد منهم المخزون. أدت شعبية MS Flight Simulator و COVID 19 إلى القضاء على جميع مخزونات عصا التحكم الحالية. كان خياري الوحيد هو بناء واحدة بنفسي.
تستخدم معظم أذرع التحكم مقاييس فرق الجهد في القاعدة لتحديد زوايا عصا التحكم وإرسال معلومات المحور x و y مرة أخرى إلى الكمبيوتر. يعمل هذا بشكل جيد ولكنه يعقد بناء ذراع التحكم. وبمرور الوقت. قد تبلى مقاييس الجهد. بدلاً من استخدام مقاييس الجهد ، قررت استخدام لوحة مستشعر مقياس التسارع / الجيروسكوب لإرسال المعلومات إلى الكمبيوتر على زوايا العصا.
مع شعبية العديد من معالجات Arduino الدقيقة وأجهزة الاستشعار المختلفة ، أصبحت تكلفة إنشاء مشروع Arduino أكثر بأسعار معقولة. يعد MPU-6050 أحد أكثر لوحات مستشعرات التسارع / الجيروسكوب شيوعًا. في كندا ، تكلف حوالي 7 دولارات كندي في أمازون. لقد حصلت على منجم من eBay تم شحنه من الصين مقابل أقل بكثير ، لكن وقت الشحن كان مثل 3 أشهر أو أكثر.
www.amazon.ca/Neuftech-MPU-6050-3-Gyroscop…
ستعمل أي لوحة Arduino ، ولكن استخدام اللوحة المستندة إلى ATmega32u4 سيكون أبسط بكثير ، لأن ATmega32u4 لديه دعم HID (جهاز واجهة بشرية) أصلي. بمجرد برمجة اللوحة ، يمكنك استخدامها على أي جهاز كمبيوتر يعمل بنظام Windows 10 ولا يلزم وجود برامج إضافية. سيتعرف Windows 10 عليه تلقائيًا على أنه عصا تحكم عند توصيل USB. (استخدام لوحة Arduino من النوع الآخر معقد للغاية بالنسبة لمشروع البناء البسيط هذا).
اخترت لوحة Arduino Leonardo. 17 دولارًا أمريكيًا من أمازون.
www.amazon.ca/KEYESTUDIO-Leonardo-Developm…
هذان الجهازان هما المتطلبات الرئيسية لهذا المشروع. العناصر الأخرى الأصغر مثل الأسلاك وأزرار الضغط ضرورية أيضًا. في هذا المشروع ، استخدمت فقط زرين ضغط من أجل البساطة.
مقبض عصا التحكم مصنوع من أنبوب مياه PVC الخردة. يمكن استبدال هذا بسهولة بأي أنبوب صلب قصير.
قاعدة عصا التحكم عبارة عن سدادة باب زنبركية مثبتة على قطعة من الخشب.
توقف الباب الربيعي متاح من Home Depot مقابل 2.83 دولار كندي.
www.homedepot.ca/product/everbilt-spring-d…
الخطوة 1: توصيل MPU6050 وأزرار الضغط بلوحة Arduino Leonardo
يتم استخدام 4 اتصالات فقط في MPU 6050. وهي تحمل علامات VCC و GND و SCL و SDA.
قم بتوصيل VCC بـ 5v أو 3.3v على Arduino Leonardo. (يمكن أن تستخدم MPU 6050 إما 5 فولت أو 3.3 فولت. لا يهم)
قم بتوصيل GND بأي GND على Arduino Leonardo.
قم بتوصيل SCL بـ SCL على Arduino Leonardo.
قم بتوصيل SDA بـ SDA على Arduino Leonardo.
لا أستخدم سوى زري ضغط لغرض العرض هذا.
يتم استخدام زر الضغط الأول لإعادة ضبط مركز عصا التحكم. في هذا المثال ، يتم توصيل أحد طرفي زر الضغط بـ GND وطرف آخر بـ PIN 13.
يتم استخدام زر الضغط الثاني كزر عصا تحكم. في هذا المثال ، يتم توصيله بـ PIN 9 و GND.
يمكنك إضافة أزرار إضافية حسب الحاجة في مشروعك.
الخطوة الثانية: بناء قاعدة جويستيك
ابحث عن قطعة من كتلة الخشب. الأثقل كان ذلك أفضل. سيجعل قاعدة عصا التحكم أكثر استقرارًا.
قم بربط سدادة الباب الزنبركية في وسط الكتلة الخشبية كما هو موضح في الصورة.
استخدم قطعة من الأنبوب القصير كمقبض عصا التحكم. لقد استخدمت أنبوب PVC كشط. قم بدس السلك بحيث يكون مستشعر التسارع / الجيروسكوب أعلى الأنبوب.
ثم ضع الأنبوب فوق سدادة الباب الزنبركية. لقد استخدمت شريطًا كهربائيًا لشريط المستشعر في الأعلى.
الخطوة 3: إعداد Arduino IDE
قم بتنزيل Arduino IDE وتثبيته.
لقد استخدمت Arduino 1.8.13 لهذا المشروع. يمكن استخدام Arduino Web Editor لهذا المشروع أيضًا.
2 مكتبات مستخدمة.
1. MPU6050_tockn بواسطة tockn
github.com/Tockn/MPU6050_tockn
أو يمكنك العثور عليها في قائمة "إدارة المكتبة".
2. مكتبة جويستيك بواسطة ماثيو هيرونيموس
github.com/MHeironimus/ArduinoJoystickLibr…
هذا واحد متاح حاليًا فقط من موقع GitHub.
انقر فوق Download Code و Download ZIP. قم باستخراج ملف ZIP إلى دليل مكتبات Arduino.
في حالتي ، إنها E: / PinChung / Documents / Arduino / libraries
الخطوة الرابعة: برنامج اردوينو
قم بتحميل Pin_Joystick.ino على Arduino IDE وقم بالتجميع والتحميل على لوحة Leonardo.
تأكد من تحديد لوحة Arduino Leonardo وتحديد رقم المنفذ في COM الصحيح: ضمن قائمة الأدوات.
لقد لاحظت بعض الوقت ، تعذر تحميل البرنامج مع وجود رمز خطأ لمنفذ COM غير متوفر. قد يساعد الضغط على زر إعادة الضبط على لوحة ليوناردو عدة مرات أثناء التجميع. قد تساعد أيضًا إعادة تشغيل Windows 10 في تحرير منفذ COM.
بمجرد تحميل البرنامج على لوحة Leonardo ، يجب أن يكتشف Windows 10 تلقائيًا Leonardo Joystick. في شريط بحث Windows 10 ، اكتب Game Controllers ، وقم بتشغيل Set up USB Game Controllers.
حدد Leonardo Joystick وانقر فوق Properties. يجب أن يتم التقاط حركة ذراع التحكم وزر عصا التحكم رقم 1 بواسطة Windows 10.
إذا لم تكن عصا التحكم في المنتصف ، فعندما تتركها ، انقر على زر إعادة تعيين عصا التحكم الذي أنشأناه للتو. يجب أن تعرض أجهزة التحكم في ألعاب USB نقطة عصا التحكم في المنتصف. ليست هناك حاجة لمعايرة عصا التحكم في برنامج USB Game Controller..
ملاحظة جانبية: بالنسبة لأولئك الذين ليسوا على دراية بـ Arduino Leonardo ، عندما يتم تكوين الجهاز كعصا تحكم أو ماوس أو لوحة مفاتيح ، فلن يعمل المنفذ التسلسلي. لذلك لن يعمل "Serial.print ()". أيضًا ، يستخدم MPU6050 مكتبة الأسلاك i2c ويستخدم دبابيس SDA و SLC. في ليوناردو ، تستخدم SDA و SCL كلاً من PIN 2 و PIN 3 ، لذلك لا تستخدم هذين الدبابيس لأي شيء آخر.
الخطوة الخامسة: اختبار عصا التحكم
لقد اختبرت ذلك على Microsoft Flight Simulator 2020 وهو يعمل بشكل جيد للغاية. لا بد لي من الضغط على مفتاح الوسط في بعض الأحيان لصفر عصا التحكم. قد تنجرف قيمة مستشعر MPU6050 قليلاً بمرور الوقت.
هناك الكثير من الفرص للإنفاق على المشروع ، مثل إضافة المزيد من الأزرار وإضافة عناصر تحكم دواسة الوقود. نأمل أن يلهم هذا المصلحين الآخرين لاستكشاف طرق جديدة لصنع الأشياء.