Оглавление:

Куртка для светового шоу, реагирующая на музыку: 7 шагов (с изображениями)
Куртка для светового шоу, реагирующая на музыку: 7 шагов (с изображениями)

Видео: Куртка для светового шоу, реагирующая на музыку: 7 шагов (с изображениями)

Видео: Куртка для светового шоу, реагирующая на музыку: 7 шагов (с изображениями)
Видео: «Речевое развитие детей дошкольного возраста в игровой деятельности» 25.01.2021 2024, Июль
Anonim
Куртка для светового шоу, реагирующая на музыку
Куртка для светового шоу, реагирующая на музыку

Этот учебник был подготовлен в рамках моего проекта последнего года обучения на получение степени в области музыкальных технологий и прикладной электроники в Йоркском университете. Он предназначен для музыкантов, интересующихся электроникой. Готовым продуктом будет светодиодная матрица на спине куртки, способная производить световое шоу в соответствии с музыкой. Это будет сделано путем анализа аудиовходов с использованием Pure Data и Arduino. Куртка будет иметь две настройки, которыми можно управлять с помощью переключателя. Одна настройка будет управлять светодиодами в соответствии с амплитудой музыки, а другая будет мигать светодиодами по одному и менять цвет в зависимости от высоты звука.

Как это будет работать

Это устройство будет состоять из двух отдельных цепей. Один будет основан на Arduino Mega, подключенном напрямую к компьютеру. Другая схема будет основана на LilyPad Arduino и будет полностью помещена в оболочку и питаться от батареи 9 В. Обе эти схемы будут связываться друг с другом по беспроводной сети с помощью модулей XBee. Аудиосигналы будут приниматься встроенным микрофоном компьютера и анализироваться в Pure Data для получения данных об амплитуде и частоте. Эта информация будет передана в Arduino Mega с помощью входной MIDI-цепи, а затем будет передана на LilyPad с помощью XBee. Затем LilyPad определит, как отреагируют светодиоды на куртке.

Что тебе понадобится

Для мегасхемы

  • Ардуино Мега 2560
  • XBee Explorer регулируется
  • Трассовая антенна XBee 1 мВт - Серия 1
  • Щит для прототипирования Mega
  • USB типа от A до B
  • Кабель USB-MIDI
  • MIDI-разъем
  • 1 резистор 220 Ом
  • 1 резистор 270 Ом
  • 1 х 1N4148 диод
  • Оптопара 6N138 - 1 шт.

Для цепи LilyPad

  • Основная плата LilyPad Arduino 328
  • Плата LilyPad XBee Breakout
  • Трассовая антенна XBee 1 мВт - Серия 1
  • Базовая коммутационная плата LilyPad FTDI
  • 72 светодиода LilyPad (доступны все цвета, включая белый, синий, красный, желтый, зеленый, розовый и фиолетовый)
  • Ползунковый переключатель LilyPad
  • Кабель USB 2.0 A-Male - Mini-B
  • Батарея 9В
  • Зажим аккумулятора 9 В

Другой

  • Куртка
  • Компьютер с Pure Data и установленной Arduino IDE
  • Провода для оборудования
  • Паяльное оборудование
  • Кусачки
  • Инструмент для зачистки проводов
  • Игла с большим ушком
  • Нить
  • Проводящая нить
  • Ножницы
  • Рулетка
  • Клей для ткани или прозрачный лак для ногтей
  • Мел или белая подводка для глаз
  • Ткань для подкладки или старой футболки
  • Липучка
  • Дрель (возможно)
  • Стандартный светодиод (для тестирования)
  • Макетная плата (для тестирования)
  • Еще один резистор 220 Ом (для тестирования)
  • Мультиметр (для тестирования)

Стоимость этого проекта будет во многом зависеть от того, сколько из вышеперечисленного оборудования у вас уже есть. Однако, скорее всего, это будет где-то между 150 и 200 фунтами стерлингов.

Небольшое примечание - платы LilyPad предназначены для пришивания непосредственно к текстилю, поэтому припаивание зажима батареи 9 В к одному из них может вызвать проблемы. Связь может быть хрупкой, и ее легко разорвать. Вы можете приобрести специально разработанные платы LilyPad для батарей AAA или LiPo, которые, по вашему мнению, вы бы предпочли использовать. Тем не менее, я все же решил пойти по маршруту 9 В, поскольку их время автономной работы больше, чем у AAA, и в моем университете есть ограничения на использование LiPo-батарей.

Шаг 1: Создание входной цепи MIDI

Создание входной цепи MIDI
Создание входной цепи MIDI
Создание входной цепи MIDI
Создание входной цепи MIDI
Создание входной цепи MIDI
Создание входной цепи MIDI

Прежде всего, давайте рассмотрим схему ввода MIDI. Это нужно будет построить на макетной плате, которая будет вставлена в Arduino Mega. Он будет использоваться для отправки MIDI-сообщений от патча Pure Data на Mega через его контакт «COMMUNICATION RX0». См. Принципиальную схему и фото выше. В зависимости от вашей макетной платы, ваш макет может немного отличаться, но я решил разместить MIDI-разъем в нижнем левом углу. Здесь может потребоваться сверло, чтобы сделать отверстия на щите больше, чтобы они подходили к розетке. Красные провода на фотографии подключены к 5 В, коричневый - к земле, черный провод подключен к контакту 3 на 6N138, синий провод подключен к контакту 2 на 6N138, а желтые провода подключены к RX0. штырь. С правой стороны макетной платы осталось место, чтобы позже было место для XBee. Вероятно, необходимо будет сделать разрывы в дорожках на доске. В этом примере их нужно было сделать между штырями на 6N138.

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

Чтобы проверить схему, загрузите приведенный ниже код в Arduino Mega с помощью кабеля USB типа A - B. Убедитесь, что экран не вставлен, когда вы это делаете, поскольку код не может быть загружен, если что-либо подключено к контактам RX или TX. Кроме того, в код входит библиотека MIDI.h, которую вам может потребоваться загрузить по ссылке ниже.

MIDI.h

Затем вставьте экран в мега и подключите его к другому USB-порту на вашем компьютере через кабель MIDI-USB. Конец MIDI, который вам нужно будет использовать, будет помечен как «out». Создайте простую схему на макете, подключив контакт 2 к резистору 220 Ом, а затем подключите его к аноду стандартного светодиода. Подключите катод светодиодов к земле.

Затем создайте простой патч Pure Data с сообщением [60 100] и сообщением [0 0], оба подключенных к объекту noteout через его левый вход. Убедитесь, что этот патч подключен к цепи ввода MIDI, открыв настройки MIDI и изменив устройство вывода. Если это недоступно, убедитесь, что вы подключили MIDI-схему к компьютеру, прежде чем открывать Pure Data. Теперь, если ваша схема исправна, светодиод должен загореться при нажатии сообщения [60 100] и погаснуть при нажатии сообщения [0 0].

Шаг 2: проектирование светодиодной матрицы

Разработка светодиодной матрицы
Разработка светодиодной матрицы
Разработка светодиодной матрицы
Разработка светодиодной матрицы
Разработка светодиодной матрицы
Разработка светодиодной матрицы

Далее необходимо рассмотреть светодиодную матрицу для задней части куртки. Он будет напрямую подключен к основной плате LilyPad. Обычно для управления светодиодами с помощью микроконтроллера каждому из них назначается отдельный вывод. Однако с одним Arduino LilyPad это было бы очень ограничивающе. Всего у LilyPad 12 цифровых контактов и 6 аналоговых, то есть потенциально 18 выходных контактов. Однако, поскольку один из этих выводов будет использоваться позже для управления ползунковым переключателем, останется только 17.

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

  • Светодиоды представляют собой диоды и пропускают ток только в одном направлении.
  • Человеческий глаз и мозг обрабатывают изображения намного медленнее, чем свет может перемещаться, поэтому, если светодиоды мигают достаточно быстро, мы этого не заметим. Это концепция, известная как «Постоянство зрения».

При использовании этого метода количество светодиодов, которыми можно управлять, равно (n / 2) x (n- (n / 2)), где n - количество доступных управляющих контактов. Следовательно, при наличии 17 контактов должно быть возможно управлять 72 светодиодами в матрице 9x8.

Выше можно увидеть схему расположения светодиодов в матрице 9x8, включая предложения по контактам, к которым должна быть подключена каждая строка и столбец. Важно отметить, что строки и столбцы не должны соприкасаться. Кроме того, резисторы не требуются, так как каждый светодиод имеет собственный встроенный с сопротивлением 100 Ом.

Перед тем, как приступить к шитью, следует распланировать схему на куртке. Хорошее место для начала - отметить на куртке, где светодиоды будут размещаться маленькими точками, с помощью рулетки, чтобы убедиться, что они расположены равномерно. Для черной кожаной куртки очень хорошо подойдет белая подводка для глаз, и в случае ошибки ее можно легко стереть. Однако другие материалы, такие как мел, также могут работать в зависимости от материала и цвета вашей куртки. Расположение цветов светодиодов, которые я использовал, можно увидеть выше, которые будут работать с кодом, предоставленным позже. Вы можете использовать другой макет, хотя его нужно будет изменить в коде.

Следующее, о чем нужно подумать, - это куда пойдут LilyPad, LilyPad XBee и блок питания. Что касается куртки, которую я использовал, казалось, что наиболее разумным и незаметным местом является задняя часть куртки, внизу и на внутренней подкладке. Это связано с тем, что здесь вряд ли кто-то ударит руки пользователя, и он может легко получить доступ к светодиодной матрице. Кроме того, поскольку куртка, которую я использовал, была свободной внизу, она все еще была удобной.

Шаг 3: Сшиваем светодиодную матрицу

Пошив светодиодной матрицы
Пошив светодиодной матрицы
Пошив светодиодной матрицы
Пошив светодиодной матрицы
Пошив светодиодной матрицы
Пошив светодиодной матрицы

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

  • Приклеивание компонента на место с помощью клея для ткани значительно упростит шитье.
  • Различные типы швов будут иметь разные эстетические и функциональные свойства, поэтому перед началом работы стоит изучить их. Однако для этого проекта подойдет базовый беговой стежок.
  • Узлы, как правило, довольно легко развязываются с токопроводящей нитью, так как она «пружинистее», чем обычно. Чтобы решить эту проблему, используйте небольшое количество прозрачного лака для ногтей или клея для ткани, чтобы склеить их. Дайте им время высохнуть, прежде чем отрезать им хвосты.
  • При создании соединений с компонентами схемы или соединении вместе двух линий токопроводящей нити рекомендуется прошить их несколько раз, чтобы обеспечить хорошее механическое и электрическое соединение.
  • Убедитесь, что ваша игла острая и имеет большое ушко. Проникновение через куртку может быть трудным, а токопроводящая нить толще, чем обычно.
  • Остерегайтесь распущенных волосков на нити. Они могут вызвать короткое замыкание в контуре, если они коснутся других линий шитья. Если это станет серьезной проблемой, все линии можно заклеить прозрачным лаком для ногтей или клеем для ткани после того, как будет проведено тестирование, и все определенно будет работать правильно.

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

Как только вы будете удовлетворены, начните шить светодиоды для столбца справа от куртки. Убедитесь, что каждый анод прикреплен к своему собственному ряду, а каждый катод прикреплен к столбцу слева. Затем поместите LilyPad Arduino на место с помощью клея для ткани где-нибудь примерно под этой колонкой, убедившись, что контакты для коммутационной платы FTDI обращены вниз. Пришейте булавку 11 LilyPad к ряду 1, булавку 12 к ряду 2 и так далее, пока булавка A5 не будет пришита к ряду 9. Затем пришейте булавку 10 к крайнему правому столбцу. Чтобы проверить этот первый столбец, вы можете использовать приведенный ниже код. Загрузите код и включите LilyPad, подключив его к компьютеру с помощью коммутационной платы FTDI и кабеля USB 2.0 A-Male - Mini-B.

Если правильный порт недоступен при подключении LilyPad, вам может потребоваться установить драйвер FTDI, доступный по ссылке ниже.

Установка драйвера FTDI

Как только у вас загорится этот первый столбец светодиодов, пора пришить остальные к куртке. Это довольно трудоемкий процесс, поэтому его лучше всего отложить на несколько дней. Обязательно проверяйте каждый столбец по мере продвижения. Вы можете сделать это, адаптировав приведенный выше код так, чтобы контакт для столбца, который вы хотите протестировать, был объявлен как выход в настройке, а затем в цикле был установлен НИЗКИЙ. Убедитесь, что контакты других столбцов установлены на ВЫСОКОЕ, так как это гарантирует, что они отключены.

Шаг 4: Добавление коммутатора

Добавление коммутатора
Добавление коммутатора

Затем вы можете добавить переключатель, который будет использоваться для изменения настроек на куртке. Его нужно пришить к внутренней части куртки под платой LilyPad Arduino. Используя токопроводящую резьбу, конец с надписью «выкл.» Следует подключить к заземлению, а конец с меткой «вкл.» Следует подключить к контакту 2.

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

Шаг 5: настройка беспроводного устройства

Создание беспроводного устройства
Создание беспроводного устройства
Создание беспроводного устройства
Создание беспроводного устройства
Создание беспроводного устройства
Создание беспроводного устройства

Подготовка LilyPad XBee и XBee Explorer

Подготовьте LilyPad XBee к настройке, припаяв 6-контактный прямоугольный штекерный разъем. Позже это позволит подключить его к компьютеру через плату LilyPad FTDI Basic Breakout и кабель USB Mini. Кроме того, припаяйте зажим батареи 9 В к LilyPad XBee так, чтобы красный провод шел к контакту «+», а черный провод - к контакту «-».

Подключите плату Explorer к экрану для прототипирования Arduino Mega. 5V и заземление на плате Explorer необходимо будет подключить к 5V и заземлению на Mega, выходной контакт на Explorer необходимо будет подключить к RX1 на Mega, а вход на Explorer нужно будет подключить к TX1 на Mega.

Настройка XBee

Затем необходимо настроить XBee. Прежде всего, вам необходимо бесплатно установить программное обеспечение CoolTerm, которое доступно по ссылке ниже.

Программное обеспечение CoolTerm

Убедитесь, что вы каким-то образом различаете два XBee, так как важно, чтобы вы не перепутали их.

Сначала настройте XBee для компьютера. Вставьте его в плату LilyPad XBee Breakout и подключите к компьютеру с помощью базовой коммутационной платы FTDI и кабеля USB Mini. Откройте CoolTerm и в разделе «Параметры» выберите правильный последовательный порт. Если вы его не видите, попробуйте нажать «Повторно сканировать последовательные порты». Затем убедитесь, что скорость передачи установлена на 9600, включите Local Echo и установите Key Emulation на CR. CoolTerm теперь можно подключить к XBee.

Введите «+++» в главное окно, чтобы перевести XBee в командный режим. Не нажимайте возврат. Это позволит настроить его с помощью AT-команд. Если это было успешно, после очень короткой паузы должно появиться сообщение «ОК». Если перед следующей строкой есть задержка более 30 секунд, командный режим выйдет из режима, и это нужно будет повторить. Необходимо ввести множество AT-команд, чтобы установить PAN ID, MY ID, Destination ID и сохранить изменения. После каждой из этих команд нужно нажимать Return, и это можно увидеть в таблице выше. Как только это будет выполнено для компьютера XBee, его необходимо отключить, и тот же процесс должен быть выполнен для оболочки XBee.

Вы можете проверить новые настройки XBee, вводя каждую AT-команду без значения в конце. Например, если вы наберете «ATID» и нажмете return, «1234» должно отобразиться в ответ.

Тестирование XBee

На этом этапе пришейте LilyPad XBee к куртке рядом с LilyPad Arduino. Следующие соединения необходимо выполнить с помощью токопроводящей резьбы:

  • От 3,3 В на LilyPad XBee до '+' на LilyPad
  • Заземление на LilyPad XBee Заземление на LilyPad
  • RX на LilyPad XBee в TX на LilyPad
  • TX на LilyPad XBee в RX на LilyPad

Теперь устройство можно протестировать, чтобы убедиться, что XBee работают правильно. Приведенный ниже код под названием Wireless_Test_Mega необходимо загрузить в Arduino Mega, и его основная цель - получать MIDI-сообщения от простого патча Pure Data, созданного ранее, и передавать различные значения через XBee. Если получена MIDI-нота с высотой тона 60, будет передано сообщение «а». В качестве альтернативы, если получено сообщение «noteoff», будет передано «b».

В дополнение к этому, приведенный ниже код под названием «Wireless_Test_LilyPad» необходимо загрузить в LilyPad. Он получает сообщения от Mega через XBee и соответственно управляет нижним правым светодиодом. Если получено сообщение «a», означающее, что Mega была получена MIDI-нота с высотой тона 60, загорится светодиод. С другой стороны, если «а» не получено, светодиод погаснет.

После того, как код был загружен на обе платы, убедитесь, что экран снова вставлен в Mega и что он подключен к компьютеру через оба кабеля. Вставьте компьютер XBee в плату проводника. Затем убедитесь, что плата FTDI Breakout отсоединена от оболочки, и вставьте оболочку XBee в LilyPad XBee. Подключите батарею 9 В и попробуйте нажимать разные сообщения в Pure Data. Нижний правый светодиод на куртке должен загореться и погаснуть.

Шаг 6: Последние штрихи

Последние штрихи
Последние штрихи
Последние штрихи
Последние штрихи
Последние штрихи
Последние штрихи

Патч для кода и чистых данных

Когда вы будете довольны тем, что куртка работает без проводов, загрузите скетч «MegaCode» ниже в Arduino Mega, а скетч «LilyPadCode» - на LilyPad. Откройте патч Pure Data, убедившись, что DSP включен, а аудиовход настроен на встроенный микрофон вашего компьютера. Включите музыку и переместите переключатель. Возможно, вам придется немного отрегулировать пороги в Pure Data в зависимости от того, насколько светодиоды реагируют на звук.

Добавление новой подкладки

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

Прежде всего, пришейте полоски-петли (более мягкую часть) к куртке с внутренней стороны, вдоль верха и вниз с обеих сторон. Лучше оставить нижнюю часть свободной, так как это позволит воздуху проникнуть в компоненты. Затем отрежьте кусок ткани того же размера и пришейте к нему «крючки» на липучке сверху и снизу с обеих сторон. Также на той же стороне, что и липучка, в наиболее удобном месте пришейте карман, в котором сможет поместиться аккумулятор. Примеры см. На рисунках выше.

Шаг 7: Готово

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

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