جدول المحتويات:

صندوق موسع عصا التحكم في لوحة مفاتيح Arduino وشيء التحكم في الصوت باستخدام Deej: 8 خطوات
صندوق موسع عصا التحكم في لوحة مفاتيح Arduino وشيء التحكم في الصوت باستخدام Deej: 8 خطوات

فيديو: صندوق موسع عصا التحكم في لوحة مفاتيح Arduino وشيء التحكم في الصوت باستخدام Deej: 8 خطوات

فيديو: صندوق موسع عصا التحكم في لوحة مفاتيح Arduino وشيء التحكم في الصوت باستخدام Deej: 8 خطوات
فيديو: كاميرا مراقبه ترصد خططف فتاه الجامعه داخل سياره فيديو للتوعيه؟! الجزء الاول 2024, شهر نوفمبر
Anonim
صندوق موسع عصا التحكم في لوحة مفاتيح Arduino وشيء تحكم في الصوت باستخدام Deej
صندوق موسع عصا التحكم في لوحة مفاتيح Arduino وشيء تحكم في الصوت باستخدام Deej

مشاريع تينكركاد »

لماذا

لفترة من الوقت كنت أرغب في إضافة عصا تحكم صغيرة إلى لوحة المفاتيح للتحكم في عناصر الواجهة ، أو مهام أخرى أصغر في الألعاب وأجهزة المحاكاة (MS Flight Sim ، Elite: Dangerous ، Star Wars: Squadrons ، إلخ).

أيضًا ، بالنسبة لـ Elite: Dangerous ، كنت أعاني من مزج مستويات الصوت من الصوت الخارجي (الموسيقى المدمجة ، رغم أنها جيدة ، تتكرر بعد عدة ساعات باللون الأسود) ، والصوت داخل اللعبة ، ودعم حزمة الصوت الخارجية.

برنامج مزج المصادر المدمج في Windows على ما يرام ، ولكن من الصعب تبديل الشاشات وشرائح التحكم بالماوس في خضم اللعبة. يبدو أن وجود صندوق تحكم موسع بلوحة المفاتيح هو السبيل للذهاب. Deej هو الحل الذي وجدته.

كيف

لقد تعلمت مؤخرًا عن Arduino ، ووجدت مشروع deej على reddit. يبدو أن هذا من شأنه أن يحل هاتين المشكلتين في حزمة واحدة سهلة الاستخدام. وسيسمح لي بتصميم وطباعة علبة ثلاثية الأبعاد أنيقة.

ما هو ديج؟

(من الموقع) deej هو ** خالط حجم أجهزة مفتوح المصدر ** لأجهزة الكمبيوتر التي تعمل بنظام Windows و Linux. يتيح لك استخدام منزلقات واقعية (مثل DJ!) من أجل ** التحكم بسلاسة في أحجام التطبيقات المختلفة ** (مثل مشغل الموسيقى واللعبة التي تلعبها وجلسة الدردشة الصوتية) دون الحاجة إلى إيقاف أي شيء. أنتم تفعلون.

نسختي

للحفاظ على الصندوق صغيرًا ، اخترت المقابض (مقياس الجهد الخطي الدوار (الأواني = المقاومات)) بدلاً من المنزلقات. وظيفيا أنها تعمل نفس الشيء. لا تتضمن تصميمات deej الحالية والشائعة عصا تحكم ، لذلك سيكون هذا نوعًا ما من تصميم مختلط. خلاف ذلك ، إنه بناء بسيط جدًا.

ستعمل Deej مع Arduino Nano أو Pro Micro أو Uno ، لكن Nano و Pro Micro "موصى به رسميًا" من قبل المطور. اخترت Arduino Pro Micro لأنني أردت عصا التحكم ، وتدعمها مكتبة Arduino Joystick. قد أستخدم أيضًا مكتبة Arduino Keyboard Library عندما أرغب في استخدام وظيفة كتم صوت لوحة مفاتيح الوسائط (بدلاً من "كتم الصوت الناعم") باستخدام زر عصا التحكم ، ولكن هذا أبعد ما يكون عن الطريق.

الخطوة 1: المستلزمات

اللوازم
اللوازم
اللوازم
اللوازم
اللوازم
اللوازم

الصندوق

قم بتنزيل ملفات STL (المصممة في Tinkercad):

  • ملفات الضميمة في Prusa (https://www.prusaprinters.org/)
  • Thingiverse (قريبا)

الأجهزة (وحدة الإنتاج)

  • عدد 1 منفذ Arduino Pro Micro
  • 4 × 10 كيلو دوارة (مقبض) مقاييس فرق الجهد (لا أجهزة تحكم دوارة ، استخدم الأواني)
  • 1x Arduino KY-023 جويستيك
  • 5ft خردة كابل شبكة cat5
  • 1x USB A إلى USB B micro cable (USB A هو الموصل المربع الكبير ، USB B micro هو الموجود في Arduino Pro Micro)
  • 1x 5mm أحمر ليد
  • 1x 220 أوم المقاوم

كان لدي بعض الأجزاء الإضافية ، لذلك اعتقدت أنني سأبني وحدة تطوير لاختبار الأشياء. مجرد توصيل الأشياء بلوحة توصيل يسهل تصور الشيء الأخير.

  • عدد 1 منفذ Arduino Pro Micro
  • 4 × 10 كيلو دوارة (مقبض) مقاييس فرق الجهد (لا أجهزة تحكم دوارة ، استخدم الأواني)
  • 1x مفتاح زر الضغط اللحظي (مفتاح إعادة الضبط الثابت)
  • 1x USB A إلى USB B micro cable (USB A هو الموصل المربع الكبير ، USB B micro هو الموجود في Arduino Pro Micro)
  • أسلاك توصيل متنوعة
  • اللوح
  • 1x 5mm أحمر ليد
  • 1x 220 أوم المقاوم

الخطوة الثانية: الضميمة

الضميمة
الضميمة
الضميمة
الضميمة
الضميمة
الضميمة
الضميمة
الضميمة

التصميم

أعجبتني بعض التصميمات الأخرى التي تم تحديدها في معرض مجتمع deej ، لذلك استندت إلى الميزات التي أحببتها:

  • سهل التصميم والطباعة
  • لا تقف في طريق الأجهزة الطرفية الأخرى لسطح المكتب
  • لا تستخدم البراغي أو أدوات التثبيت لتأمين الهيكل
  • جمالية تصميم مماثلة للوحة المفاتيح

لقد قمت بتصميم وطباعة نموذجين أوليين قبل الاستقرار على هذا التصميم النهائي. أحب أن يكون لدي نسخة مادية ألعب بها في المساحة التي أستخدمها فيها لأنها تعطيني إحساسًا أفضل بكيفية عمل الكائن النهائي.

لقد بدأت التصميم لفترة وجيزة في Fusion360 ، لكنني لا أعرف ذلك وكذلك Tinkercad لذا انتقلت وعملت هناك.

نظرًا لأنني أردت تصميمًا بدون براغي ، فقد قمت بإنشاء صندوق متداخل. النموذج الأولي كان له غطاء رقيق وصندوق عميق لكل شيء. استبدل التصميم الثاني ذلك بغطاء عميق وصندوق سفلي ضحل. كان عليها فقط حمل Arduino Pro Mini لذا لم تكن بحاجة إلى أن تكون كبيرة الحجم. كما تضمنت الأيقونات المنقوشة.

تم تغيير حجم التصميم الثالث ليناسب المساحة بجانب لوحة المفاتيح.

الطباعة

لقد قمت بطباعة الصندوق في PLA ، وبرمجة تبديل خيوط / طبقة من الأسود إلى الأحمر للغطاء حيث ستبدأ الرموز في الظهور ، ثم مرة أخرى إلى الأسود لبقية الغطاء.

مشكلة

خلال كل هذا ، كان حامل عصا التحكم يمثل مشكلة. حتى في التصميم الثالث ، تصطدم العصا بالتركيبات في مكان واحد. سيكون للتكرار التالي تصاريح أفضل. كان بإمكاني العمل أكثر على التصميم ولكني أردت الانتقال إلى المرحلة التالية ، التثبيت.

الخطوة 3: الدائرة

الدائرة
الدائرة
الدائرة
الدائرة
الدائرة
الدائرة

أسوأ وظيفة توصيل الأسلاك على الإطلاق

حسنًا ، هذا هو أول مشروع Arduino كامل لي. نعم ، لقد قمت بأشياء على ألواح التجارب من قبل وأنا أستخدم واحدة لبناء نسخة التطوير من هذا ، ولكن فيما يتعلق بالتصنيع والتجميع فعليًا ، هذا هو الأول. لذلك تبدو الأسلاك الخاصة بي مثل حماقة. هناك ، هذا بعيد المنال:)

تحديث: لقد قمت منذ ذلك الحين ببناء واحدة أخرى والأسلاك أجمل بكثير هناك. شاهد الصور:)

وحدة الإنتاج - ما الذي يحدث وأين

Arduino Pro Micro عبارة عن لوحة صغيرة جدًا وستناسب القسم المصبوب في القاعدة. تتلاءم المقابض وعصا التحكم في الفتحات الخاصة بها في الغطاء. لكن لا تقم بتركيب أي شيء حتى تحصل على منافسة لحام.

الأسلاك

لم يكن لدي أي سلك دائرة مناسب ، ولكن كان لدي لفة متبقية من كبل شبكة cat5 صلب النواة ، لذلك هذا ما استخدمته. إنه أكثر صلابة قليلاً وربما أكثر هشاشة من سلك الدائرة الذي تقطعت به السبل ، لكنه يعمل.

بعد وضع المكونات بشكل تقريبي لموضع التثبيت النهائي ، قمت بتقدير المسافة ، لكل سلك ، وأضفت المزيد قليلاً للركود ، وما إلى ذلك ، ثم قص السلك وقصه. لقد تركت الكثير من الركود.

بالإشارة إلى مخطط الأسلاك ، قمت بتشغيل الأرضية المشتركة (أسود) و VCC (أحمر) إلى المقابض وعصا التحكم في المكان المحدد. نظرًا لأن كبل الشبكة لا يأتي بهذه الألوان ، فقد اخترت لونًا وأبقيت الأسلاك الخاصة بي متسقة مع الوظيفة.

القدر الفردي. ركضت الخطوط التناظرية (الصفراء) إلى المسامير A0 - A3. ركضت خطوط جويستيك (البرتقالية) ، التناظرية أيضًا ، إلى دبابيس الإدخال / الإخراج 8 و 9. يجب تعيينها على أنها تناظرية في كود Arduino كـ A8 و A9.

تم تشغيل دبوس مفتاح عصا التحكم (الأزرق) إلى الرقم 7. وسيكون هذا دبوسًا رقميًا في الكود.

عازلة

نظرًا لأنه سيتم حشو هذا السلك الصلب في مساحة صغيرة ، فقد اخترت عزل وصلات اللحام الخاصة بي باستخدام قطعة صحية من الغراء الساخن الذائب. ثم وضع كل شيء في مكانه وقم بإجراء اختبار بسيط على السبورة والأواني باستخدام نسخة من كود Arduino Example AnalogInput - تم تعديله لقراءة جميع الأواني.

الإصدار الثاني

تُظهر الصورتان الأخيرتان أعلاه المربع التالي الذي أقوم ببنائه. سيحتوي هذا الجهاز على 5 مقابض وزر ضغط مؤقت واحد لكتم الصوت. لا توجد عصا تحكم. صندوق بنفس الحجم.

الخطوة 4: الانتهاء من الأجهزة

الانتهاء من الأجهزة
الانتهاء من الأجهزة

بحلول الوقت الذي قمت فيه بتثبيت جويستيك ، أدركت أنه لم يكن هناك الكثير من الخلوص بين اللوحة ورؤوس الدبوس المتبقية على جهاز Pro Micro.

بعد القليل من الانحناء الدقيق لرؤوس الدبوس ، وإعادة تطبيق الغراء المصهور الساخن (للعزل) ، تم إغلاق العلبة بشكل صحيح.

تم تركيب الأواني دون عوائق.

مرة أخرى مع الأسلاك

الأسلاك الصلبة الأساسية صلبة بعض الشيء ، ويمكن أن تكون هشة إذا تم ثنيها عدة مرات ، لذا قم بطيها بعناية (بدون زوايا حادة) في المساحة المتاحة. كان بعضها طويلًا جدًا ويتطلب القليل من الطي الإضافي.

بمجرد وضع كل شيء في مكانه ، فقط ضع القاعدة في الأعلى ويجب أن تنتهي من الأجهزة….

ولكن انتظر هناك المزيد

بالطبع ، بعد بضعة أسابيع من الاستخدام ، قررت أنني بحاجة إلى مؤشر لإعلامني بحالة وظيفة MUTE ذات الترميز الناعم.

بعد تحرير الرمز لإضافته إلى وظيفة LED (انظر القسم التالي) ، قمت بسرعة بلحام مؤشر LED / الأسلاك / المقاوم وتوصيلها باللوحة.

قضيت وقتًا أطول في حفر الفتحة من خلال الجزء العلوي من العلبة لأنني لا أريد أن أفسد النهاية العلوية. لقد قمت بتمييز بقعة مركزية ، وقمت بتدويرها ، ثم غزلت يدويًا لقمة ثقب لعمل الحفرة.

أدى الإيداع الدقيق الإضافي إلى تنظيف الفتحة وضمان وجود ضغط محكم لطيف لضمان عدم بروز مؤشر LED بعيدًا عن السطح العلوي.

الخطوة 5: البرنامج

البرنامج
البرنامج
البرنامج
البرنامج
البرنامج
البرنامج

ملخص

إذن ، هذه عملية من جزأين.

  1. تعرف على كيفية عمل Deej وافهمه وقم بتحرير ملف Config.yaml
  2. قم بتحرير كود Arduino ليتناسب مع الأجهزة والميزات المطلوبة
  3. احصل على مكتبة Arduino Joystick

في حالتي ، أردت هذه الميزات:

  • المقابض التي تتحكم في المستويات (الميكروفون والإخراج)
  • مفتاح كتم الصوت
  • عصا تحكم ذات محورين يتعرف عليها Windows لاستخدامها في التطبيقات

المستويات

يهتم Deej إلى حد كبير بالنقطة الأولى فور ورودها. لم أقم بتعديل هذه الوظيفة

مفتاح كتم الصوت

لقد قررت في وقت مبكر أنني سأستخدم الضغط / التبديل في جويستيك كزر وظيفي لكتم الصوت.

عندما تفحص الكود ، سترى أنني اخترت (في البداية) استخدام كتم الصوت "الناعم" - عند الضغط على الزر ، ينخفض مستوى صوت MIC إلى الصفر (ويضيء مؤشر LED). عند الضغط عليه مرة أخرى ، يعود مستوى صوت MIC إلى الإعداد السابق وينطفئ مؤشر LED.

في النهاية ، سأبحث في تطبيق مكتبة لوحة مفاتيح Arduino لتبديل حالة كتم الصوت من خلال مجموعة رموز لوحة مفاتيح الوسائط الموسعة.

تنفيذ جويستيك

يتطلب ذلك استخدام مكتبة Arduino Joystick لضمان التعرف على عصا التحكم كجهاز HID بواسطة Windows وبالتالي من خلال أي لعبة / تطبيق.

أنا مستجد قليلاً عندما يتعلق الأمر بالبرمجة ووجدت أن وثائق مكتبة جويستيك قليلة بعض الشيء على جانب التنفيذ الفعلي - لكن القليل من البحث المركّز على googling قادني إلى أمثلة أخرى ساعدتني على فهم ما يجري. تحقق من قسم الموارد في النهاية للحصول على التفاصيل.

كل ما كان علي فعله هو تحديد دبابيس X / Y ، وقراءة حالتها وإرسالها إلى مكتبة جويستيك. ظهر Arduino على أنه ليوناردو لنظام التشغيل Windows ، وتم تكوينه بشكل صحيح كجهاز جويستيك.

لقد تمكنت من إعداده في Elite Dangerous ، جنبًا إلى جنب مع إعداد HOTAS الحالي الخاص بي ولدي عصا التحكم تتحكم بشكل صحيح في الأشياء ولا تتعارض مع HOTAS. كما أنه يعمل بشكل جيد في Star Wars: Squadrons - لقد قمت بتعيينه كبديل سريع لإعداد الدروع أثناء القتال.

الملفات التي تعمل مع إعداد جويستيك الخاص بي

لقد قمت بتحميل ملفاتي الحالية (أكتوبر 2020) إلى Codepile.

  • كود اردوينو (ملف.ino)
  • ملف التكوين ديج

الخطوة 6: النهاية

نهاية
نهاية

حسنًا ، تم الانتهاء من هذا. إنه يعمل وأنا سعيد إلى حد ما بكيفية ظهوره معًا. وتعلمت المزيد عن تصميم الأجهزة والتكامل وبرمجة Arduino.

الخطوة السابعة: إضافة.. دوم.. دوم

إضافة.. دوم.. دوم
إضافة.. دوم.. دوم

VLC - يتميز مشغل الصوت والفيديو الرائع هذا بقليل من الغرابة حيث يقفز مستوى الصوت ، عند التحكم فيه خارجيًا ، من 0٪ إلى 27٪ ish. لا يحدث هذا عند ضبط المستوى باستخدام التحكم في مستوى الصوت في واجهة التطبيق ، فقط باستخدام عناصر تحكم خارجية مثل Deej.

سرعان ما وجد مطور Deej حلاً بديلاً في VLC يقوم بهذه المهمة ، انظر الصورة أعلاه:

"… إذا كنت ترغب في تعطيل سلوك" التتبع "هذا ، فيمكنك القيام بذلك عن طريق تغيير وحدة إخراج الصوت الخاصة بـ VLC. لقد استخدمت DirectX في محاولاتي هنا. ستحتاج إلى إعادة تشغيل VLC حتى يسري التغيير. (ستظل لديك جلسة صوت Windows وتكون قادرًا على التحكم فيها عبر deej ، فهذا سيمنع شريط مستوى الصوت VLC من التحرك معه)"

الخطوة 8: موارد إضافية

مصادر إضافية
مصادر إضافية

تم العثور عليها عبر Goog العظيم ، المدرجة بدون ترتيب معين …

  • مكتبة Arduino Joystick (v2) - ضرورية لدمج عصا التحكم
  • دليل ربط Sparkfun Pro Micro - مورد جيد حول Arduino
  • deej - البرنامج الذي يقود المقابض
  • أنواع موصل USB - من كان يعلم أن هناك العديد من المتغيرات؟
  • اردوينو برو مايكرو انالوج Pinouts
  • Arduino Leonardo Gaming Joystick - ليوناردو مشابه لـ Pro Micro ، ولكنه أكبر فقط
  • لم يتم اكتشاف منفذ Arduino Pro Micro (Clone) (الحل) - عندما تقوم بتجميع Pro Micro (فعلت)
  • Arduino Leonardo / Micro كوحدة تحكم ألعاب / عصا تحكم
  • مثال على استخدام مفتاح وسائط متعددة لكتم الصوت - باستخدام مكتبة مشروع HID
  • HID على سبيل المثال رمز مكتبة مشروع لإيقاف / تشغيل الوسائط
  • مثال رمز آخر يظهر وحدة تحكم لوحة الألعاب.
  • ArduinoGamingController_updated - وصف كود جيد لاستخدام مكتبة جويستيك
  • أداة حاسبة LED Resistor thingie - لمعرفة حجم المقاوم الذي تحتاجه في مشروعك
  • مكتبة الأيقونات - flaticon.com - مصدر الصور المستخدمة فوق المقابض
  • أداة أخرى لفك ترميز ألوان المقاوم - انقر فوق اللون والفيولا!

موصى به: