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

مركب Micro Midi: 5 خطوات (بالصور)
مركب Micro Midi: 5 خطوات (بالصور)

فيديو: مركب Micro Midi: 5 خطوات (بالصور)

فيديو: مركب Micro Midi: 5 خطوات (بالصور)
فيديو: How to control Amplitube 5 with the M Vave Chocolate midi foot controller (tutorial) 2024, شهر نوفمبر
Anonim
مركب مايكرو ميدي
مركب مايكرو ميدي
مركب مايكرو ميدي
مركب مايكرو ميدي
مركب مايكرو ميدي
مركب مايكرو ميدي

يوضح هذا التوجيه استخدام شريحة VLSI VS1053b Audio و Midi DSP في وضع Midi في الوقت الحقيقي. في هذا الوضع ، يعمل كمركب صوت متعدد الألحان من نوع GM (General Midi) Midi. يتحكم جهاز Arduino Uno الصغير المستقل في شاشة OLED ، وثلاثة أزرار (تحديد الوظيفة وأعلى أو لأسفل ، ويمرر دفق بيانات Midi عبر الصوت DSP. كانت لوحة الموسيقى المختارة هي لوحة اندلاع برنامج الترميز Adafruit VS1053 ، ولكن لوحة Sparkfun الموسيقية تم أيضًا اختباره بنجاح.تم استخدام مكتبات Adafruit VS1053b بدلاً من مكتبة SFEMP3 الأكبر بكثير (أوصت بها Sparkfun على الرغم من أن لديهم أيضًا مجموعة المكتبات الخاصة بهم) ، لأنني وجدت رمز Adafruit أسهل في الفهم.

تم تطوير معظم الكود المستخدم للتحكم في الصوت / midi DSP باستخدام Arduino Uno المتصل بلوحة كسر الصوت / midi من خلال لوحة توصيل. بعد أن تم العثور على أن الوظائف تعمل بشكل مرض ، تم استخدام Uno كمبرمج لـ ATmega 328 مستقل والذي تم وضعه بعد ذلك على Veroboard صغير بحجم 30x20 مع IC المعزل البصري 6N139 المطلوب على مقبس إدخال Midi (5 دبوس DIN). كما تم توصيل درع OLED صغير (64 × 48) وثلاثة أزرار ومصباح LED للنشاط ميدي وموصل أسطواني +5 فولت للطاقة وإضافة موصل خرج استريو صوتي. متطلبات الطاقة متواضعة للغاية - حوالي 20 مللي أمبير عند 5 فولت.

الخطوة 1: قائمة الأجزاء

ATmega328 Micro 28 pin DIP + 28 pin DIP socket 6N138 أو 6N139 optoisolator + 4 pin DIP socketWemos 64x48 I2C OLED Display أو ما شابه ذلك Adafruit VS1053b Codec Breakout board 3 أزرار ضغط مصغرة 5 دبوس DIN مقبس متوسط ثنائي الفينيل متعدد الكلور يفضل مقبس طاقة صغير لأي لون لنوع الأسطوانة مقبس للتوصيل بمكبر للصوت أو سماعات الرأس المقاومات: 7 × 10 كيلو ، 2 × 470 أوم ، 2 × 220 أوم المكثفات: 0.1 فائق التوهج 50 فولت بلاستيك ، 10 فائق التوهج 25 فولت كهربائياً ، 2 × 27 بيكو فلوريد السيراميك قطع صغيرة من Veroboard (30 شريطًا بـ 20 عمودًا ، و 4 شرائح بواسطة 16 عمودًا) ، حاوية بلاستيك ABS حوالي 85x55x25mm ، أسلاك وعدد قليل من البراغي والصواميل والغسالات.

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

بناء
بناء
بناء
بناء
بناء
بناء

يحتوي غطاء العلبة على شاشة OLED والأزرار الثلاثة المثبتة على قطعة صغيرة أخرى من Veroboard وموصل طاقة البرميل. تحتوي لوحة دوائر Vero الرئيسية على فتحتين لإصلاح لوحة توزيع الموسيقى فوق ATmega328. للحصول على تفاصيل الاتصال ، يرجى الرجوع إلى الرسم التخطيطي للوحة الشريط Fritzing.

يتم بعد ذلك إدخال ATmega328 المبرمج (يرجى الرجوع إلى القسم التالي للحصول على الكود) في المقبس الخاص به متبوعًا بـ 6N139 ويتم توصيل كل شيء.

يتم استخدام LED كمؤشر نشاط Midi وتم تثبيته على الجانب الأمامي من العلبة. وهو متصل بإخراج D2 من ATmega328 عبر المقاوم 470 أوم.

تستخدم شاشة OLED الإخراج 3.3 فولت من لوحة Adafruit للطاقة - فهي تتطلب أقل من 20 مللي أمبير.

حاول تبديل اتصالي Midi Din إذا لم تسمع أي صوت عند استخدام المزج لأول مرة.

الخطوة 3: البرمجيات

تفاصيل الرسم التخطيطي الذي يجب تحميله على ATmega328 مذكورة في MidA.ino. هناك سبع وظائف متاحة:

الخيار P: تغيير البرنامج - قم بتغيير أداة GM Midi Instrument من 1 إلى 128 (استخدمت من 0 إلى 127) مثل البيانو أو صوت Synth. الخيار B: تغيير بنك الأدوات بين لحني (بنك 0) وإيقاع (بنك 1). الخيار الخامس: اضبط مستوى الصوت من 1 إلى 10. الخيار C: قم بتغيير قناة Midi التي سيستجيب لها Synth. الخيارات هي القناة 0 ، والقناة 1 ، والقناة 9 (الإيقاع) ، والقناة 0 و 9 ، والقناة 1 و 9 ، الخيار R: قم بتشغيل أو إيقاف تشغيل تأثير Reverb. الخيار S: حفظ المعلمات الحالية في ذاكرة Eeprom (أعلى) أو اقرأ (أسفل) مرة أخرى من ذاكرة Eeprom. هذا بسبب عدم حفظ الإعدادات عند إيقاف التشغيل. الخيار X: إرسال رسالة إيقاف تشغيل كافة الملاحظات (إعادة ضبط Midi).

لم يتم تنفيذ الخيار الثامن حتى الآن - سيؤدي ذلك إلى تجاوز ATmega كمرشح Midi وربط إخراج optoisolator مباشرة إلى دبوس Rx بلوحة DSP.

لاحظ أن VS1053b يقوم بالتمهيد في وضع Midi في الوقت الفعلي عن طريق تحميل تصحيح مضغوط بحجم 1039 بايت أثناء التمهيد - وهذا أيضًا يزيد من حجم المخزن المؤقت Midi ويؤدي إلى تصفية وحدات بايت بيانات Midi الحصرية للنظام. يمكن العثور على تفاصيل هذا التصحيح على موقع VLSI.

تم استخدام نسخة معدلة قليلاً من مكتبة Adafruit Graphics لتلبية دقة 64 × 48 بكسل لشاشة OLED - يرجى الرجوع إلى الروابط الواردة في النهاية للسيد Mcauser. ترد قائمة بالمكتبات المطلوبة في كود الرسم التخطيطي.

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

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

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

VLSI:

Adafruit:

جيثب VS1053b:

رسومات جيثب:

أولد:

Sparkfun:

الخطوة 5: استخدام Sparkfun Board مع مكتبات Adafruit

استخدام لوحة Sparkfun مع مكتبات Adafruit
استخدام لوحة Sparkfun مع مكتبات Adafruit

يوضح الجدول الموجود في الصورة كيفية توصيل لوحات Adafruit أو Sparkfun Music Boards لاستخدام مكتبة أخرى.

موصى به: