Оглавление:

Подсветка RGB + аудиовизуализатор: 4 шага (с изображениями)
Подсветка RGB + аудиовизуализатор: 4 шага (с изображениями)

Видео: Подсветка RGB + аудиовизуализатор: 4 шага (с изображениями)

Видео: Подсветка RGB + аудиовизуализатор: 4 шага (с изображениями)
Видео: ЧЕСТНЫЙ обзор Steelseries Rival 700 2024, Ноябрь
Anonim
Подсветка RGB + аудиовизуализатор
Подсветка RGB + аудиовизуализатор
Подсветка RGB + аудиовизуализатор
Подсветка RGB + аудиовизуализатор

Добро пожаловать в мои инструкции о том, как создать светодиодную подсветку 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 тоже нужен), я подключил блок питания, который обеспечивает 3A, чего нам определенно достаточно сейчас
  • Аудиоразъем 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)
  • Разъем DC (Amazon / AliExpress)

Шаг 1. Создайте схему

Постройте схему
Постройте схему
Постройте схему
Постройте схему
Постройте схему
Постройте схему

Основная схема:

Таким образом, связать полосу WS2812 с Arduino довольно просто, используя библиотеку Adafruit_NeoPixel.

Светодиодная лента имеет 3 контакта: VCC, DATA, GND. VCC подключен к 5 В, GND к земле, а вывод DATA в середине подключен к выводу LED_DATA D6 на Arduino. Теперь каждый светодиод на полосе имеет микросхему WS2812, которая принимает данные, которые он получает от Arduino, и передает их следующему светодиоду, поэтому нам нужно только один раз подать данные светодиода на первый светодиод на полосе.

Логика использования кнопки для изменения режимов и потенциометра для управления яркостью объясняется в следующем шаге.

Точную схему можно найти на снимке экрана файла fritzing, который также доступен для загрузки.

Обратите внимание, что очень важно подключать вывод Arduino 5V к источнику питания только через диод, чтобы Arduino не был поврежден, если мы подключим USB-кабель для его программирования. 10 нФ и 1000 мкФ также предназначены из соображений безопасности, чтобы не было перебоев в питании.

Для схемы MSGEQ7:

Это наиболее распространенная схема для подключения MSGEQ7 к Arduino. Здесь также понадобится аудиоразъем 3,5 мм. Средний контакт большинства аудиоразъемов - GND, контакты слева / справа - это стереоканалы, которые подключаются через конденсатор 10 нФ к контакту входного сигнала MSGEQ7, как показано на схеме. Вы можете дополнительно добавить потенциометр к контакту входного сигнала для управления чувствительностью аудиосигнала, но на самом деле это не обязательно. MSGEQ7 подключен к Arduino с выводом аналогового выхода, подключенным к A1 (MSGEQ_OUT), выводом строба к D2 (STROBE), выводом сброса к D5 (RESET).

Шаг 2: Код

Код
Код
Код
Код
Код
Код

Ссылка на GitHub для завершения эскиза: PhilKes / RGB_Audio_Backlight

Примечания к коду:

В коде мы объявляем объект полосы WS2812 с новым объектом Adafruit_NeoPixel, передавая количество светодиодов (измените NUM_LEDS для вашей настройки), вывод Arduino, подключенный к выводу LED_DATA, и тип кодирования + скорость передачи значений цвета.

Как только это будет сделано, мы устанавливаем яркость по умолчанию в setup () с помощью setBrightness (0-255) и включаем полосу с помощью begin (). Теперь мы можем установить для каждого отдельного пикселя / светодиода определенный цвет RGB с помощью setPixel (LED, Color). Когда мы закончили установку всех светодиодов на новые значения, мы обновляем полосу с помощью strip.show (). Это практически вся логика кода, которая нам нужна для программирования любой анимации, которую мы хотим. Теперь, чтобы фактически управлять анимациями / режимами, мы добавляем кнопочный / тактильный переключатель в Arduino. Поэтому мы подключаем один конец кнопки к VCC, а другой - к выводу D3 Arduino, а резистор 10 кОм - к GND. Мы прикрепляем прерывание к этому пину в setup (), которое запускает вызов метода changeMode () каждый раз, когда мы нажимаем кнопку. В changeMode () мы просто переключаемся в следующий режим и приказываем текущей анимации прерваться. Как только это произойдет, loop () будет заново запущен и будет воспроизводить новую анимацию / режим.

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

Дополнительно я добавил потенциометр 10 кОм для управления яркостью полосы. метод checkBrightness () проверяет выходной сигнал потенциометра, подключенного к контакту A2 (средний контакт потенциометра), и соответственно обновляет яркость полосы.

Для режима musicAnalyzer () через MSGEQ7:

В этом режиме визуализируется аудиосигнал, подключенный к входному сигналу MSGEQ7. MSGEQ выводит аналоговый сигнал, демонстрирующий одну звуковую полосу (8 полос, от низких до высоких частот). Метод musicAnalyzer () получает текущие значения звуковых диапазонов путем сброса MSGEQ и последующей буферизации предоставленных аналоговых значений. Выходную полосу можно изменить, поместив высокий фланг на Strobe Pin. После того, как все 8 диапазонов буферизованы, метод сдвигает все значения пикселей светодиода на одну величину назад и вычисляет новое значение для светодиода 0. Цвет состоит из: красного цвета низкой частоты (баса), зеленого цвета средней частоты и синего цвета высокой частоты. Сдвиг значения перед загрузкой нового значения дает нам красивую плавную анимацию.

Шаг 3. Настройте звук на ПК

Image
Image

Чтобы ваша музыка / звук подавалась на MSGEQ7, но при этом музыка воспроизводилась на ваших динамиках, вам нужно либо использовать функцию RealtekHD Stereomix, либо подключить аудиовход MSGEQ, например, к выход на задний динамик вашей звуковой карты / материнской платы.

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

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

Теперь это включает параллельный аудиовыход ваших динамиков и MSGEQ7.

Шаг 4: Примечания

Поскольку схема не такая уж сложная и большая, мне удалось поместить всю схему в маленькую коробочку с отверстиями для разъема USB, аудиоразъема, разъема постоянного тока, потенциометра и кнопки. Вы можете просто использовать штыревые / розеточные разъемы и подключить 3 кабеля к полосе WS2812 с помощью соединительных кабелей.

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