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

اردوينو أونو ميدي فايتر: 5 خطوات
اردوينو أونو ميدي فايتر: 5 خطوات

فيديو: اردوينو أونو ميدي فايتر: 5 خطوات

فيديو: اردوينو أونو ميدي فايتر: 5 خطوات
فيديو: Making a custom macro keyboard with REAL arcade buttons 2024, يوليو
Anonim
اردوينو أونو ميدي فايتر
اردوينو أونو ميدي فايتر

تم إنشاء هذا التوجيه استيفاءً لمتطلبات مشروع Makecourse في جامعة جنوب فلوريدا (www.makecourse.com)

استنادًا إلى MidiFighter الشهير بواسطة DJ Techtools ، يمكن استخدام وحدة التحكم بالواجهة الرقمية للآلات الموسيقية (MIDI) محلية الصنع التي تعمل بالطاقة من Arduino كجهاز MIDI عبر أي برنامج محطة عمل صوتية رقمية (DAW). يمكن لوحدة تحكم MIDI إرسال واستقبال رسائل MIDI من جهاز كمبيوتر ويمكن استخدامها للتحكم المباشر في أي برنامج يتم استخدامه. بالإضافة إلى ذلك ، فإن عناصر التحكم الموجودة على وحدة تحكم MIDI قابلة للتخصيص بالكامل - مما يعني أنه يمكن تعيين كل زر ومزلق ومقبض على أي وظيفة في DAW. على سبيل المثال ، يمكن أن يؤدي الضغط على زر إلى تشغيل ملاحظة معينة أو برمجتها لتبديل وتيرة مشروعك الصوتي.

github.com/jdtar/Arduino-Midi-Controller

الخطوة 1: المواد

فيما يلي قائمة بالمواد والأدوات المستخدمة في هذا المشروع.

اردوينو اونو

اللوح

4051/4067 معدد

أسلاك العبور

سلك إضافي

2x 10 كيلو أوم مقياس جهد منزلق خطي

16x أزرار سانوا 24 ملم

الانكماش الحراري

لحام حديد

شفرة حلاقة

4.7 kΩ المقاوم

لوح أكريليك (للغطاء)

غلاف للأزرار واردوينو

طابعة 3D

قاطع ليزري

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

تصميم
تصميم
تصميم
تصميم

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

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

مرفق بملف PDF 1: 1 والذي يمكن طباعته كملف 1: 1 وقصه باستخدام أدوات كهربائية في حالة عدم توفر أداة القطع بالليزر.

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

البناء والأسلاك
البناء والأسلاك
البناء والأسلاك
البناء والأسلاك
البناء والأسلاك
البناء والأسلاك

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

استغرق توصيل المكونات السلكية بعض التجربة والخطأ ولكن نتج عنها إرفاق مخطط فريتزينج. قمت أولاً بتوصيل الأسلاك الأرضية والمقاوم 4.7kΩ ، الملحوم والحرارة قلص التوصيلات على الأزرار. يتطلب تركيب مقياسي فرق الجهد المنزلق ثقوب صهر للبراغي في الأكريليك. بعد أن تم شد مقياسي فرق الجهد ، تم توصيلهما بمسامير تناظرية A0 و A1. بعد اكتمال الأسلاك ، تذكرت أنه لا توجد أغطية للمقبض لمخففاتي ، لذا بدلاً من شرائها ، قمت بطباعة بعض أغطية المقبض باستخدام طابعة ثلاثية الأبعاد عن طريق رسمها في Autodesk Fusion 360 والتصدير إلى ملف STL. دي

يحتوي Arduino Uno فقط على 12 دبوس إدخال رقمي متاح ولكن كان يجب توصيل 16 زرًا. للتعويض عن ذلك ، قمت بتوصيل جهاز 74HC4051 Multiplexer على لوحة التجارب التي تستخدم 4 دبابيس إدخال رقمية وتمكن إشارات متعددة من استخدام خط مشترك ينتج عنه 8 دبابيس إدخال رقمية متاحة لما مجموعه 16 دبوسًا رقميًا متاحًا للاستخدام.

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

مصفوفة الملاحظات

[C2] [C # 2] [D2] [D # 2]

[G # 2] [A1] [A # 2] [B1]

[E1] [F1] [F # 1] [G1]

[C2] [C # 2] [D2] [D # 2]

مصفوفة PIN (M = MUX INPUT)

[6] [7] [8] [9]

[10] [11] [12] [13]

[M0] [M1] [M2] [M3]

[M4] [M5] [M6] [M7]

الخطوة 4: البرمجة

برمجة
برمجة

بمجرد اكتمال التجميع ، فإن برمجة Arduino هي كل ما تبقى. النص المرفق مكتوب بطريقة تجعله سهل التخصيص.

تتضمن بداية البرنامج النصي مكتبة MIDI.h ومكتبة وحدة تحكم مستعارة من مدونة Notes و Volts والتي تم تضمينها في الملف المضغوط للرمز. باستخدام مكتبة وحدة التحكم ، يمكن إنشاء كائنات للأزرار ومقاييس الجهد والأزرار متعددة الإرسال تحتوي على قيم البيانات التي تشمل رقم الملاحظة وقيم التحكم وسرعة الملاحظة ورقم قناة MIDI وما إلى ذلك. تتيح مكتبة MIDI.h اتصالات MIDI I / O على منافذ Arduino التسلسلية والتي بدورها تأخذ البيانات من كائنات وحدة التحكم ، وتحولها إلى رسائل MIDI وترسل الرسائل إلى أي واجهة ميدي متصلة.

يقوم جزء الإعداد الخالي من البرنامج النصي بتهيئة جميع القنوات في وضع إيقاف التشغيل ويبدأ أيضًا اتصالًا تسلسليًا عند 115200 باود ، وهو معدل أسرع من إشارات MIDI التي يتم تبادلها.

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

الخطوة 5: الإعداد

Image
Image
اقامة
اقامة
اقامة
اقامة
اقامة
اقامة

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

في OSX ، قامت Apple بدمج ميزة لإنشاء أجهزة midi افتراضية يمكن الوصول إليها من خلال تطبيق Audio Midi Setup على أجهزة Mac. بمجرد إنشاء الجهاز الجديد ، يمكن استخدام Hairless MIDI لإنشاء اتصال تسلسلي بين Arduino وجهاز midi الافتراضي الجديد. يعمل الاتصال التسلسلي من Arduino عبر Hairless MIDI بمعدل الباود المحدد في جزء إعداد الفراغ من البرنامج النصي ويجب تعيينه بشكل مكافئ في إعدادات تفضيل Hairless MIDI.

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

موصى به: