فهرست مطالب:

ساختار LED کنترل شده MIDI: 7 مرحله
ساختار LED کنترل شده MIDI: 7 مرحله

تصویری: ساختار LED کنترل شده MIDI: 7 مرحله

تصویری: ساختار LED کنترل شده MIDI: 7 مرحله
تصویری: لزبازی لیلا اوتادی چه لبی میگیره (نبینی از دستت رفته) 2024, نوامبر
Anonim
Image
Image

من به عنوان یک عاشق موسیقی واقعی و دانشجوی علوم الکترونیک و کامپیوتر ، همیشه می خواستم دستگاه های MIDI بسازم که بتوانم از آنها برای ایجاد موسیقی الکترونیکی استفاده کنم.

پس از شرکت در بسیاری از نمایش ها و جشنواره های موسیقی ، در طول اجرای برنامه ها علاقه زیادی به نمایش های سبک داشتم.

پس از تحقیقات زیاد ، من فقط دستگاه هایی را پیدا کردم که از میکروفون استفاده می کردند و نمی توانستند LED ها را دقیقاً همانطور که می خواهید کنترل کنند.

با آشنایی بیشتر و بیشتر با سیگنال های DAW و MIDI ، تصمیم گرفتم با این پروژه شروع کنم!

این شامل یک ساختار سه بعدی با LED های بدون نفوذ است که در واقع توسط سیگنال های MIDI (NoteOn ، NoteOff و CC Messages) کنترل می شوند.

به این ترتیب ، نوازنده می تواند رنگ و شدت هر LED را تنها با استفاده از سیگنال های MIDI ، تولید شده توسط هر DAW کنترل کند.

با این ایده ، من می خواستم خلاقیت را از طریق نمایش های نوری افزایش دهم و به هر کسی اجازه دهم خود را بسازد ، و هر عملکرد بصری را منحصر به فرد کند.

مرحله 1: مواد

اساساً ، این پروژه از دو بخش تشکیل شده است: یک مدار دریافت MIDI و ساختار LED. و یک میکروکنترلر برای اتصال آن قسمتها و "ترجمه" سیگنالهای MIDI که از DAW به نوارهای LED می آید. در اینجا لیستی از مواد مورد نیاز برای هر قسمت آمده است.

مدار دریافت MIDI:

  • اپتوکوپلر 1 x 6N138
  • 1 x 1N914 دیود
  • 1 عدد جک 5 پین دین (جک MIDI)
  • 2 مقاومت 220 اهم
  • 1 مقاومت 4.7 کیلو اهم
  • 1 جک USB/MIDI

ساختار LED:

من از نوارهای LED RGB بر اساس LED های WS2812B استفاده کردم که تنها با 1 پورت دیجیتالی قابل کنترل هستند. اگر قصد دارید از تعداد زیادی LED استفاده کنید ، ممکن است مجبور باشید به حداکثر جریان مورد نیاز اهمیت دهید (1 LED حداکثر 60 میلی آمپر مصرف می کند). اگر میکروکنترلر نتواند این حداکثر مقدار را کنترل کند ، به منبع تغذیه 5 ولت دیگری نیاز دارید که بتواند جریان کافی را ارائه دهد. من از یک آداپتور 5V - 8A AC/DC با آداپتور خروجی اختصاصی و یک سوئیچ استفاده کردم.

توجه: به نظر می رسد که می توانید از منبع تغذیه رایانه استفاده کنید ، زیرا آنها می توانند جریان بسیار بالایی را ارائه دهند ، اما باید مطمئن شوید که ولتاژ DC 5V پایدار را ارائه می دهد ، شاید با استفاده از 36 اهم مقاومت 5 وات بین زمین (سیاه) و خروجی 5 ولت (قرمز) تا جریان کافی از مقاومت عبور کند و در نتیجه 5 ولت پایدار ایجاد کند.

در نهایت ، من از یک آردوینو Uno ساده با یک محافظ پیچ استفاده کردم تا بین سیگنال های MIDI و نوارهای LED ارتباط برقرار کنم.

مرحله 2: ساختن مدار ورودی MIDI

ساختن مدار ورودی MIDI
ساختن مدار ورودی MIDI
ساختن مدار ورودی MIDI
ساختن مدار ورودی MIDI

اگر به پروتکل MIDI و نحوه عملکرد آن علاقه دارید ، من به شما توصیه می کنم که کانال YouTube Notes and Volts را که در آن آموزش های جالب و ابتکاری و پروژه های MIDI Arduino وجود دارد بررسی کنید.

در این قسمت ، من فقط بر روی مدار ورودی MIDI تمرکز می کنم. ممکن است ایده خوبی باشد که یک نمونه اولیه را روی یک صفحه اولیه بسازیم و بررسی کنیم که آیا سیگنالهای MIDI که از DAW می آید توسط میکروکنترلر به خوبی قبل از لحیم کاری قطعات پذیرفته شده است یا خیر.

دو فیلم زیر نحوه ساخت و آزمایش مدار را شرح می دهد:

  • ساخت مدار
  • آزمایش مدار

در نهایت ، ممکن است ایده خوبی باشد که این ویدیو را برای درک پیامهای CC و نحوه تفسیر کلیپ های اتوماسیون توسط میکروکنترلر شما برای کنترل روشنایی LED به عنوان مثال خوب باشد.

مرحله 3: پیکربندی FL Studio (اختیاری)

پیکربندی FL Studio (اختیاری)
پیکربندی FL Studio (اختیاری)
پیکربندی FL Studio (اختیاری)
پیکربندی FL Studio (اختیاری)
پیکربندی FL Studio (اختیاری)
پیکربندی FL Studio (اختیاری)

از آنجا که با استفاده از FL Studio احساس راحتی می کنم ، نحوه پیکربندی صحیح رابط MIDI آن را توضیح خواهم داد ، اما من مطمئن هستم که اگر از ایستگاه کاری دیجیتال صوتی دیگری استفاده می کنید ، این روش نباید بطور چشمگیری متفاوت باشد.

ابتدا فقط باید جک USB/MIDI را به رایانه خود وصل کنید. معمولاً چنین دستگاه هایی با سیستم عامل تعبیه شده عرضه می شوند و به عنوان دستگاه های MIDI شناخته می شوند ، حتی اگر فاقد لگد باشند. سپس پنجره "تنظیمات" را باز کنید (با فشار دادن F10). اگر همه چیز به درستی کار کند ، در قسمت خروجی متوجه برخی از دستگاه های MIDI خروجی می شوید. دستگاه خود را انتخاب کرده و مطمئن شوید که روشن است.

سپس باید شماره پورت خود را تعیین کرده و آن را در نظر داشته باشید (برای مثال 0). فقط کافی است این پنجره را ببندید (پارامترها به طور خودکار ذخیره می شوند) و سپس یک کانال جدید اضافه کنید: MIDI Out.

سپس ، آخرین کاری که باید انجام دهید این است که پورت این کانال جدید را تعریف کنید: مطمئن شوید که همان شماره پورتی را که در بخش "تنظیمات" تعریف کرده اید انتخاب کرده اید: با این کار ، پیامهای MIDI از کانال شما در حال حاضر به خروجی MIDI متصل شده است.

در حال حاضر ، هنگامی که یک نت توسط کانال MIDI Out پخش می شود ، یک پیام "NoteOn" از طریق رابط MIDI ارسال می شود. به همین ترتیب ، هنگام انتشار یادداشت ، پیام "NoteOff" ارسال می شود.

یکی دیگر از ویژگی های جالب ، که با کانال MIDI Out همراه است ، توانایی کنترل پارامترهای مختلف با پتانسیومتر است. با راست کلیک روی یکی از آنها و انتخاب "پیکربندی …" ، می توانید آنها را مجبور به ارسال CCMessages (مقداری از 0 تا 127) کنید که برای کنترل روشنایی LED ها استفاده می شود: CC را انتخاب کنید و سپس Accept را انتخاب کنید.

به طور معمول FL Studio اکنون آماده ارسال داده به رابط MIDI شما است! مورد بعدی این است که کد فلش را در Arduino بنویسید و آن را با ساختار LED خود وفق دهید.

مرحله 4: اتصال LED ها

اتصال LED ها
اتصال LED ها

اتصال نوارهای LED بسیار ساده است ، زیرا آنها فقط به +5V ، GND و Data نیاز دارند. با این حال ، همانطور که قصد داشتم بیش از 20 مورد از آنها را متصل کنم ، تصمیم گرفتم از چندین پین Arduino PWM استفاده کنم و چندین مورد از Adafruit_NeoPixel (در ضریب) را برای جلوگیری از هرگونه تاخیر ناخواسته اعلام کنم.

تصویر پیوست همچنین قصد دارد نحوه عملکرد دستگاه های الکترونیکی را توضیح دهد:

  • نوارهای LED مستقیماً از منبع تغذیه تغذیه می شوند.
  • برای تغذیه آردوینو از کلید قدرت استفاده می شود
  • مدار ورودی MIDI هنگام روشن کردن سوئیچ توسط آردوینو تغذیه می شود

مرحله 5: ناهماهنگی ساختار سه بعدی

نادیده گرفتن ساختار سه بعدی
نادیده گرفتن ساختار سه بعدی
نادیده گرفتن ساختار سه بعدی
نادیده گرفتن ساختار سه بعدی
نادیده گرفتن ساختار سه بعدی
نادیده گرفتن ساختار سه بعدی
نادیده گرفتن ساختار سه بعدی
نادیده گرفتن ساختار سه بعدی

تا کنون ، این قسمت طولانی ترین قسمت بود زیرا من با چاپ سه بعدی (و مدل سازی) کاملاً جدید بودم. من می خواستم ساختاری را طراحی کنم که شبیه یک ایکوساهدرن نیمه بریده منفجر شده باشد (بله ، زمان زیادی طول کشید تا نام دقیق شکل را پیدا کنم).

البته شما مختار هستید که مدل دلخواه خود را با شکلی که می خواهید طراحی کنید! من جزئیات فرایند مدل سازی را توضیح نمی دهم ، اما اگر می خواهید این ساختار را طراحی کنید ، فایل های STL را خواهید یافت.

مونتاژ قطعات مختلف مدتی طول کشید ، زیرا مجبور شدم یک LED را در هر صورت قرار دهم و همه آنها را با لحیم کردن تعداد زیادی سیم در داخل هسته که در حال حاضر به هم ریخته است متصل کنم!

توجه: اگر می خواهید چنین ساختاری را طراحی کنید ، به 10 قطعه شش ضلعی (هر کدام حدود 3 ساعت با استفاده از چاپگر مینی PP3DP UP) و 6 قطعه پنج ضلعی (2 ساعت) نیاز دارید.

هنگامی که یک LED در هر قسمت وجود دارد ، باید هر ترمینال 5V و GND را به یکدیگر متصل کرده و چندین ترمینال ورودی و خروجی هر LED را به روش اتصال آنها سیم کشی کنید.

در نهایت ، من از اکریلیک پخش کننده LED برای پوشاندن هر صورت و روشن نگه داشتن آنها به طور مداوم استفاده کردم.

تنها چیزی که بعد از آن باقی می ماند کد است ، که نشان می دهد پیچیده نیست!

مرحله 6: کد

کد
کد

همانطور که در قسمت قبل اشاره کردم ، کد نشان می دهد که بسیار ساده است!

در واقع ، فقط در یک نمونه MIDI و چندین نمونه Adafruit_NeoPixel (به اندازه نوارهای متفاوت) وجود دارد.

اساساً ، پس از اعلام ، کلاس MIDI با نوعی "وقفه" کار می کند: NoteOn ، NoteOff و CCMessage. وقتی cicruit ورودی MIDI یکی از آن سیگنال های خاص را به آردوینو منتقل می کند ، زیر روال وابسته نامیده می شود. سپس ، تنها کاری که کد انجام می دهد ، روشن کردن یک LED خاص در سیگنال NoteOn ، خاموش کردن آن در سیگنال NoteOff و روشن کردن روشنایی یک نوار در CCMessage است.

همچنین ، یک تابع ساده تعریف کردم که امکان انتخاب رنگ LED ها را با خواندن سرعت همراه با سیگنال NoteOn فراهم می کند و هر LED می تواند قرمز ، بنفش ، آبی ، فیروزه ای ، سبز ، زرد ، نارنجی یا سفید باشد ، بسته به مقدار سرعت از 0 تا 127.

نکته مهمی که باید به آن توجه کنید این است که هنگام بارگذاری طرح خود ، پین RX (از مدار ورودی MIDI) را جدا کنید زیرا پورت سریال (که در این فرایند استفاده می شود) به آن پین متصل است!

مرحله 7: حالا چی؟

من در حال حاضر روی یک محفظه سفارشی برای جاسازی تمام قطعات الکترونیکی کار می کنم و همچنین در مورد نامی برای ساختار فکر می کنم! لطفاً اگر از این پروجت لذت بردید ، به من اطلاع دهید و من در برنامه های مختلف کار می کنم ، زیرا قصد دارم این برنامه آموزشی را با فیلم های بیشتر به روز کنم!

توصیه شده: