فهرست مطالب:
- مرحله 1: مواد
- مرحله 2: طراحی
- مرحله 3: ساخت و ساز و سیم کشی
- مرحله 4: برنامه نویسی
- مرحله 5: راه اندازی
تصویری: Arduino Uno Midi Fighter: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
این دستورالعمل برای برآوردن الزامات پروژه Makecourse در دانشگاه فلوریدا جنوبی ایجاد شده است (www.makecourse.com)
براساس کنترل محبوب MidiFighter توسط DJ Techtools ، این کنترلر خانگی دارای رابط کاربری موزیکال دیجیتال (MIDI) دارای آردوینو می تواند به عنوان یک دستگاه MIDI در هر نرم افزار Digital Audio Workstation (DAW) استفاده شود. یک کنترلر MIDI می تواند پیام های MIDI را از رایانه ارسال و دریافت کند و می تواند برای کنترل مستقیم هر کدام از نرم افزارهای مورد استفاده مورد استفاده قرار گیرد. علاوه بر این ، کنترل های یک کنترلر MIDI کاملاً قابل تنظیم هستند - بدین معنی که هر دکمه ، نوار لغزنده و دستگیره را می توان به هر عملکردی در DAW ترسیم کرد. به عنوان مثال ، با فشار دادن یک دکمه می توانید یک نت خاص را پخش کنید یا برای تغییر سرعت پروژه صوتی خود برنامه ریزی کنید.
github.com/jdtar/Arduino-Midi-Controller
مرحله 1: مواد
در زیر لیستی از مواد و ابزار مورد استفاده در این پروژه آمده است.
آردوینو اونو
تخته نان
4051/4067 مالتی پلکسر
سیم های بلوز
سیم اضافی
پتانسیومترهای کشویی خطی 2x 10k اهم
16 دکمه Sanwa 24 میلی متری
انقباض حرارتی
آهن لحیم کاری
تیغ ریش تراش
مقاومت 4.7 کیلو وات
ورق اکریلیک (برای درب)
مسکن برای دکمه ها و آردوینو
چاپگر سه بعدی
دستگاه برش لیزری
مرحله 2: طراحی
پیش از شروع پروژه ، مسکن کنترلر MIDI خود را در اختیار من قرار داده بودند ، بنابراین من یک طرح برای درپوش را مورد تمسخر قرار دادم تا بتوانم جایی را که قرار است همه چیز در آن قرار گیرد ، تجسم کنم. من می دانستم که حداقل 16 دکمه و چند پتانسیومتر به عنوان یک ویژگی می خواهم ، بنابراین سعی کردم اجزاء را تا حد ممکن به طور مساوی از هم جدا کنم.
پس از طراحی طرح درپوش ، فایل را به صورت PDF 1: 1 صادر کردم و برای برش یک ورق اکریلیک به برش لیزری ارسال کردم. برای سوراخ های پیچ ، جایی را که می خواهم سوراخ ها با نشانگر باشد ، مشخص کردم و اکریلیک را با یک رشته داغ ذوب کردم.
پیوست PDF 1: 1 است که می توانید بصورت 1: 1 چاپ کنید و در صورت عدم وجود برش لیزری ، با ابزارهای برقی برش دهید.
مرحله 3: ساخت و ساز و سیم کشی
پس از برش اکریلیک ، متوجه شدم که اکریلیک بسیار نازک است و به اندازه کافی همه اجزا را پشتیبانی نمی کند. سپس یک ورق دیگر را برش دادم و آنها را به هم چسباندم که اتفاقاً کاملاً کار می کرد.
سیم کشی اجزا کمی آزمایش و خطا می برد اما منجر به طرح Fritzing می شود. من ابتدا سیم های زمین و مقاومت 4.7 کیلو وات را سیم کشی کردم ، اتصالات روی دکمه ها را لحیم کردم و حرارت منقبض شد. برای نصب دو پتانسیومتر کشویی به سوراخ های ذوب پیچ های اکریلیک نیاز بود. پس از پیچ شدن دو پتانسیومتر ، آنها را به پین های آنالوگ A0 و A1 متصل کرد. پس از اتمام سیم کشی ، به خاطر آوردم که هیچ کلید درپوش برای فیدرهای من وجود ندارد ، بنابراین به جای خرید آنها ، با استفاده از چاپگر سه بعدی ، برخی از درپوش های دستگیره را با ترسیم آن در Autodesk Fusion 360 و صادر کردن به فایل STL چاپ کردم. دی
Arduino Uno فقط 12 پین ورودی دیجیتالی در دسترس دارد اما 16 دکمه قرار بود وصل شوند. برای جبران این امر ، من یک Multiplexer 74HC4051 را روی تخته نورد نصب کردم که از 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]
ماتریس پین (M = MUX ورودی)
[6] [7] [8] [9]
[10] [11] [12] [13]
[M0] [M1] [M2] [M3]
[M4] [M5] [M6] [M7]
مرحله 4: برنامه نویسی
پس از اتمام مونتاژ ، برنامه نویسی Arduino تنها چیزی است که باقی مانده است. اسکریپت پیوست به گونه ای نوشته شده است که به راحتی قابل تنظیم است.
ابتدای اسکریپت شامل کتابخانه MIDI.h و یک کتابخانه کنترل کننده است که از وبلاگ Notes and Volts وام گرفته شده است که هر دو در فایل زیپ کد قرار دارند. با استفاده از کتابخانه کنترل کننده ، می توان اشیایی را برای دکمه ها ، پتانسیومترها و دکمه های چندگانه ایجاد کرد که شامل مقادیر داده شامل شماره یادداشت ، مقادیر کنترل ، سرعت یادداشت ، شماره کانال MIDI و غیره است. کتابخانه MIDI.h ارتباط MIDI I/O را در پورت های سریال آردوینو که به نوبه خود داده ها را از اشیاء کنترل کننده می گیرد ، آنها را به پیام های MIDI تبدیل می کند و پیام ها را به هر کدام از رابط midi متصل می کند.
بخش تنظیمات خالی اسکریپت همه کانالها را خاموش می کند و همچنین یک اتصال سریال با سرعت 115200 baud را شروع می کند ، سرعت سریعتر از مبادله سیگنالهای MIDI.
حلقه اصلی اساساً آرایه های دکمه ها و دکمه های چندگانه را می گیرد و حلقه for را اجرا می کند که بررسی می کند آیا دکمه فشار داده شده یا آزاد شده است و بایت های داده مربوطه را به رابط midi ارسال می کند. حلقه پتانسیومتر موقعیت پتانسیومتر را بررسی می کند و تغییرات ولتاژ مربوطه را به رابط midi باز می گرداند.
مرحله 5: راه اندازی
پس از بارگیری اسکریپت بر روی آردوینو ، مرحله بعدی اتصال و پخش است. با این حال ، قبل از استفاده ، چند مرحله وجود دارد.
در OSX ، اپل یک ویژگی برای ایجاد دستگاه های midi مجازی در نظر گرفت که از طریق برنامه Audio Midi Setup در مکینتاش قابل دسترسی است. پس از ایجاد دستگاه جدید ، از MIDI بدون مو می توان برای ایجاد ارتباط سریال بین آردوینو و دستگاه midi مجازی جدید استفاده کرد. اتصال سریال از طریق آردوینو از طریق MIDI بدون مو با سرعت بالا که در قسمت void setup اسکریپت تعریف شده است عمل می کند و باید در تنظیمات برگزیده MIDI بدون مو ، معادل آن تنظیم شود.
برای آزمایش ، از Midi Monitor برای بررسی اینکه آیا داده های صحیح به نظر می رسد به دلیل اتصال سریال و MIDI ارسال شده است ، استفاده کردم. هنگامی که تشخیص دادم که همه دکمه ها از طریق کانال های صحیح داده های صحیح را ارسال می کنند ، سیگنال MIDI را برای مسیریابی به Ableton Live 9 به عنوان ورودی MIDI تنظیم کردم. در Ableton من توانستم نمونه های صوتی برش داده شده را روی هر دکمه ترسیم کنم و هر نمونه را پخش کنم.
توصیه شده:
Arduino Uno Feder Fish در 6 مرحله ارزان و آسان!: 6 مرحله
Arduino Uno Feder Fish در 6 مرحله ارزان و آسان!: بنابراین ممکن است برای این پروژه کمی داستان پشتیبان لازم باشد. افرادی که ماهی خانگی دارند احتمالاً با مشکل مشابه من روبرو شده اند: تعطیلات و فراموشی. من مدام فراموش می کردم که ماهی خود را تغذیه کنم و همیشه برای انجام این کار تلاش می کردم تا قبل از رفتن به ماهی
دستها و پاهای عرق کرده را با Sweat Fighter متوقف کنید!: 7 مرحله (همراه با تصاویر)
دستها و پاهای عرق کرده را با Sweat Fighter متوقف کنید!: 3/1/19 بروزرسانی: برخی از مردم درد را گزارش می دهند ، که ناشی از برگشت سریع قطبیت است. من کد را برای کاهش این مشکل به روز می کنم ، اما فعلا باید از ساختن آن خودداری کنید. هایپرهیدروز بیماری است که باعث افزایش بیش از حد می شود
Arduino-UNO قوی تر ، Massduino-UNO: 9 مرحله
بیشتر قدرتمند Arduino-UNO ، Massduino-UNO: Massduino چیست؟ Massduino یک خط تولید جدید است که ترکیبی از پلت فرم Arduino غنی ، توسعه راحت و سریع ، کم هزینه و آسان برای تولید مزایای تولید در مقیاس بزرگ است. تقریباً همه کدهای آردوینو می توانند یک
MIDI Fighter مبتنی بر آردوینو (حساس به لمس): 7 مرحله (همراه با تصاویر)
MIDI Fighter مبتنی بر آردوینو (Touch Sensitive): MIDI مخفف Musical Instrument Digital Interface است. در اینجا ، ما در حال ساخت یک مبارز MIDI حساس به لمس هستیم. دارای 16 پد است. این موارد را می توان افزایش یا کاهش داد. در اینجا به دلیل محدودیت پین های آردوینو از 16 استفاده کرده ام. همچنین از پین های ورودی آنالوگ استفاده کرده ام
کنترل کننده نور MIDI 5V LED برای Spielatron یا سایر MIDI Synth: 7 مرحله (همراه با تصاویر)
کنترل کننده نور MIDI 5V LED برای Spielatron یا سایر MIDI Synth: این کنترل کننده چراغ های نوار LED سه رنگ را برای 50mS در هر نت چشمک می زند. آبی برای G5 تا D#6 ، قرمز برای E6 تا B6 و سبز برای C7 تا G7. کنترل کننده یک دستگاه ALSA MIDI است بنابراین نرم افزار MIDI می تواند همزمان با یک دستگاه MIDI synth به LED ها خروجی دهد