فهرست مطالب:
- این دستورالعمل در ابتدا در وبلاگ من در 28 ژوئن 2020 منتشر شد
- مرحله 1: چشمک زدن LED داخلی
- مرحله 2: چشمک زدن LED در ورودی دستی
- مرحله 3: نصب کتابخانه MIDIUSB
- مرحله 4: ارسال پیام MIDI
- مرحله 5: ارسال یک پیام MIDI از هر دکمه
- مرحله 6: راه اندازی کانال یا بانک (اختیاری)
- مرحله 7: مورد
- مرحله 8: مجمع
- مرحله 9: استفاده از کنترلر MIDI
تصویری: ساخت کنترلر MIDI آردوینو: 9 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:51
این دستورالعمل در ابتدا در وبلاگ من در 28 ژوئن 2020 منتشر شد
من از ساختن وسایل الکترونیکی لذت می برم و همیشه می خواستم چیزی را با استفاده از آردوینو بسازم.
یکی از رایج ترین سازه ها برای مبتدیان که پیدا کردم کنترلر MIDI بود. کنترلر MIDI هر سخت افزاری است که داده های MIDI (رابط دیجیتال ابزار موسیقی) را به دستگاه ارسال می کند تا صداها را ایجاد کرده و موسیقی ایجاد کند.
متوجه شدم که بسیاری از پیاده سازی ها پیچیده هستند ، حتی آنهایی که برای مبتدیان هستند. بسیار ناامید کننده بود که متوجه شدم باید از صدها خط کد ناخوانا استفاده کنم. یا اینکه در برخی موارد ، به عنوان مثال دیگر ، باید مقاومت را لحیم کنم.
پروژه
با ساخت کنترلر MIDI آردوینو خودم ، قصد من این بود که یک پروژه لذت بخش ایجاد کنم و سر و صدا را در کمترین حد نگه دارم. چیزی که هر مبتدی می تواند دنبال کند. برای انجام این کار ، من از MIDI Fighter 3D به عنوان الهام اولیه استفاده کردم و هر ویژگی غیر ضروری را حذف کردم.
هزینه کل پروژه من زیر 30 دلار بود و لیست مواد واقعاً کوتاه بود (پیوندهای وابسته):
- آردوینو لئوناردو (یا کلون): بین 10 تا 20 دلار.
- 16 دکمه Sanwa 24 میلی متر (یا کلون): بین 1 دلار تا 2.50 دلار برای هر دکمه.
- آهن لحیم کاری
- 22 سیم برق AWG
برد آردوینو
وقتی این پروژه را شروع کردم ، متوجه شدم تعدادی مدل جدید آردوینو وجود دارد (شامل صدها تخته سازگار). و همه آنها قابلیت های کمی متفاوت ارائه می دهند.
من نیاز به ارسال سیگنال های MIDI به کامپیوتر داشتم و ساده ترین راه برای انجام این کار از طریق USB است. هر برد Arduino مبتنی بر میکروکنترلر ATmega32u4 دارای ارتباط USB داخلی است.
بردهای رسمی آردوینو با پشتیبانی USB بومی Arduino Due ، Arduino Zero ، Arduino Leonardo ، Arduino Micro هستند. این بردها دارای پشتیبانی USB یکپارچه هستند ، بدین معنی که می توانند به عنوان یک دستگاه USB MIDI عمل کنند.
تصمیم گرفتم با کلونی از آردوینو لئوناردو بروم. دارای ورودی های کافی برای این پروژه است و همچنین شامل سربرگ هایی می شود که اتصال و قطع سیم ها را آسان تر می کند.
اولین قدم ها
اگرچه نحوه اجرای کد این پروژه را مرحله به مرحله توضیح خواهم داد ، اما می توانید نسخه نهایی را بارگیری کنید.
برای بارگذاری کد روی برد باید از Arduino IDE استفاده کنید. آنها همچنین دارای یک ویرایشگر وب هستند که بسیار مفید است ، اما سهمیه محدودی در روزها دارند که می توانید کد را کامپایل کنید.
مرحله 1: چشمک زدن LED داخلی
خنده دار است که چگونه "Hello World" در دنیای سخت افزار یک LED چشمک می زند.
برای من تعجب آور بود که متوجه شدم آردوینو لئوناردو دارای LED داخلی است که می توانید برای تست کد چشمک بزنید. به این ترتیب نیازی به ایجاد یک مدار خارجی روی تخته نان با LED و مقاومت ندارید.
کد:
مرحله 2: چشمک زدن LED در ورودی دستی
گام منطقی بعدی این بود که هر زمان که سیگنالی ارسال می کنم ، همان LED را چشمک بزنم. روکش پلاستیکی یک سر دو سیم دوپونت را برداشته و سر دیگر آن را به برد وصل کردم:
- پین شماره 2: یکی از ورودی های دیجیتال (مثبت). این می تواند هر پین دیجیتالی باشد.
- پین GND: هر پین زمینی (منفی).
در حال حاضر ، هر بار که به انتهای نمایان شده سیمها می پیوندم ، مدار را می بندم و بنابراین می توانم در نتیجه کد را اجرا کنم
هر یک از 20 پین دیجیتالی لئوناردو دارای یک مقاومت داخلی است (به طور پیش فرض قطع شده است) که می تواند با استفاده از INPUT_PULLUP فعال شود. به خاطر داشته باشید که ورودی کشویی به این معناست که حالت دکمه معکوس است:
- بالا هنگامی که مدار باز است (دکمه فشرده نشده است).
- LOW وقتی مدار بسته است (دکمه فشار داده شده است).
کد:
مرحله 3: نصب کتابخانه MIDIUSB
این کتابخانه به یک برد آردوینو با قابلیت USB اجازه می دهد تا به عنوان یک ابزار MIDI از طریق USB عمل کند. برای اطلاعات بیشتر اسناد رسمی را بررسی کنید.
با استفاده از Arduino IDE ، می توانید کتابخانه های آردوینو اضافی را با استفاده از مدیر کتابخانه نصب کنید:
- IDE را باز کرده و روی منوی "Sketch" ، سپس "Include Library" ، سپس "Manage Libraries" کلیک کنید.
- MIDIUSB را جستجو کرده و روی نصب کلیک کنید.
- پس از اتمام کار ، یک برچسب نصب شده باید در کنار کتابخانه MIDIUSB ظاهر شود.
- مدیر کتابخانه را ببندید.
در حال حاضر لئوناردو می تواند پیام های MIDI را از طریق USB ارسال کند! اما ابتدا به برخی از بینش در مورد نحوه عملکرد MIDI نیاز است.
MIDI چگونه کار می کند
"MIDI (رابط دیجیتال ابزار موسیقی) یک پروتکل ارتباطی استاندارد است که آلات موسیقی الکترونیکی ، رایانه ها و دستگاه های صوتی مربوطه را برای پخش موسیقی متصل می کند." - ویکیپدیا
این برنامه پیامهای رویداد را با اطلاعات سرعت و سرعت نت پخش شده ، در میان دستورالعمل های دیگر ، مدیریت می کند
در این پروژه خاص ، ورودی 16 دکمه پیام های متفاوتی را از طریق USB ارسال می کند. این پیام ها را می توان با استفاده از هر نرم افزار مناسب مانند GarageBand یا Ableton Live در رایانه به صدا تبدیل کرد.
آناتومی پیام MIDI
برای ارسال پیام MIDI ، از روش sendMIDI () از کتابخانه MIDIUSB که در مرحله 3 نصب کرده بودم استفاده کردم.
این روش می تواند 4 پارامتر دریافت کند:
- نوع رویداد: می تواند 0x09 برای یادداشت روشن (پخش نت) یا 0x08 برای یادداشت خاموش (توقف پخش نت).
- توجه/خاموش: نوع رویداد همراه با کانال MIDI (1-16). من فقط از کانال 1 استفاده می کنم بنابراین برای یادداشت روشن 0x90 یا برای خاموش یادداشت 0x80 است.
- شماره یادداشت: هر نت دارای گام عددی مرتبط (مقیاس فرکانس) است.
- سرعت: از 0 (بدون سرعت) تا 127 (سریع ترین).
مرحله 4: ارسال پیام MIDI
من کتابخانه MIDIUSB را قرار دادم و به جای چشمک زدن LED داخلی ، یک یادداشت ارسال کردم.
کد:
⚠ مهم: از این مرحله به بعد ، آردوینو به یک کنترلر MIDI USB تبدیل می شود و دریافت کد از طریق USB متوقف می شود.
وقتی در موقعیتی گیر افتادید که دیگر نمی توان Arduino را برنامه ریزی کرد ، مراحل زیر را دنبال کنید:
- دکمه تنظیم مجدد گرد شده روی برد آردوینو را نگه دارید.
- روی بارگذاری در Arduino IDE کلیک کنید.
- دکمه تنظیم مجدد را رها کنید.
- کد به روز شده در صفحه بارگذاری می شود.
مرحله 5: ارسال یک پیام MIDI از هر دکمه
آخرین مرحله این بود که هر مرحله را روی یک دکمه ترسیم کنید. برای 16 دکمه ، من مقیاسی از C2 تا E3b را تعریف کردم ، که از 36 تا 51 به ترتیب به ترتیب از پایین به بالا و از چپ به راست است. این فایل را از Arduino Tutorials بررسی کنید تا ببینید که میزان صدای هر یادداشت مربوط است.
من از پین های دیجیتال از 2 تا 12 و پین های آنالوگ (با استفاده از آنها به عنوان دیجیتال) از A0 تا A4 استفاده کردم.
و به این ترتیب کد نهایی به نظر می رسد
مرحله 6: راه اندازی کانال یا بانک (اختیاری)
در صورتی که می خواهید دکمه های بیشتری با قابلیت تعویض کانال یا بانک اضافه کنید ، مانند MIDI Fighter 3D (تصویر را ببینید) ، Arduino Leonardo دارای چهار پین دیگر است که می توانید از آنها استفاده کنید. آردوینو لئوناردو دارای 20 پین ورودی/خروجی دیجیتالی است که از آنها فقط 16 پین برای پخش نت استفاده می شود.
می توانید از آن دکمه های اضافی برای به روز رسانی متغیر در کد استفاده کنید و مقدار آن را به عنوان پارامتر به روش MidiUSB.sendMIDI ارسال کنید:
gist.github.com/lean8086/ec8da7486ec3621f9f0b90542a06fcea
مرحله 7: مورد
برای ساده نگه داشتن این پروژه ، من در انتخاب ویژگی هایی که شامل آن می شود بسیار بی پروا بودم.
- فقط دکمه ها: 16 دکمه بازی شبیه Sanwa ، در یک شبکه 4x4. بدون دستگیره ، بدون لغزنده ، بدون فیدر یا ورودی آنالوگ دیگر.
- بدنه Unibody: از پیچ ، مهره ، پیچ و مهره یا چسب برای محفظه یا نگه داشتن برد آردوینو استفاده نکنید.
- ابزارهای روزمره: به عنوان مثال ، من سیم ها را بجای خرید یک دستگاه برش سیم مخصوص دکمه های بازی لحیم کردم.
طراحی Unibody
یکی از چالش هایی که با آن روبرو شدم ، طراحی یک کیس به اندازه کافی ساده بود که نیازی به مونتاژ نداشت و می تواند در یک اجرا به صورت سه بعدی چاپ شود.
برای اجتناب از استفاده از پیچ یا چسب ، من نیاز به طراحی محفظه ای داشتم که کوچکترین دسترسی به لوازم الکترونیکی را داشته باشد. بزرگترین الهام بخش من برای محوطه ، مک مینی بود که دارای سوراخ دایره ای شکل در پایین است. من همچنین می خواستم یک درب قابل پیچ برای آن طراحی کنم ، اما تصمیم گرفتم آن را باز کنم تا لوازم الکترونیکی نمایان شود.
پرونده سه بعدی قابل چاپ (322 کیلوبایت) را بارگیری کنید. تنظیمات توصیه شده: PLA ، لایه های 0.15 میلی متری ، 20٪ پر کردن ، پشتیبانی کننده ها حداقل برای سوراخ پایین گرد ، نگهدارنده های آردوینو و میکرو USB.
نگه داشتن آردوینو بدون پیچ
لئوناردو دارای 4 سوراخ برای پیچاندن تخته در هر کیس مناسب است ، اما ایده من این بود که به راحتی می توان تخته را از قاب جدا کرد.
یافتن یک نگهدارنده کلیپ برای Arduino در Thingiverse آسان بود ، و 5 بار طول کشید تا آن نگهدارنده را به طرز یکپارچه سازی یکپارچه کنم. مشکل ترین قسمت این بود که پایه های آن برای جلوگیری از سوراخ های دکمه ها و تراز وسط USB به قاب قرار بگیرد.
مرحله 8: مجمع
پس از قرار دادن همه دکمه ها در محل ، سیمهای مشکی کوتاه را لحیم کردم و تمام پایه های منفی دکمه ها را بین آنها متصل کردم.
سپس سیمهای قرمز بلند را از هر پایه مثبت لحیم کردم تا مستقیماً به تخته وصل شوم.
برای اتصال سیم ها به آردوینو ، برخی از انتهای Dupont را برش داده و لحیم کردم و آنها را با لوله های حرارتی کوچک پوشاندم.
من سیمها را به همان ترتیبی که در MIDI Fighter وجود داشت به برد وصل کردم. از پایین به بالا و از چپ به راست
مرحله 9: استفاده از کنترلر MIDI
از هر نرم افزار موسیقی (یا سخت افزار مناسب) می توان برای دریافت MIDI و ایجاد موسیقی استفاده کرد. بیشترین موارد توصیه شده Garage Band ، Ableton Live هستند و من می دانم که تعدادی برنامه برای نصب روی تلفن وجود دارد.
همه این ابزارها برای بارگیری صداهای از پیش تعیین شده برای طبل انگشت مفید هستند ، اما برای اهداف بزرگتر ساخته شده اند. راه اندازی این ابزارها می تواند برای مبتدیان سخت باشد.
MIDI در مرورگر وب
برای ایجاد هماهنگی بیشتر با این پروژه و سادگی آن ، من یک ابزار وب ایجاد کردم که کاملاً روی کنترلرهای MIDI متمرکز بود.
Punchy: پیاده سازی WebMIDI و WebAudio برای کنترلرهای MIDI.
می تواند پیام های MIDI را در هر مرورگری که از API جاوا اسکریپت WebMIDI پشتیبانی می کند بخواند. سپس صداها را در سینتی سایزر (با استفاده از WebAudio API) یا در نمونه گیر پخش می کند و صداهای سفارشی را از هر بسته صوتی بارگیری می کند.
Ableton Live را راه اندازی کنید
برای اینکه کنترلر MIDI با Ableton Live کار کند ، این مراحل ساده را از اسناد رسمی آنها دنبال کنید.
به تنظیمات برگزیده → پیوند MIDI بروید و مطمئن شوید که "Input" دارای "Track" و "Remote" روشن و خروجی آن "Remote" ON و همچنین در راهنما ذکر شده است:
توصیه شده:
ساخت کنترلر MIDI آردوینو: 5 مرحله (همراه با تصاویر)
یک کنترلر MIDI آردوینو بسازید: سلام به همه! در این مقاله آموزشی به شما نشان خواهم داد که چگونه می توانید کنترلر MIDI خود را با آردوینو بسازید. MIDI مخفف Musical Instrument Digital Interface است و یک پروتکل است که به کامپیوترها ، آلات موسیقی و سایر سخت افزارها اجازه می دهد تا با یکدیگر ارتباط برقرار کنند
نحوه ساخت کنترلر دما و رطوبت خودکار آردوینو: 3 مرحله
نحوه ساخت کنترلر دما و رطوبت خودکار آردوینو: 1
کنترلر آردوینو برای عکسبرداری 360 درجه خودکار محصول: 5 مرحله (همراه با تصاویر)
کنترلر آردوینو برای عکاسی خودکار 360 درجه محصول: بیایید یک کنترلر مبتنی بر آردوینو بسازیم که یک استپر موتور و یک شاتر دوربین را کنترل می کند. این سیستم همراه با صفحه گرامافون محرک ، یک سیستم قدرتمند و کم هزینه برای عکاسی اتوماتیک محصول 360 درجه یا فتوگرامتری است. اتوماتیک
ارزان ترین آردوینو -- کوچکترین آردوینو -- آردوینو پرو مینی -- برنامه نویسی -- آردوینو ننو: 6 مرحله (همراه با تصاویر)
ارزان ترین آردوینو || کوچکترین آردوینو || آردوینو پرو مینی || برنامه نویسی || آردوینو ننو: …………………………. لطفاً برای ویدیوهای بیشتر به کانال YouTube من مشترک شوید ……. .این پروژه در مورد نحوه ارتباط با کوچکترین و ارزانترین آردوینو است. کوچکترین و ارزان ترین آردوینو arduino pro mini است. شبیه آردوینو
LED Rainbow - ساخت کنترلر RGB LED PWM - ساخت آسان: 15 مرحله
LED Rainbow - RGB LED PWM Controller Construction - آسان برای ساخت: دستورالعمل های مرحله به مرحله ، آسان برای ساختن یک کنترلر LED Rainbow RGB LED PWM را دنبال کنید. تنها حداقل تعداد قطعات به همراه پردازنده PIC مورد نیاز است و می توانید یکی از شگفت انگیزترین کنترل کننده های LED موجود را بسازید. س