Съдържание:

MIDI контролирана LED структура: 7 стъпки
MIDI контролирана LED структура: 7 стъпки

Видео: MIDI контролирана LED структура: 7 стъпки

Видео: MIDI контролирана LED структура: 7 стъпки
Видео: Modkam - Zigbee станция для капельного полива растений 2024, Юли
Anonim
Image
Image

Като истински любител на музиката и студент по електронни и компютърни науки, винаги съм искал да създавам MIDI устройства, които да използвам за създаване на електронна музика.

След като посещавах много шоута и музикални фестивали, започнах наистина да се интересувам от светлинни шоута по време на представления.

След много проучвания открих най -вече само устройства, които използват микрофон и не можеха да позволят да се контролират светодиодите точно както искате.

Запознавайки се все повече и повече с DAW и MIDI сигналите, реших да започна с този проект!

Състои се от 3D структура с некорпорирани светодиоди, които всъщност се контролират от MIDI сигнали (NoteOn, NoteOff и CC съобщения).

За да може музикантът да контролира цвета и интензитета на всеки светодиод, само чрез използване на MIDI сигнали, генерирани от всеки DAW.

С тази идея исках да подобря креативността чрез светлинни предавания и да позволя на всеки да изгради свой собствен, да направи всяко визуално изпълнение уникално.

Стъпка 1: Материали

По принцип този проект се състои от две части: схема за приемане на MIDI и LED структура; и микроконтролер за свързване на тези части и "превеждане" на MIDI сигналите, идващи от DAW към LED лентите. Ето списък на необходимите материали за всяка част.

MIDI схема за приемане:

  • 1 x 6N138 Оптрон
  • 1 x 1N914 диод
  • 1 x 5-пинов Din жак (MIDI жак)
  • 2 x 220 ома резистори
  • 1 x 4.7K ом резистор
  • 1 USB/MIDI жак

LED структура:

Използвах RGB LED ленти, базирани на WS2812B LED, които могат да се управляват само с 1 цифров порт. Ако планирате да използвате голям брой светодиоди, може да се наложи да се грижите за максималния необходим ток (1 светодиод може да консумира най -много 60mA). Ако микроконтролерът не може да се справи с тази максимална стойност, ще ви е необходимо друго 5V захранване, което може да достави достатъчно ток. Използвах 5V - 8A AC/DC адаптер със специалния изходен адаптер и превключвател.

Забележка: Изглежда, че можете да използвате компютърно захранващо устройство, тъй като те знаят, че могат да доставят наистина висок ток, но ще трябва да се уверите, че той осигурява стабилно 5V DC напрежение, може би като използвате Резистор на мощност 36 ома 5 вата между земята (черен) и изхода 5V (червен), за да осигури достатъчно ток през резистора и по този начин да осигури стабилни 5V.

И накрая, използвах обикновен Arduino 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), които ще се използват за контрол на яркостта на светодиодите: изберете CC и след това Приемете.

Обикновено FL Studio вече е готов да изпраща данни към вашия MIDI интерфейс! Следващото е да напишете кода, който да мига в Arduino и да го адаптирате към вашата LED структура.

Стъпка 4: Свързване на светодиодите

Свързване на светодиодите
Свързване на светодиодите

Свързването на LED лентите е доста просто, тъй като те просто изискват +5V, GND и данни. Въпреки това, тъй като планирах да свържа повече от 20 от тях, реших да използвам няколко PWM пина на Arduino и да декларирам няколко екземпляра на Adafruit_NeoPixel (в кое), за да избегна всякакъв вид непреднамерено забавяне.

Прикаченото изображение също възнамерява да обясни как работи електрониката:

  • LED лентите се захранват директно от захранването.
  • За захранването на Arduino се използва превключвател за захранване
  • входната верига на MIDI се захранва от Arduino при включване на превключвателя

Стъпка 5: Проектиране на 3D структурата

Проектиране на 3D структура
Проектиране на 3D структура
Проектиране на 3D структура
Проектиране на 3D структура
Проектиране на 3D структура
Проектиране на 3D структура
Проектиране на 3D структура
Проектиране на 3D структура

Досега тази част беше най-дългата, тъй като бях съвсем нов с 3D печат (и моделиране). Исках да проектирам структура, която изглеждаше като наполовина взривен пресечен икосаедър (да, отне ми известно време, за да намеря точното име на формата).

Разбира се, вие сте свободни да проектирате свой собствен модел с желаната от вас форма! Няма да описвам подробно процеса на моделиране, но ще намерите STL файловете, ако искате да проектирате тази структура.

Сглобяването на различните части отне известно време, тъй като трябваше да поставя по един светодиод във всяко лице и да ги свържа чрез запояване на голям брой проводници в сърцевината, които в момента са доста объркани!

Забележка: ако искате да проектирате такава структура, ще ви трябват 10 шестоъгълни парчета (около 3 часа всяко с помощта на мини принтер PP3DP UP) и 6 петоъгълни парчета (2 часа).

След като във всяка част има по един светодиод, ще трябва да свържете всички 5V и GND терминали заедно и да свържете няколко входни и изходни клеми на всеки светодиод по начина, по който да ги свържете.

И накрая, използвах дифузен LED акрил, за да покрия всяко лице и да ги осветя постоянно.

Всичко, което остава след това, е кодът, който разкрива, че не е толкова сложен!

Стъпка 6: Кодът

Кодът
Кодът

Както споменах в предишната част, кодът се оказва доста прост!

Всъщност той се състои само в един MIDI екземпляр и няколко екземпляра Adafruit_NeoPixel (колкото има различни ленти).

По принцип, след като е деклариран, класът MIDI работи с вид „прекъсвания“: NoteOn, NoteOff и CCMessage. Когато MIDI входният цикут предава един от тези специфични сигнали към Arduino, се извиква асоциираната подпрограма. След това всичко, което прави кодът, е да включи конкретен светодиод на сигнала NoteOn, да го изключи при асоциирания сигнал NoteOff и да актуализира яркостта на лента в CCMessage.

Също така дефинирах проста функция, която дава възможност да се избере цвета на светодиодите, като се прочете скоростта, идваща със сигнала NoteOn и всеки светодиод може да бъде или червен, лилав, син, тюркоазен, зелен, жълт, оранжев или бял, в зависимост от стойността на скоростта от 0 до 127.

Важно нещо, което трябва да забележите, е, че ще трябва да изключите RX щифта (идващ от входната верига на MIDI), когато качвате скицата си, тъй като серийният порт (използван по време на този процес) е свързан към този щифт!

Стъпка 7: Какво сега?

В момента работя върху персонализиран корпус, който да вгражда цялата електроника, а също мисля за име на структурата! Моля, уведомете ме, ако ви е харесал този проект, и аз работя върху различни предавания, тъй като планирам да актуализирам тази инструкция с още видеоклипове!

Препоръчано: