Встречайте Новый год с динамическими музыкальными LED-светами
Компоненты и материалы
| Arduino Nano R3 | ×1 |
| Лента NeoPixel (WS2812) | ×1 |
Приложения и онлайн-сервисы
- Arduino IDE
- CMU.EXE (программа для ПК)
О проекте
Наступает Новый год. Все хотят встретить его радостно и ярко. Эти музыкальные огни, которые я сделал, помогут мне. Возможно, они помогут и вам украсить встречу Нового года и сделать её ярче.
Общий вид музыкальных огней




Пока ждал доставку LED-ленты и Arduino, написал программу «Musical Light» для ПК и скетч управления лентой WS2812 для Arduino.
Лента управляется либо напрямую Arduino через COM-порт, либо через радиомост nRF24L01. В первом случае используется скетч COMTOLEF.ino, во втором — COMtoRF и RFtoLED.
Схемы подключения:

При прямом подключении к USB ПК без доп. питания помните об ограничении тока USB-порта. Если на ленте много диодов, просто установите в скетче количество LED меньше 20:
#define stripLed 20
Резать ленту не нужно. При необходимости поставьте резистор 33–470 Ом между D2 и Din (по рекомендации производителя). Минимальная схема подключения Arduino Nano и LED-ленты показана во вкладке «Easy Connection» программы.

Программа поддерживает цветовые и динамические режимы, подключается к любому аудиоустройству ПК. Цифровая обработка аудиопотока выполняется ПК. Цветомузыкальные программы формируются Arduino на основе спектрального состава текущего фрагмента фонограммы, полученного от ПК. В программе можно выбрать один из 7 цветомузыкальных программ или более 100 динамических. В приложенных скетчах реализовано 72 динамические подпрограммы. Остальные доступны для разработчиков.
Музыкальная программа

Динамические программы

Мой вариант аудиоподключения
Использую iTunes для воспроизведения. Мой ресивер Yamaha поддерживает AirPlay. Одновременно iTunes может выводить звук и на ресивер, и на ПК. На ПК использую виртуальный аудиокабель для подключения к моей программе:

Аудиопоток, приходящий на ПК, по умолчанию идет на вход «виртуального аудиокабеля», а его выход служит источником звука в программе цветомузыки. Можно также использовать микшер, линейный вход ПК или даже микрофон ноутбука/ПК для получения аудиопотока.
Вид работающей программы

Программу можно свернуть в трей, установить автозапуск и сворачивание в трей после запуска.

Внимание! Перед компиляцией скетча установите необходимые библиотеки и исправьте в скетче строку:
#define stripLed 120
На количество LED в вашей ленте, например:
#define stripLed 240
С Новым годом и Рождеством! Видео музыкальной программы:
Видео динамической программы
Код
Musical Lights
https://github.com/juraspb/MusicToColor
Схемы

Производственный процесс
- Телевизор: от механических истоков к умному будущему
- Сборка Bluetooth-робота-шпиона на Arduino с управлением с телефона
- FlickMote: жестовое IR-пульт для умного дома на Arduino 101 и ультразвуковом датчике
- DIY Arduino TV-B-Gone: универсальный пульт для выключения любого телевизора
- Создание пользовательских LED-часов с будильником — видно с 12 метров
- Find Me: Умный поисковик вещей на Arduino и Bluetooth
- Оптимизированные решения питания для проектов на Arduino
- Крестики-нолики на Arduino с матрицей MAX7219 и картонным корпусом
- Пошаговое руководство: сборка умного четырёхногого робота на Arduino
- Arduino RGB-микшер цветов: Простой проект для начинающих