اردوينو ميدي تحكم القدم: 12 خطوة
اردوينو ميدي تحكم القدم: 12 خطوة
Anonim
اردوينو ميدي تحكم القدم
اردوينو ميدي تحكم القدم

لقد قمت مؤخرًا بتصميم وحدة تحكم MIDI لتشغيل عبارة looper المضمنة في دواسة تأخير Boss DD500. أتحكم في جهاز الجيتار بالكامل باستخدام لوحة Behringer FCB MIDI ، وهذا يسمح لي بتغيير البقع على دواسة التأخير في حلقة التأثيرات ، أثناء تبديل قنوات الأمبير في نفس الوقت.

يحتوي DD500 على وظيفة looper أساسية جدًا مدمجة ولكن أحد عيوبها أنه عندما يكون Looper نشطًا ، يتم التحكم فيه بواسطة مفاتيح القدم على الدواسة. هذا يعني أنه لا يمكنك تغيير التصحيحات على الدواسة أثناء تنشيط الحلقة ، حيث إنها تلتقط بشكل أساسي وظائف مفاتيح القدم. نظرًا لأنني أستخدم MIDI ، فإن هذا القيد غير موجود ، لأنه مجرد مشكلة مادية. هذا يعني الاحتفاظ بـ 5 مفاتيح قدم على وحدة تحكم MIDI الرئيسية الخاصة بي للوبير ، ولذا قررت إنشاء وحدة تحكم منفصلة لهؤلاء.

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

الخطوة 1: المفاهيم

المفاهيم
المفاهيم
المفاهيم
المفاهيم

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

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

الخطوة 2: بروتويبنج اللوح

بروتويبينج اللوح
بروتويبينج اللوح
بروتويبينج اللوح
بروتويبينج اللوح

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

تحتوي الدواسة على 5 مفاتيح للقدم و 4 مصابيح LED للحالة و 5 شاشات I2C LCD ويتم التحكم فيها بواسطة Arduino Nano Every. يحصل على الطاقة من PSU بدواسة جيتار 9 فولت عن طريق صندوق فصل منفصل يحمل هذه الطاقة عبر كابل MIDI باستخدام دبابيس التي لا تستخدم عادة في موصل MIDI.

الخطوة الثالثة: التصنيع

تلفيق
تلفيق
تلفيق
تلفيق
تلفيق
تلفيق

نظرت في الكثير من الحالات المحتملة لإسكان المشروع ، بل وفكرت في فكرة محاولة ثني حالتي من صفائح الألمنيوم. في النهاية ، استقرت على حاوية Hammond التي كانت واسعة بما يكفي لإيواء 5 شاشات LCD 16X2 التي اخترتها.

كانت مفاتيح القدم عبارة عن مفاتيح مؤقتة ذات ملمس ناعم.

في هذه المرحلة ، قررت أن أحصل على حواف شاشة مخصصة للتثبيت للحفاظ على المظهر الأمامي نظيفًا ، حيث كنت سأقطع ثقوب الشاشة يدويًا باستخدام Dremel وكنت أعلم أنه من المحتمل أن يكون هناك عدد قليل من المناطق التي كانت أقل من مثالية. لقد قمت بقص هذه بواسطة استوديو تصميم محلي يقوم بالقطع بالليزر ، أولاً كقوالب من الورق المقوى للتأكد من أن جميع مقاساتي صحيحة ، ثم أكريليك أبيض 3 مم للقطعة النهائية.

الخطوة 4: CAD Mock-up and Layout

نموذج CAD والتخطيط
نموذج CAD والتخطيط
نموذج CAD والتخطيط
نموذج CAD والتخطيط

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

الخطوة 5: تصميم ثنائي الفينيل متعدد الكلور

تصميم ثنائي الفينيل متعدد الكلور
تصميم ثنائي الفينيل متعدد الكلور
تصميم ثنائي الفينيل متعدد الكلور
تصميم ثنائي الفينيل متعدد الكلور
تصميم ثنائي الفينيل متعدد الكلور
تصميم ثنائي الفينيل متعدد الكلور
تصميم ثنائي الفينيل متعدد الكلور
تصميم ثنائي الفينيل متعدد الكلور

لإنشاء PCB ، استفدت من موقع ويب يسمى EasyEDA. إنه يتميز ببيئة محرر يمكنك من خلالها رسم تخطيطي لمكوناتك ، وتحويله إلى تخطيط ثنائي الفينيل متعدد الكلور ، ثم تصديره مباشرة إلى JLCPCB لتحويله إلى لوحات. لم أفعل شيئًا كهذا من قبل ، لكن لديهم دليلًا ممتازًا على الموقع يشرح كيفية عمل المحرر ، وفي غضون ساعة تم تصميم اللوحة وطلبها.

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

وصلت المجالس بعد حوالي أسبوعين وعملت لحسن الحظ دون أي مشاكل.

الخطوة 6: حوامل الشاشة

حوامل الشاشة
حوامل الشاشة
حوامل الشاشة
حوامل الشاشة
حوامل الشاشة
حوامل الشاشة

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

بمجرد حفر جميع الثقوب ، تم تركيب الشاشات وفحصها للتربيع عن طريق إمساك المسطرة مقابل الحواف السفلية المسطحة. كل شيء اصطف حتى الآن.

الخطوة 7: الضميمة

نسيج
نسيج
نسيج
نسيج
نسيج
نسيج

التالي كان تعديل القضية. كانت مفاتيح القدم ومصابيح LED واضحة ومباشرة حيث تطلب كل منها ثقبًا بحجم 12 مم و 5 مم على التوالي.

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

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

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

الخطوة 8: عذرًا

اه اوه
اه اوه
اه اوه
اه اوه
اه اوه
اه اوه

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

الخطوة 9: الطلاء

رسم
رسم
رسم
رسم
رسم
رسم

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

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

الخطوة 10: الأسلاك

الأسلاك
الأسلاك
الأسلاك
الأسلاك
الأسلاك
الأسلاك
الأسلاك
الأسلاك

كان الجزء الأخير من التجميع المادي هو توصيل كل شيء. مرة أخرى ، ظهرت المشكلات المتعلقة بتصميم العلبة / تصميم ثنائي الفينيل متعدد الكلور مرة أخرى ، وكانت بعض مواضع الرأس على PCB تعني عبور الكثير من الأسلاك فوق بعضها البعض ، مما يجعل الأمور أكثر فوضوية قليلاً مما كنت أتمنى.

تم تجميع الأسلاك الخاصة بالشاشات في مجموعات من 4 ، وباستخدام غلاف حراري ولفائف مضفرة ، تم تصنيعها في قطعة واحدة.

الخطوة 11: كود اردوينو

Image
Image

كمبتدئ كليًا في ترميز Arduino ، كنت أقوم بتدريس نفسي أثناء تقدمي. ربما تكون الشفرة هي المكافئ البرمجي لـ "طريق طويل" ، لكنني كنت سعيدًا لأنها عملت على النحو المنشود.

يحتوي اللوبير الموجود على DD500 على 5 وظائف أساسية:

  • Looper on / Off
  • سجل / Overdub / تشغيل
  • تشغيل حلقة مسجلة
  • أوقف التشغيل
  • مسح الحلقة المسجلة

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

كانت إحدى الميزات الأخرى التي أضفتها هي تتبع عدد المرات التي تم فيها تنشيط ميزة التسجيل / overdub. يتم تتبع ذلك في الكود عن طريق زيادة عدد صحيح ، والذي يتم عرضه على شاشة "المخزن المؤقت" ، مع سرد عدد المسارات المسجلة. بينما لا يمكن لـ DD500 محو المسارات الفردية ، فقد أضفت هذا فقط كتمرين ترميز لمعرفة ما إذا كان بإمكاني إنجاحه.

يبدو أن هناك مشكلة في تحميل الملفات إلى Instructables ، ولذا فقد وضعت نسخة من الكود على Pastebin بدلاً من ذلك على:

تم استخدام مكتبتين في الكود:

LiquidCrystal_I2C

مكتبة FortySevenEffects MIDI

الخطوة 12: الخاتمة

استنتاج
استنتاج

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