Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Подсветка RGB + аудиовизуализатор MSGEQ7

Компоненты и расходные материалы

Arduino Nano R3
× 1
Адресная светодиодная лента Digilent WS2812
× 1
MSGEQ7
Семиполосный графический эквалайзер для анализа спектра звука
× 1
Импульсный источник питания Digilent 5 В, 2,5 А
× 1

Необходимые инструменты и машины

Паяльник (общий)

Приложения и онлайн-сервисы

IDE Arduino

Об этом проекте

Это импорт из моих оригинальных 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 с контролем яркости с помощью потенциометра fvwp3zyjs5c4z851_12HuWgZiDT.fzz Автономная схема MSGEQ7 используется только в режиме аудиовизуализатора
Подключите входной сигнал к 3,5-миллиметровому аудиоразъему, левому / правому каналу, и другим контрольным контактам, как показано на другой схеме.

Производственный процесс

  1. Датчик импульсного света
  2. Музыкальный визуализатор DIY LUMAZOID для Arduino
  3. Детектор звуковой частоты
  4. Arduino с Bluetooth для управления светодиодом!
  5. Воспроизведение звука в Arduino
  6. Четвероногий Arduino
  7. Цветовой микшер Arduino RGB
  8. Сделай сам Arduino РАДИОНИКА Лечение MMachine
  9. Светодиодный уличный светодиод DMX RGB
  10. Светодиодная игра в рулетку