Подсветка RGB + аудиовизуализатор MSGEQ7
Компоненты и расходные материалы
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 | ||||
![]() |
| × | 1 |
Необходимые инструменты и машины
![]() |
|
Приложения и онлайн-сервисы
![]() |
|
Об этом проекте
Это импорт из моих оригинальных Instructables ( нажмите здесь )
Добро пожаловать в мой учебник по созданию светодиодной подсветки RGB . например, для на задней панели телевизора или стола.
Сама схема очень проста, поскольку светодиодные ленты WS2812 очень легко взаимодействовать, например, с Arduino Nano .
Примечание. что вам не нужно использовать дополнительную схему MSGEQ7 Audio Analyzer, если вам нужна только светодиодная подсветка без аудиовизуализации.
Я предоставил подробный список используемых запчастей и где их можно купить:
- Arduino Nano / Uno (Amazon / AliExpress)
- Светодиодная лента WS2812 RGB (Amazon / AliExpress), обратите внимание, что IP означает защиту (например, водонепроницаемость, если вам нужно), а число означает количество светодиодов на метр полосы (важно для источника питания).
- Источник питания 5 В (Amazon) (зависит от количества светодиодных лент) -> каждый светодиод потребляет ~ 20 мА, полоса, используемая в этом руководстве, имеет 45 светодиодов (30 на метр), поэтому мне нужно 45 * 20 мА ~ 1, 5 Ампер питания (Arduino, MSGEQ7 нужно немного тоже), я подключил блок питания, который обеспечивает 3А, чего нам определенно достаточно сейчас.
- Аудиоразъем 3,5 мм (Amazon / AliExpress)
- Потенциометр 10кОм (Amazon / AliExpress)
- Кнопка (Amazon / AliExpress)
- Резистор (1x 10 кОм, 1x 220 Ом, для MSGEQ7:2x100 кОм)
- Конденсаторы (1x 1000yF электролитический (Amazon / AliExpress), 2x 10nF, для MSGEQ7:2x 0,1yF, 1x33pF (Amazon / AliExpress)
- Простой диод (Amazon / AliExpress)
- Разъем постоянного тока (Amazon / AliExpress)
Расходные материалы:
Шаг 1. Постройте схему
Основная схема:
Таким образом, связать полосу WS2812 с Arduino довольно просто с помощью библиотеки Adafruit_NeoPixel.
Светодиодная лента имеет 3 контакта: VCC, DATA, GND . . VCC подключен к 5 В, GND к земле и контакту DATA . посередине подключается к выводу D6 LED_DATA на Arduino. Теперь каждый светодиод на полосе имеет микросхему WS2812, которая принимает данные, которые он получает от Arduino, и передает их следующему светодиоду, поэтому нам нужно только один раз подать данные светодиода на первый светодиод на полосе.
Логика использования кнопки для изменения режимов и потенциометра для управления яркостью объясняется в следующем шаге.
Точную схему можно найти на снимке экрана файла fritzing, который также доступен для загрузки.
Примечание что это очень важно только для подключения вывода Arduino 5V к источнику питания через диод , чтобы не повредить Arduino, если мы подключим USB-кабель для его программирования. 10 нФ и 1000 мкФ также используются из соображений безопасности, чтобы не было перебоев в питании.
Для цепи MSGEQ7 :
Это наиболее распространенная схема для подключения MSGEQ7 к Arduino. Здесь также понадобится аудиоразъем 3,5 мм . . Средний контакт большинства аудиоразъемов - GND, контакты слева / справа - это стереоканалы, которые подключаются через конденсатор 10 нФ к контакту входного сигнала MSGEQ7, как показано на схеме. Вы можете дополнительно добавить потенциометр к контакту входного сигнала для управления чувствительностью аудиосигнала, но на самом деле это не обязательно. MSGEQ7 подключен к Arduino с выводом аналогового выхода подключен к A1 (MSGEQ_OUT), Строб Закрепить на D2 (СТРОБ), Сброс Закрепить на D5 (СБРОС).
rgb_controller.fzz
Шаг 2. Код
GitHub Ссылка на полный набросок :RGBStripe_Control_WS2812
Примечания к коду:
В коде мы объявляем объект полосы WS2812 с новым объектом Adafruit_NeoPixel, передавая количество светодиодов ( измените NUM_LEDS для вашей настройки ), вывод Arduino, подключенный к выводу LED_DATA, и тип кодирования + скорость передачи значений цвета.
Как только это будет сделано, мы установим яркость по умолчанию в setup () . через setBrightness (0–255) и включите полосу с помощью begin () . Теперь мы можем настроить каждый пиксель / светодиод . к определенному цвету RGB с помощью setPixel (LED, Color) . Когда мы закончим установку всех светодиодов на новые значения, мы обновим полосу с помощью strip.show () . . Это практически вся логика кода, которая нам нужна для программирования любой анимации, которую мы хотим. Теперь, чтобы фактически управлять анимацией / режимами, мы добавляем кнопку . / Тактильный переключатель на Arduino. Поэтому мы подключаем один конец кнопки к VCC, а другой к выводу Arduino D3 . и резистором 10кОм на GND. Мы прикрепляем прерывание к этому пину в настройке () , который вызывает вызов метода changeMode () метод каждый раз, когда мы нажимаем кнопку. В changeMode () мы просто переключаемся на следующий режим и скажите текущей анимации прерваться. Как только это произойдет, цикл () будет заново запущен и будет воспроизводить новую анимацию / режим.
Предоставляемые анимации включают:исчезновение цвета радуги, красный, зеленый, синий, белый цвет, режим музыкального анализатора
Кроме того, я добавил потенциометр 10 кОм для управления яркостью полосы . . метод checkBrightness () проверяет выходной сигнал потенциометра, подключенного к контакту A2 (средний контакт потенциометра), и соответственно обновляет яркость полосы.
Для режима musicAnalyzer () через MSGEQ7:
Этот режим визуализирует звуковой сигнал . подключен к входному сигналу MSGEQ7. MSGEQ выводит аналоговый сигнал, демонстрирующий один звуковой диапазон (8 диапазонов, от низких до высоких частот). musicAnalyzer () метод получает текущие значения звуковых полос путем сброса MSGEQ и последующей буферизации предоставленных аналоговых значений. Выходную полосу можно изменить, поместив высокий фланг на Strobe Pin. После того, как все 8 диапазонов буферизованы, метод сдвигает все значения пикселей светодиода на одну величину назад и вычисляет новое значение для светодиода 0 . . Цвет состоит из: Низкочастотного (басового) красного цвета, Среднечастотного зеленого цвета и Высокочастотного синего цвета. Сдвиг значения перед загрузкой нового значения дает нам красивую плавную анимацию по времени.
Шаг 3. Настройте звук на ПК
Чтобы ваша музыка / звук подавалась на MSGEQ7, но при этом музыка воспроизводилась на ваших динамиках, вам нужно либо использовать функцию RealtekHD Stereomix, либо подключить аудиовход MSGEQ, например, к выход на задний динамик вашей звуковой карты / материнской платы.
Чтобы включить Stereomix в Win10, щелкните правой кнопкой мыши значок динамика в правом нижнем углу и выберите «Звуки», здесь вы можете активировать Stereomix на вкладке «Запись» (щелкните правой кнопкой мыши -> активировать). Если Stereomix не отображается, щелкните правой кнопкой мыши и выберите «Показать отключенные устройства». Теперь откройте настройки Stereomix и скажите ему слушать и копировать звук ваших основных динамиков.
Если вы хотите использовать выход на задний динамик, откройте настройки основного динамика в меню «Звуки», на вкладке «Улучшения», затем выберите «Среда» из списка и выберите «Комната» в раскрывающемся меню ниже.
Теперь это обеспечивает параллельный вывод звука на динамики и MSGEQ7.
Шаг 4. Примечания
Поскольку схема не такая уж сложная и большая, мне удалось поместить всю схему в маленькую коробочку с отверстиями для USB-разъема, аудиоразъема, разъема постоянного тока, потенциометра и кнопки. Вы можете просто использовать штекерные / розеточные контактные разъемы и подключить 3 кабеля к полосе WS2812 с помощью соединительных кабелей.
Код
Загрузить Arduino Sketch
https://github.com/PhilKes/RGBStripe_Control_WS2812Схема
Схема Breaboard для подключения Arduino к полосе WS2812 с контролем яркости с помощью потенциометра
Подключите входной сигнал к 3,5-миллиметровому аудиоразъему, левому / правому каналу, и другим контрольным контактам, как показано на другой схеме.

Производственный процесс
- Датчик импульсного света
- Музыкальный визуализатор DIY LUMAZOID для Arduino
- Детектор звуковой частоты
- Arduino с Bluetooth для управления светодиодом!
- Воспроизведение звука в Arduino
- Четвероногий Arduino
- Цветовой микшер Arduino RGB
- Сделай сам Arduino РАДИОНИКА Лечение MMachine
- Светодиодный уличный светодиод DMX RGB
- Светодиодная игра в рулетку