Оглавление:

Светодиодная структура, управляемая по MIDI: 7 шагов
Светодиодная структура, управляемая по MIDI: 7 шагов

Видео: Светодиодная структура, управляемая по MIDI: 7 шагов

Видео: Светодиодная структура, управляемая по MIDI: 7 шагов
Видео: Компараторы. Часть 7 - Генератор треугольных импульсов 2024, Июль
Anonim
Image
Image

Как настоящий меломан и студент, изучающий электронику и информатику, я всегда хотел создавать MIDI-устройства, которые можно было бы использовать для создания электронной музыки.

После посещения множества шоу и музыкальных фестивалей я начал серьезно интересоваться световыми шоу во время выступлений.

После долгих исследований я в основном обнаружил только устройства, которые используют микрофон и не могут позволить управлять светодиодами точно так, как вы хотите.

Узнав все больше и больше о сигналах DAW и MIDI, я решил начать этот проект!

Он представляет собой трехмерную структуру со встроенными светодиодами, которые фактически управляются сигналами MIDI (NoteOn, NoteOff и сообщения CC).

Таким образом, музыкант мог управлять цветом и яркостью каждого светодиода, только используя MIDI-сигналы, генерируемые любой DAW.

С помощью этой идеи я хотел развить творчество с помощью световых шоу и позволить каждому создавать свои собственные, чтобы сделать каждое визуальное представление уникальным.

Шаг 1: материалы

По сути, этот проект состоит из двух частей: схемы приема MIDI и светодиодной структуры; и микроконтроллер, чтобы связать эти части и «транслировать» MIDI-сигналы, поступающие от DAW, на светодиодные ленты. Вот список материалов, необходимых для каждой части.

Схема приема MIDI:

  • Оптопара 6N138 - 1 шт.
  • 1 х 1N914 диод
  • 1 х 5-контактный разъем Din (MIDI-разъем)
  • 2 резистора 220 Ом
  • 1 резистор 4,7 кОм
  • 1 разъем USB / MIDI

Светодиодная структура:

Я использовал светодиодные ленты RGB на основе светодиодов WS2812B, которыми можно управлять с помощью всего 1 цифрового порта. Если вы планируете использовать большое количество светодиодов, возможно, вам придется позаботиться о максимальном необходимом токе (1 светодиод может потреблять не более 60 мА). Если микроконтроллер не может обработать это максимальное значение, вам понадобится еще один источник питания 5 В, который может обеспечить достаточный ток. Я использовал адаптер переменного / постоянного тока 5 В - 8 А со специальным выходным адаптером и переключателем.

Примечание: кажется, что вы можете использовать компьютерный блок питания, поскольку они знают, что могут выдавать действительно высокий ток, но вам нужно убедиться, что он обеспечивает стабильное напряжение 5 В постоянного тока, возможно, используя Резистор мощности 36 Ом 5 Вт между землей (черный) и выходом 5 В (красный), чтобы через резистор проходил достаточный ток и, таким образом, обеспечивалось стабильное напряжение 5 В.

Наконец, я использовал простую Arduino Uno с экраном для винтов, чтобы связать MIDI-сигналы и светодиодные ленты.

Шаг 2: Построение входной цепи MIDI

Построение входной цепи MIDI
Построение входной цепи MIDI
Построение входной цепи MIDI
Построение входной цепи MIDI

Если вас интересует, что такое протокол MIDI и как он работает, я настоятельно рекомендую вам проверить канал Notes и Volts на YouTube, где есть много интересных и новаторских руководств и проектов MIDI Arduino.

В этой части я сосредоточусь только на входной цепи MIDI. Может быть хорошей идеей создать прототип на макетной плате и проверить, хорошо ли принимаются MIDI-сигналы, поступающие из DAW, микроконтроллером, прежде чем приступать к пайке компонентов.

В следующих двух видеороликах описывается, как построить и протестировать схему:

  • Построение схемы
  • Тестирование схемы

Наконец, также может быть хорошей идеей просмотреть это видео, чтобы понять сообщения CC и то, как клипы автоматизации могут быть интерпретированы вашим микроконтроллером, например, для управления яркостью светодиода.

Шаг 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 и адаптировать его к вашей светодиодной структуре.

Шаг 4: Подключение светодиодов

Подключение светодиодов
Подключение светодиодов

Подключить светодиодные ленты довольно просто, так как для них достаточно + 5V, GND и Data. Однако, поскольку я планировал подключить более 20 из них, я решил использовать несколько выводов Arduino PWM и объявить несколько экземпляров Adafruit_NeoPixel (в coe), чтобы избежать какой-либо непреднамеренной задержки.

Прикрепленное изображение также призвано объяснить, как работает электроника:

  • Светодиодные ленты питаются напрямую от источника питания.
  • Выключатель питания используется для питания Arduino
  • входная цепь MIDI питается от Arduino при включении переключателя

Шаг 5: Проектирование 3D-структуры

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

Пока что эта часть была самой длинной, так как я был совершенно новичком в 3D-печати (и моделировании). Я хотел создать структуру, которая выглядела бы как усеченный наполовину усеченный икосаэдр (да, мне потребовалось некоторое время, чтобы найти точное название формы).

Конечно, вы можете создать свою собственную модель желаемой формы! Я не буду подробно описывать процесс моделирования, но вы найдете файлы STL, если захотите спроектировать эту структуру.

Сборка различных частей заняла некоторое время, так как мне пришлось установить по одному светодиоду на каждую поверхность и соединить их все, припаяв большое количество проводов внутри сердечника, что в настоящее время довольно беспорядочно!

Примечание: если вы хотите спроектировать такую структуру, вам потребуется 10 шестиугольных частей (около 3 часов каждая при использовании мини-принтера PP3DP UP) и 6 пятиугольных частей (2 часа).

Как только в каждой части будет по одному светодиоду, вам нужно будет соединить все клеммы 5V и GND вместе и подключить несколько входных и выходных клемм каждого светодиода так, как вы их должны соединить.

Наконец, я использовал светодиодный рассеивающий акрил, чтобы покрыть каждую грань и сделать ее равномерно светлой.

Все, что остается после этого, - это код, который оказывается не таким уж сложным!

Шаг 6: Код

Код
Код

Как я уже упоминал в предыдущей части, код оказывается довольно простым!

Фактически, он состоит только из одного экземпляра MIDI и нескольких экземпляров Adafruit_NeoPixel (столько, сколько есть разных полос).

В основном, как только он объявлен, класс MIDI работает с «прерываниями»: NoteOn, NoteOff и CCMessage. Когда входной сигнал MIDI передает один из этих сигналов на Arduino, вызывается соответствующая подпрограмма. Затем все, что делает код, - это включение определенного светодиода в сигнале NoteOn, его выключение для соответствующего сигнала NoteOff и обновление яркости полосы в CCMessage.

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

Важно отметить, что вам придется отключить вывод RX (идущий от входной MIDI-цепи) при загрузке вашего скетча, поскольку последовательный порт (используемый во время этого процесса) подключен к этому выводу!

Шаг 7: Что теперь?

В настоящее время я работаю над индивидуальным корпусом для встраивания всей электроники, и я также думаю о названии конструкции! Пожалуйста, дайте мне знать, понравился ли вам этот проект, и я работаю над разными шоу, так как я планирую обновить эту инструкцию, добавив больше видео!

Рекомендуемые: