RGB-подсветка с аудиовизуализатором MSGEQ7 для ТВ и стола на WS2812
Компоненты и материалы
| Arduino Nano R3 | ×1 |
| Адресуемая LED-лента WS2812 (Digilent) | ×1 |
| MSGEQ7 — 7-полосный графический эквалайзер для спектрального анализа | ×1 |
| Блок питания 5V 2.5A (Digilent) | ×1 |
Инструменты
- Паяльник
Приложения
- Arduino IDE
О проекте
Учебник по сборке RGB-подсветки за ТВ или стол. Схема простая благодаря WS2812.
Примечание: схему MSGEQ7 можно не собирать, если нужна только подсветка без музыки.
Список покупок
- Arduino Nano/Uno (Amazon / AliExpress)
- WS2812 RGB LED Strip (Amazon / AliExpress). IP — защита (водонепроницаемость), число — LED/метр (важно для БП)
- БП 5V (Amazon). Ток: ~20мА на LED. Лента 45 LED (30/м) → 45×20мА ≈ 0.9А + Arduino + MSGEQ7. БП 3A — с запасом.
- 3.5мм аудиоджек
- Потенциометр 10кОм
- Тактическая кнопка
- Резисторы: 1×10кОм, 1×220Ом, для MSGEQ7: 2×100кОм
- Конденсаторы: 1×1000мкФ (электр.), 2×10нФ, для MSGEQ7: 2×0.1мкФ, 1×33пФ
- Диод (обычный)
- DC-джек
Шаг 1: Сборка схемы
Основная схема (WS2812)
Лента 3 пина: VCC, DATA, GND. VCC→5V, GND→GND, DATA→ D6 Arduino. Каждый LED имеет чип WS2812 — данные проходят цепочкой, достаточно подать сигнал на первый LED.
Логика кнопки (смена режимов) и потенциометра (яркость) — в коде.
Важно: Arduino 5V питание только через диод от БП — защита при подключении USB. 10нФ и 1000мкФ — для стабильности питания.
Схема MSGEQ7
Стандартная схема подключения MSGEQ7 к Arduino. Аудиоджек: средний контакт — GND, крайние — стереоканалы через 10нФ к Signal In MSGEQ7. Можно добавить потенциометр на вход для чувствительности (не обязательно).
Подключение к Arduino:
- Analog Out → A1 (MSGEQ_OUT)
- Strobe → D2 (STROBE)
- Reset → D5 (RESET)
rgb_controller.fzz (файл Fritzing для скачивания)
Шаг 2: Код
GitHub: RGBStripe_Control_WS2812
Ключевые моменты кода
- Объект ленты:
Adafruit_NeoPixel(NUM_LEDS, LED_DATA_PIN, NEO_GRB + NEO_KHZ800). Измените NUM_LEDS под свою ленту. setBrightness(0-255)в setup(),begin()включает ленту.setPixel(LED, Color)+show()— обновление.- Кнопка на D3 (через 10кОм к GND) + прерывание →
changeMode()переключает режимы. - Потенциометр на A2 →
checkBrightness()регулирует яркость.
Режимы: радуга, красный, зеленый, синий, белый, аудиоанализатор.
Режим musicAnalyzer() через MSGEQ7
Визуализирует аудиосигнал на входе MSGEQ7. Чип выдает 8 полос (низкие→высокие частоты). Метод сбрасывает MSGEQ7, буферизует значения, переключая полосы импульсом на Strobe. Затем сдвигает все пиксели на 1 назад и вычисляет новый пиксель 0:
- Низкие частоты (бас) → Красный
- Средние → Зеленый
- Высокие → Синий
Сдвиг дает плавную анимацию «водопада».
Шаг 3: Настройка аудио на ПК
Чтобы звук шел и в MSGEQ7, и на колонки:
- Stereo Mix (Realtek): Правый клик на динамике → «Звуки» → вкладка «Запись» → правый клик → «Показать отключенные» → включить Stereo Mix → свойства → «Прослушивать» → выбрать основные колонки.
- Задний выход звуковой карты: Свойства основных колонок → «Улучшения» → «Окружение» → «Комната».
Шаг 4: Примечания
Схему поместил в коробку с отверстиями под USB, аудиоджек, DC-джек, потенциометр, кнопку. Соединение с лентой — через pin headers и перемычки.
Код
Скетч на GitHub: https://github.com/PhilKes/RGBStripe_Control_WS2812
Схемы
Макетная схема Arduino + WS2812 + потенциометр яркости:

fvwp3zyjs5c4z851_12HuWgZiDT.fzz
Автономная схема MSGEQ7 (только для аудиорежима):

Signal In → 3.5мм джек (L/R), управляющие пины — как на основной схеме.
Производственный процесс
- Импульсный датчик света: Усиление световых импульсов LED в слышимый звук
- Сделай свой LUMAZOID: DIY Arduino музыкальный визуализатор
- Детектор аудиочастот на Arduino: измеряем пик громкости с высокочувствительным модулем
- Управление светодиодом по Bluetooth с Arduino: простой DIY-гид
- Как воспроизводить аудио с Arduino UNO и DFPlayer Mini – Пошаговое руководство
- Пошаговое руководство: сборка умного четырёхногого робота на Arduino
- Arduino RGB-микшер цветов: Простой проект для начинающих
- DIY Arduino Radionics EMR Treatment Device — радионическое устройство
- Наружные RGB-прожекторы с DMX-управлением: бюджетное DIY-решение на Arduino
- DIY LED-рулетка — собираем одноигровой аркадный автомат на Arduino Nano