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

وحدة تحكم Arduino MIDI لـ Aalto: 7 خطوات
وحدة تحكم Arduino MIDI لـ Aalto: 7 خطوات

فيديو: وحدة تحكم Arduino MIDI لـ Aalto: 7 خطوات

فيديو: وحدة تحكم Arduino MIDI لـ Aalto: 7 خطوات
فيديو: Web Programming - Computer Science for Business Leaders 2016 2024, شهر نوفمبر
Anonim
وحدة تحكم Arduino MIDI لآلتو
وحدة تحكم Arduino MIDI لآلتو

لكوني موسيقي هاوٍ ، فأنا غالبًا ما أذهب من التناظرية Synths إلى VSTs.

عندما أكون في حالة مزاجية "VST" ، فأنا حقًا أعشق آلة واحدة رائعة: Aalto VST من Madronalab

إن VST المذهل هذا مرن للغاية ، فهو يولد أصواتًا جيدة جدًا ويسهل استخدامه بسعر معقول.

ومع ذلك ، فإن قيدي الخاص بـ VSTs هو أنني لا أستطيع حقًا لمس عناصر التحكم ويجب علي استخدام الماوس / لوحة التتبع الخاصة بي أثناء التشويش - ليس الأفضل. أمتلك وحدة تحكم MIDI لكن المقابض لا تعكس واجهة Aalto الحقيقية.

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

لذلك أردت إنشاء وحدة تحكم MIDI مخصصة لـ Aalto بتصميم يعكس واجهة Aalto للتحكم في الأشياء الأكثر صلة.

تابعوني على Instagram لمشاهدة المزيد من مقاطع الفيديو للعملية: أغرب وأعذر

أنا ، على Spotify:

اللوازم

- 1 Arduino Mega- 14 مقياس جهد (لقد استخدمت تلك المقاييس -> PTV09A-4020F-B103) - لوح تجارب للنماذج الأولية - أوصي حقًا باستخدام لوح التحكم الكهربائي لملفات تعريف الارتباط وهو جيد جدًا للحام (اللون الأزرق في الصورة) - خشب رقائقي - لحام حديد - شريط نحاسي - أسلاك قفز

الخطوة 1: صمم بنفسك

صمم بنفسك
صمم بنفسك
صمم بنفسك
صمم بنفسك
صمم بنفسك
صمم بنفسك
صمم بنفسك
صمم بنفسك

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

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

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

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

الخطوة 2: اللحام والأسلاك

اللحام والأسلاك
اللحام والأسلاك
اللحام والأسلاك
اللحام والأسلاك
اللحام والأسلاك
اللحام والأسلاك
اللحام والأسلاك
اللحام والأسلاك

عندما يكتمل التصميم الخاص بك ، يمكنك الذهاب إلى الإلكترونيات!

ملاحظة: أفترض أنك تعرف نوعًا ما كيفية عمل هذه المواد ، لذا لن أخوض في تفاصيل اللحام والوصلات.

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

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

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

لكن مهلا ، تبدو جيدة جدًا في النهاية.

إن جعل الأسلاك تدور حولها أمر مؤلم بعض الشيء: ربما يكون وضع اللمسات الأخيرة على هذه اللوحة هو الشيء الذي استغرق معظم الوقت.

كان استخدام لوحة perfboard الزرقاء (تسمى Electro Cookie على Amazon) أفضل بكثير: فهي متصلة مثل اللوح ، ويمكنك تجنب استخدام الشريط النحاسي نظرًا لأن المسامير والأسلاك متصلة بالفعل عند لحامها على نفس الكتلة.

أيضًا ، يمكنك التقاطها بيديك إلى قطع أصغر وهو أفضل بشكل رهيب.

الثقوب أكبر ومغلفة بالنحاس مما يجعل اللحام سريعًا ونظيفًا.

استغرق الأمر من 3 إلى 4 أيام لعمل أول لوح أصفر ، بضع ساعات فقط لعمل اللوحين الآخرين.

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

الخطوة 3: من الأجهزة إلى البرامج

من الأجهزة إلى البرامج
من الأجهزة إلى البرامج

الآن لديك كل ما تبذلونه من الأشياء المتصلة ونأمل أن تكون قد أجريت الاختبارات الخاصة بك للتحقق من Vcc و GND الخاص بك على ما يرام.

ربما تكون مقاييس الجهد هي أسهل شيء تبدأ به على Arduino.

لديهم ثلاثة دبابيس: أحدهما لـ GND والآخر لـ 5V. الدبوس المركزي هو نوع من "خرج" مقياس الجهد. إذا قمت بتوصيل GND بالدبوس الأيسر ، 5V بالدبوس الأيمن وقمت بإدارة القدر في اتجاه عقارب الساعة ، سترى القيمة تزداد على "خرجها" بين 0 إلى 5V.

ينتقل الدبوس المركزي إلى أحد "المدخلات التناظرية" في Arduino والذي سيأخذ عينات من القيمة وسيترجمها إلى رقم رقمي: يترجم Arduino Mega 2560 القيم من 0 إلى 1023 (سيعطي الرقم 0 عندما يكون القدر كله الطريق من خلال اليسار ، 1023 عندما يكون طول الطريق من خلال اليمين ، 5 فولت).

ضع في اعتبارك أن MIDI يقبل القيم من 0 إلى 123 لذلك ستحتاج إلى تقسيم قيمة Arduino على 8 قبل إرسال قيمة العدد الصحيح عبر المسلسل.

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

تمت كتابة الكود الخاص بي لمعالجة النقاط الثلاث أعلاه وهو يعمل بشكل جيد.

الخطوة 4: كيف يعمل MIDI

MIDI هو بروتوكول قديم جدًا ، تم تصميمه وإنشاءه لجعل أجهزة الكمبيوتر والأجهزة تعمل معًا.

هناك شرح شامل لكيفية عمل MIDI: عندما يتعلق الأمر بإرسال الملاحظات ، هناك الكثير من الإشارات التي يمكنك إرسالها ولكن في حالتنا ، كل شيء بسيط للغاية.

نحن نعمل مع Control Change (MIDI) لذلك نحتاج إلى استخدام إحدى هذه القنوات المذكورة في هذا الجدول:

www.midi.org/specifications-old/item/table…

من 176 إلى 191.

عندما ترسل قيم MIDI / CC ، يجب عليك إرسالها عبر التسلسل: - بايت الحالة (العمود الأول من الجدول) لإخبار DAW الخاص بك أنك ترسل CC - أي عنصر تحكم - في هذه الحالة ، أي KNOB - يرسله (عدد صحيح) - قيمة عنصر التحكم

في حالتي ، لدي 14 مقبض ، لذا قد تكون الرسالة:

Serial.write (176 ، 13 ، 107)

يرسل Knob 13 قيمة 107 عبر CC.

يقبل MIDI القيم من 0 إلى 123 بينما يقرأ Arduino القيم التناظرية من 0 إلى 1023 - فقط تذكر أن تقسم على 8 قبل صنفرة القيمة.

الخطوة 5: كيفية إرسال MIDI عبر USB على Arduino

لديك خياران لإرسال MIDI عبر USB باستخدام Arduino:

  • وميض وحدة تحكم Arduino USB داخلية (موصى به في نهاية مشروعك)
  • ترك مخزون Arduino واستخدام برنامج على جهاز الكمبيوتر الخاص بك (هذا واحد) موصى به للغاية

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

أنت تعيده إلى المخزون. Unplug. Plug-in. Amend the code. Upload. Flash. UnplugPlugin [REPEAT AND CRY]

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

ومن ناحية أخرى ، فإن Hairless سهل الاستخدام للغاية لأنك لست مضطرًا إلى وميض أي شيء - إذا كنت تستخدم جهاز Mac ، فإنه يعمل بشكل مثالي مع إعداد MIDI وستتعرف عليه DAW على الفور على أنه "وحدة تحكم متوسطة خالية من الشعر". أفضل.

الخطوة 6: وقت البرمجة

وقت الترميز!
وقت الترميز!

ليس هناك الكثير لأقوله هنا لأنني قمت بنشر الكود الخاص بي على Github وعلقت على الكود بقدر ما أستطيع.

فقط تذكر بعض الأشياء الأساسية:

  1. القيم الكهربائية تتقلب
  2. لا تريد إغراق منصة العمل الصوتية بإشارات CC غير الضرورية
  3. لا تريد إرسال رسالة نسخة مكررة

يتم شرح كل شيء في الكود الخاص بي ويمكنك العثور عليه هنا

الخطوة 7: ضع الأشياء الخاصة بك معًا

ضع الأشياء الخاصة بك معًا
ضع الأشياء الخاصة بك معًا
ضع الأشياء الخاصة بك معًا
ضع الأشياء الخاصة بك معًا
ضع الأشياء الخاصة بك معًا
ضع الأشياء الخاصة بك معًا

الآن تعمل التعليمات البرمجية الخاصة بك والشيء الوحيد الذي عليك فعله هو تجميع الأشياء معًا.

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

موصى به: