الإعلانات

بصفته موسيقيًا جمع مجموعة من الآلات الموسيقية وصناديق الضجيج ، فإن Arduino المتواضع هو الأداة المثالية لإنشاء وحدة تحكم MIDI مخصصة. في حين أن Raspberry Pi قد اتخذ التاج من أجله إنترنت الأشياء (IoT) إنترنت الأشياء: 10 منتجات مفيدة يجب تجربتها في عام 2016إن إنترنت الأشياء يزداد في 2016 ، ولكن ماذا يعني ذلك بالضبط؟ كيف تستفيد شخصيًا من إنترنت الأشياء؟ هنا بعض المنتجات المفيدة للتوضيح. قراءة المزيد المشاريع ، اردوينو أونو بسيط (ما هي الأنواع المختلفة من اردوينو؟ دليل شراء Arduino: أي مجلس يجب أن تحصل عليه؟هناك العديد من الأنواع المختلفة من لوحات Arduino الموجودة هناك ، فسوف يتم الصفح عليك بسبب الخلط. ما الذي يجب أن تشتريه لمشروعك؟ دعنا نساعد ، مع دليل شراء Arduino هذا! قراءة المزيد ) لديها أكثر من طاقة كافية لهذا المشروع.

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

instagram viewer
اردوينو ميدي المراقب اللوح

ما هو MIDI؟

MIDI تعني الواجهة الرقمية للآلات الموسيقية. يحدد طريقة قياسية للأجهزة الموسيقية للتواصل مع بعضها البعض. إذا كنت تمتلك لوحة مفاتيح إلكترونية ، فمن المحتمل أن يكون لديك واجهة MIDI. في حين أن هناك بعض التفاصيل الفنية التي ينطوي عليها تنفيذ MIDI ، فمن المهم أن نتذكر أن MIDI ليست صوتية! بيانات MIDI هي مجموعة بسيطة من التعليمات (يُطلق على أحد التعليمات "رسالة") قد يقوم جهاز آخر بتنفيذها لإصدار أصوات مختلفة أو التحكم في المعلمات.

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

MIDI- كابل- ذكر

تغيير التحكم وتغيير البرنامج

هناك نوعان رئيسيان لرسالة MIDI: تغيير التحكم وتغيير البرنامج.

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

رسائل تغيير البرنامج (PC) أبسط من رسائل CC. تتكون رسائل الكمبيوتر الشخصي من رقم واحد ، وتستخدم لتغيير الإعداد المسبق أو التصحيح على الجهاز. تُعرف رسائل الكمبيوتر أحيانًا باسم "Patch Change". على غرار رسائل CC ، يجب على الشركات المصنعة تقديم مستند يحدد الإعدادات المسبقة التي يتم تغييرها بواسطة رسالة معينة.

ما ستحتاج إليه

  • اردوينو
  • مقبس أنثى DIN ذو 5 سنون
  • 2 × 220 أوم المقاومات
  • 2 × 10 كيلو أوم المقاومات
  • 2 × مفاتيح مؤقتة
  • أسلاك التوصيل
  • اللوح
  • كابل MIDI
  • جهاز MIDI أو واجهة USB

خطة البناء

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

تجميع الدائرة

اردوينو - ميدي - تحكم - حلبة

اتصال MIDI

MIDI-Pinout

قم بتوصيل مقبس MIDI الخاص بك كما يلي:

  • دبوس MIDI 5 إلى إرسال Arduino (TX) 1 عبر المقاوم 220 أوم
  • دبوس MIDI 4 إلى Arduino + 5V عبر المقاوم 220 أوم
  • دبوس MIDI 2 إلى أرض Arduino

اتصال الزر

تعمل الأزرار بتغيير المقاومة التي "يراها" أردوينو. يمر دبوس Arduino من خلال المفتاح مباشرة إلى الأرض (منخفض) عبر مقاوم 10 كيلو أوم (مقاوم "هدم" ، يضمن بقاء القيمة منخفضة). عند الضغط على الزر ، تتغير القيمة التي تراها الدائرة إلى + 5 فولت بدون المقاوم (عالي). يمكن لـ Arduino اكتشاف هذا التغيير باستخدام قراءة رقمية (دبوس) أمر. قم بتوصيل الأزرار بدبابيس 6 و 7 على إدخال / إخراج رقمي من Arduino (I / O). قم بتوصيل الزرين:

  • الجانب الأيسر من الزر إلى + 5 فولت
  • الجانب الأيمن من الزر إلى Arduino Ground عبر المقاوم 10 كيلو أوم
  • الزر الأيمن إلى دبوس Arduino (6 أو 7)

اختبار MIDI

الآن بعد الانتهاء من جميع الأجهزة ، حان الوقت لاختبارها. ستحتاج إلى واجهة USB-MIDI (يمكن لكثير من واجهات الصوت القيام بذلك) وكابل MIDI. يرسل منفذ MIDI الموجود على لوحة توصيل البيانات البيانات ، لذلك هو الإخراج. جهاز الكمبيوتر الخاص بك يتلقى البيانات ، وبالتالي فهو المدخلات. يستخدم هذا المشروع اردوينو ممتازة مكتبة MIDI الإصدار 4.2 بواسطة أربعين تأثيرات. بمجرد تثبيت المكتبة ، يمكنك تضمينها في التعليمات البرمجية الخاصة بك عن طريق الذهاب إلى رسم> تضمين مكتبة> MIDI.

ستحتاج أيضًا إلى برنامج لمراقبة بيانات MIDI الواردة:

  • مراقب MIDI لنظام التشغيل OS X
  • MIDI-OX للنوافذ
  • K Midimon لينكس

ربط اردوينو الشروع في العمل مع مجموعة Arduino Starter Kit - تثبيت برامج التشغيل وإعداد اللوحة والمنفذلذا ، لقد اشتريت لنفسك مجموعة بداية اردوينو ، وربما بعض المكونات الرائعة العشوائية الأخرى - والآن ماذا؟ كيف تبدأ بالفعل في برمجة هذا الشيء اردوينو؟ كيف يمكنك إعداده... قراءة المزيد إلى جهاز الكمبيوتر الخاص بك وتحميل رمز الاختبار التالي (لا تنس تحديد اللوحة والمنفذ الصحيحين من أدوات> لوحة و أدوات> منفذ القوائم).

#تتضمن 
#تتضمن 
#تتضمن 
#تتضمن 
#تتضمن  MIDI_CREATE_INSTANCE (HardwareSerial، Serial، midiOut) ، // إنشاء كائن MIDI يسمى midiOut void setup () {Serial.begin (31250)؛ // إعداد المسلسل لـ MIDI. } حلقة فارغة () {midiOut.sendControlChange (56،127،1) ؛ // send a MIDI CC - 56 = note، 127 = speed، 1 = تأخير القناة (1000)؛ // wait 1 second midiOut.sendProgramChange (12،1)؛ // send a MIDI PC - 12 = قيمة ، 1 = تأخير قناة (1000) ؛ // انتظر ثانية واحدة. }

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

إذا لم يحدث شيء ، فلا داعي للذعر! حاول استكشاف الأخطاء وإصلاحها:

  • تأكد من صحة جميع الاتصالات
  • تحقق من توصيل منفذ MIDI بشكل صحيح - يجب أن يكون هناك 2 دبابيس احتياطية على الحواف الخارجية
  • تحقق مرة أخرى من صحة الدائرة
  • تحقق من توصيل الدائرة بواجهة USB-MIDI باستخدام كبل MIDI
  • تحقق من توصيل كبل MIDI بـ إدخال على واجهة USB-MIDI
  • تأكد من أن Arduino لديه قوة
  • قم بتثبيت برنامج التشغيل الصحيح لواجهة USB-MIDI

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

اختبار الزر

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

const int buttonOne = 6 ؛ // تعيين دبوس زر للمتغير. const int buttonTwo = 7 ؛ // تعيين دبوس زر لإعداد متغير باطل () {Serial.begin (9600)؛ // إعداد المسلسل للنص pinMode (buttonOne ، INPUT) ؛ // زر الإعداد كإدخال pinMode (buttonTwo ، INPUT) ؛ // زر الإعداد كمدخل. } void loop () {if (digitalRead (buttonOne) == HIGH) {// check check تأخير حالة الزر (10)؛ // software de-bounce if (digitalRead (buttonOne) == HIGH) {// check button state again Serial.println ("Button One Works!")؛ // تأخير نتيجة السجل (250) ؛ }} if (digitalRead (buttonTwo) == HIGH) {// check check تأخير حالة الزر (10) ؛ // software de-bounce if (digitalRead (buttonTwo) == HIGH) {// check button state again Serial.println ("Button Two Works!")؛ // تأخير نتيجة السجل (250) ؛ } } }

قم بتشغيل هذا الرمز (ولكن حافظ على توصيل كبل USB) وافتح الشاشة التسلسلية (أعلى اليمين> المسلسل). عندما تضغط على زر سترى "Button One Works!" أو "Button Two Works!" بناءً على الزر الذي ضغطت عليه.

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

إنشاء وحدة التحكم

الآن بعد أن أصبح كل شيء سلكيًا ويعمل ، حان الوقت لتجميع وحدة التحكم الكاملة.

سيرسل هذا المثال رسالة CC مختلفة لكل زر يتم الضغط عليه. أنا أستخدم هذا للتحكم في Ableton Live 9.6 على OS X. الرمز مشابه لكل من عينات الاختبار أعلاه.

#تتضمن 
#تتضمن 
#تتضمن 
#تتضمن 
#تتضمن const int buttonOne = 6 ؛ // تعيين دبوس زر للمتغير. const int buttonTwo = 7 ؛ // تعيين دبوس زر لمتغير MIDI_CREATE_INSTANCE (HardwareSerial ، Serial ، midiOut) ؛ // إنشاء كائن MIDI يسمى midiOut void setup () {pinMode (buttonOne، INPUT)؛ // زر الإعداد كإدخال pinMode (buttonTwo ، INPUT) ؛ // زر الإعداد كمدخل Serial.begin (31250) ؛ // setup إخراج MIDI. } void loop () {if (digitalRead (buttonOne) == HIGH) {// check check تأخير حالة الزر (10)؛ // software de-bounce if (digitalRead (buttonOne) == HIGH) {// check button state again midiOut.sendControlChange (56،127،1)؛ // send a MIDI CC - 56 = note، 127 = السرعة ، 1 = تأخير القناة (250) ؛ }} if (digitalRead (buttonTwo) == HIGH) {// check check تأخير حالة الزر (10) ؛ // software de-bounce if (digitalRead (buttonTwo) == HIGH) {// check button state again midiOut.sendControlChange (42،127،1)؛ // send a MIDI CC - 42 = note، 127 = speed، 1 = تأخير القناة (250)؛ } } }

ملاحظة - لن تتمكن من استخدامها Serial.println () مع إخراج MIDI.
إذا كنت ترغب في إرسال رسالة كمبيوتر بدلاً من نسخة ، فما عليك سوى استبدال:

midiOut.sendControlChange (42،127،1) ؛

مع:

midiOut.sendProgramChange (القيمة ، القناة) ؛ 

في العمل

أدناه هو مظاهرة باعتبارها وحدة تحكم ل ابلتون لايف (أفضل برنامج دي جي لكل ميزانية أفضل برنامج دي جي لكل ميزانيةيمكن لبرامج الخلط الجيدة أن تحدث فرقًا كبيرًا في أدائك. سواء كنت تستخدم Mac أو Windows أو Linux ، يتم تلبية كل مستوى من المهارة والميزانية إذا كنت تريد بدء DJing. قراءة المزيد ). يعرض الجزء العلوي الأيمن عدادات الصوت ، ويظهر الوسط العلوي رسائل ميدي الواردة (عبر مراقب MIDI على OS X).

هل صنعت وحدة تحكم MIDI؟

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

حقوق الصورة: كيث جنتري عبر Shutterstock.com

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