Как собрать цветомузыку на Arduino и адресной светодиодной ленте WS2812b. Какие эффекты можно реализовать. Как настроить чувствительность и яркость. Какие компоненты потребуются для сборки. Как запрограммировать Arduino для работы цветомузыки.
Что такое цветомузыка на адресной светодиодной ленте
Цветомузыка на адресной светодиодной ленте — это устройство, которое преобразует звуковой сигнал в световые эффекты. Основные компоненты такой цветомузыки:
- Адресная светодиодная лента WS2812b
- Микроконтроллер Arduino
- Микрофон или линейный вход для получения аудиосигнала
- Блок питания для светодиодной ленты
Принцип работы заключается в том, что Arduino анализирует входящий аудиосигнал, выделяет различные частотные диапазоны и в зависимости от их амплитуды управляет светодиодами на ленте, создавая различные световые эффекты.
Преимущества адресной светодиодной ленты WS2812b для цветомузыки
Адресная светодиодная лента WS2812b имеет ряд преимуществ для создания цветомузыки:
- Каждый светодиод можно индивидуально управлять по цвету и яркости
- Высокая яркость и насыщенность цветов
- Простое подключение — требуется всего 3 провода
- Возможность создания сложных динамических эффектов
- Низкое энергопотребление
- Доступная цена
Благодаря этим особенностям на ленте WS2812b можно реализовать практически любые световые эффекты для цветомузыки.
Необходимые компоненты для сборки цветомузыки
Для сборки цветомузыки на адресной светодиодной ленте потребуются следующие компоненты:
- Arduino Nano или другая совместимая плата
- Адресная светодиодная лента WS2812b (30-60 светодиодов на метр)
- Блок питания 5В (3-5А в зависимости от длины ленты)
- Микрофонный модуль (например, MAX9814) или линейный аудиовход
- Кнопки для переключения режимов
- Потенциометр для настройки чувствительности
- Провода, резисторы, конденсаторы
Длина ленты и мощность блока питания подбираются индивидуально под конкретный проект. Для начала рекомендуется взять ленту длиной 1-2 метра.
Схема подключения компонентов
Базовая схема подключения компонентов цветомузыки выглядит следующим образом:
- Вход микрофона/аудиовход подключается к аналоговому входу Arduino (A0)
- Управляющий вывод светодиодной ленты — к цифровому выходу Arduino (D6)
- Кнопки подключаются к цифровым входам Arduino через подтягивающие резисторы
- Потенциометр — к аналоговому входу Arduino
- Питание ленты и Arduino — от блока питания 5В
Более детальная схема зависит от конкретной реализации. Важно соблюдать требования по питанию светодиодной ленты.
Программирование Arduino для работы цветомузыки
Алгоритм работы цветомузыки на Arduino включает следующие основные этапы:
- Считывание аудиосигнала с микрофона/линейного входа
- Анализ сигнала и выделение частотных диапазонов с помощью быстрого преобразования Фурье
- Преобразование амплитуд частот в параметры цвета и яркости светодиодов
- Управление светодиодами на ленте в соответствии с текущим режимом
- Обработка нажатий кнопок для переключения режимов
Для работы с лентой WS2812b удобно использовать библиотеку FastLED. Она позволяет просто управлять цветом и яркостью каждого светодиода.
Основные эффекты цветомузыки
На адресной светодиодной ленте можно реализовать множество интересных эффектов для цветомузыки:
- Амплитудная цветомузыка — яркость зависит от громкости
- Частотная цветомузыка — разным частотам соответствуют разные цвета
- Бегущие огни в такт музыке
- Стробоскоп на ритмичных битах
- Плавное изменение цвета всей ленты
- Случайные вспышки отдельных светодиодов
- Эффект «пламени» с изменением яркости
Конкретная реализация эффектов зависит от фантазии разработчика и возможностей выбранного микроконтроллера.
Настройка чувствительности и яркости
Для корректной работы цветомузыки важно правильно настроить ее чувствительность к звуку и яркость свечения ленты. Это можно сделать следующими способами:
- Программная настройка коэффициентов усиления в скетче Arduino
- Использование потенциометра для регулировки чувствительности
- Автоматическая подстройка под уровень шума
- Ограничение максимальной яркости для экономии энергии
Оптимальные настройки подбираются экспериментально под конкретные условия использования цветомузыки.
Советы по сборке и использованию
Несколько полезных советов по сборке и эксплуатации цветомузыки на адресной светодиодной ленте:
- Используйте качественный блок питания с запасом по мощности
- Обеспечьте хорошее охлаждение ленты при большой длине
- Защитите электронику от пыли и влаги
- Предусмотрите удобное управление режимами
- Экспериментируйте с расположением ленты для лучшего эффекта
- Регулярно обновляйте прошивку для новых эффектов
При правильной сборке и настройке цветомузыка на адресной светодиодной ленте может стать отличным украшением любого праздника или вечеринки.
Собираем цветомузыку к Новому году / Хабр
Всем привет!
Скоро новый год и нужно как то оригинально украсить свою комнату к празднику. Для этого идеально подходит цветомузыка, в основе которой Ардуино и светодиодная лента ws2812b.
Цветомузыку я собрал еще в прошлом году, на сборку ушло примерно за 3 часа и много времени потратил на разбор и модификацию кода, а так же на поездку в магазин за алюминиевым профилем и кнопками.
Особенность этой цветомузыки в том, что ее не нужно подключать к источнику аудио сигнала, так как она получает аудио данные, благодаря встроенному в нее модулю микрофона MAX9812. Он подключен через усилитель напряжения к АЦП ардуины. Усилитель собран на транзисторе КТ3102, у которого есть много зарубежных аналогов.
Для выбора режимов на цветомузыке имеются две кнопки, color и pattern. Кнопка color переключает цветовые схемы, их всего 3, а кнопка patern переключает динамические режимы цветомузыки, их всего 8.
Для настройки чувствительности и яркости установлен потенциометр param, это переменный резистор с изменяемым сопротивлением от 0 до 10 кОм. Он так же подключен к АЦП и в зависимости от его положения происходит программная обработка параметров. Можно модифицировать код и установить вместо потенциометра энкодер, но это уже будет реализовано в другом проекте.
В настройках так же можно выбирать используемое в ленте количество светодиодов 60, 120 или 180 и регулировать частотный фильтр, настроенный на 8 частотных диапазонов, для этого применяется программный фильтр частот на базе алгоритма быстрого преобразования Фурье.
Светодиодная лента основана на полноцветных, управляемых адресных светодиодах ws2812b. Плотность ленты я выбрал 60 светодиодов на 1 метр. На мой взгляд это оптимальное соотношение для многих задач. К питанию светодиодной ленты нужно отнестись серьезно, так как на максимуме она потребляет до 3,6 А на 1 метр. Конечно вероятность такого сценария что цветомузыка включит все светодиоды белым цветом и еще на полную мощность, равна нулю. Но тем не менее лучше сразу приобрести хороший блок питания. Как минимум на 5 Вольт и 5 Ампер.
Схема цветомузыки.
По схеме комментировать особо нечего. Нужно только настроить среднюю точку усилителя на транзисторе КТ3102. Настройка сводится к подбору резистора смещения 200 кОм или резистора нагрузки 1 кОм, нужно добиться половины напряжения питания на коллекторе транзистора или входе A0. Транзистор можно заменить любым n-p-n аналогом.
Потенциометр лучше использовать линейный с сопротивлением от 10 до 50 кОм.
Если Вы в своем проекте будете использовать контроллер Arduino pro mini, то сразу припаяйте керамический конденсатор 0,1 мкФ на 20-й вывод (ARef) микроконтроллера ATmega328. При использовании Arduino Nano припаивать конденсатор не придется, он уже распаян на этой плате.
Основные комплектующие
Arduino Pro mini
Светодиодная лента на WS2812B
Микрофон с усилителем
Потенциометр 20 кОм
Адаптер питания 5 В, 5 А
Скетч для Ардуино
Я использовал в своем проекте, код цветомузыки Lumazoid с небольшими модификациями. Оригинальный скетч можно скачать с гитхаба.
Еще нужно добавить в папку libraries, используемые в проекте дополнительные библиотеки NeoPixel.h и ffft.h
Если Вы в скетче не прописали параметры своей светодиодной ленты, то их можно изменить. Для этого нажмите кнопку pattern, не отпуская ее включите питание. Вращая потенциометр нужно выбрать плотность используемой светодиодной ленты, по светящимся красным светодиодам: первый — 60, второй — 120 или третий — 180 светодиодов. Для сохранения параметров в EEPROM еще раз нажмите кнопку pattern.
Для регулировки яркости нужно нажать и удерживать кнопку color, после чего включаем питание. По умолчанию в скетче прописано 8 светодиодов которые будут светиться основными цветами. Ручкой потенциометра param можно изменить их яркость. Для сохранения параметров в EEPROM нажмите еще раз кнопку color.
Цветовую схему лучше выбрать 3-ю, так как она наиболее красочная. В этом режиме каждому цвету соответствует свой частотный диапазон. Всего 8 частотных диапазонов, перечисляю их цвета от самого низкого до самого высокого: красный, оранжевый, желтый, зеленый, голубой, синий, фиолетовый, белый.
Если удерживать кнопки color, pattern и вращать потенциометр param, то можно ограничивать частотный диапазон убирая высокие — средние и так далее до самых низких частот(красный светодиод). Например если Вам нужно что бы цветомузыка реагировала только на низкие звуки, то достаточно оставить только низкий диапазон частот.
Видео демонстрирующее возможности цветомузыки.
Сразу прошу извинить меня за качество ролика, снимал дешевым смартфоном.
P.S.
До НГ хочу упростить схему подключения микрофона, буду использовать max9814, без дополнительной обвязки. Наличие АРУ в MAX9814 даст возможность цветомузыке работать без перегрузок при разных уровнях громкости звука.
Надеюсь я ничего не упустил. Если у Вас возникнут вопросы, я с удовольствием на них отвечу.
Цветомузыка на Arduino, Светодиодный проект на WS2812b
То, что у вас уже есть, вы можете удалить в корзине.
С наступающим! Приближается Новый год, а значит, пора срочно создавать настроение! Ну и как всегда в это время года рождаются десятки электронных схем различных цветомузыкальных установок. Чего только самобытные мастера не придумают. От трехцветных моргалок до лазерных многолучевых установок с управлением по MIDI интерфейсу.
Инструкция
Схема очень простая!
Вам понадобятся Arduino Nano, или Uno. Или какая там у вас есть? Два потенциометра, пять резисторов, пару конденсаторов и линейка (лента) из светодиодов WS2812b. Всё! Светодиодов в линейке может быть 60, 120 или 180. А впрочем, любое количество.
В визуализаторе с помощью алгоритма быстрого преобразования Фурье выделяются 8 частот (порог чувствительности на каждую частоту свой, снижается от 1 к 8), преобразуются в цвет и выводятся на линейку светодиодов по одному из восьми алгоритмов. Основную часть скетча писал Майкл Крампас, парни из Чип и Дипа добавили функционал, ещё одна часть кода взята из проекта Piccolo компании Adafruit.
В Adafruit также писали библиотеку для светодиодов neopixel. А библиотека быстрого преобразования Фурье (FFT) написана уважаемым ChaN, это библиотека FFT для 128 точек, адаптированная для AVR микроконтроллеров написана на ассемблере.
Сам скетч и библиотеки ffft.h и Adafruit_NeoPixel.h нужно скачать в подвале этой страницы и распаковать в папку с другими библиотеками Arduino. Например C:\Program Files (x86)\Arduino\libraries
Не теряйте время на разбор алгоритмов, просто соберите, залейте скетч в плату Arduino и наслаждайтесь шоу.
Это всего лишь развлечение!
Настройки
В момент первого включения нужно сделать пару настроек:
Яркость: удерживайте кнопку color при включении питания. На первых 8 светодиодах будет отображаться радуга светодиодов. С помощью ручки param измените яркость. По завершении нажмите кнопку color еще раз, и ваша конфигурация будет сохранена в памяти.
Длина светодиодной полосы: удерживайте кнопку pattern при включении питания. Отобразится один, два или три красных светодиода. Используйте ручку param, чтобы выбрать длину светодиодной полосы в зависимости от количества красных светодиодов:
1=60 светодиодов
2=120 светодиодов
3=180 светодиодов
По завершении нажмите кнопку pattern еще раз, и ваша конфигурация будет сохранена в памяти.
Алгоритмы
Танцы плюс: пики звуковых сигналов испускаются из центра полосы и исчезают по мере приближения к концам. Скорость пика пропорциональна величине звукового сигнала этого пика.
Танцы минус: то же, что и Dance Party, но пики сигналов испускаются с одного конца.
Импульс: пики сигналов отображаются как яркие импульсы, которые поступают из центра полосы. Ширина импульса зависит от уровня сигнала.
Световая полоса: в пиках освещается вся полоса.
Цветные полоски: пики сигналов отображаются как цветные полосы, которые исчезают.
Цветные полоски 2: подобно цветные полоски, но каждая полоска сжимается и исчезает.
Вспышки: пики сигналов отображаются в виде светодиодной вспышки в случайном месте. Начальный цвет белый, а затем исчезает через другой цвет.
Светлячки: пики сигналов отображаются как одиночные светодиоды в случайном месте, и они перемещаются влево или вправо и исчезают. Их скорость зависит от величины сигнала.
Цветовые схемы
Случайная двухцветная схема: выбраны два случайных цвета и только они используются для отображения пиков сигнала. Со временем будут выбраны новые цвета. Используйте param, чтобы настроить скорость изменения цветовой схемы. Если ручка потенциометра «параметры» в верхнем положении, цвета будут меняться часто и каждый пик сигнала будет иметь новый цвет. Рекомендую установить ручку в средину.
Радуга: все пики сигналов отображаются как один и тот же цвет (с небольшим количеством случайных вариаций) и этот цвет меняется как радуга с течением времени. Скорость изменения цвета устанавливается потенциометром param.
Диапазон частот: вы можете управлять тем диапазоном частот, на который откликается цветомузыка. Чтобы установить диапазон нажмите и удерживайте обе кнопки. Используйте ручку param, чтобы выбрать, сколько из восьми частотных диапазонов будет показываться. Если вы хотите выделить бас и ритм музыки, установите частотную характеристику только на самые низкие 2 или 3 полосы. Если вы хотите показать все частоты в музыке (например, вокал и более высокие инструменты), выберите все полосы частот.
Это видеоинструкция по настройке и она же демонстрация визуализатора в работе.
Там, в конце, две музыкальные композиции с разными алгоритмами.
Ещё одна композиция
Эпилог или разбор полётов
1. Как изменить подсветку в паузах?
2. Можно ли изменить динамику?
3. Как подключить ленту с количеством светодиодов отличным от 60/120/180?
Это открытый проект! Лицензия, под которой он распространяется – Creative Commons — Attribution — Share Alike license.
Цветомузыка без ПК
Предлагаю к сборке вариант автономной цветомузыки. Этот вариант цветомузыки, в отличие от варианта цветомузыки на Arduino, не требует для работы персонального компьютера. Всю обработку аудио потока выполняет микроконтроллер STM32F103C8T6.Схема цветомузыки:
Для сборки контроллера вам потребуется:
Светодиодная лента
Модуль микроконтроллера
Модуль bluetooth (если требуется управление со смартфона)
Модуль микрофонного усилителя
или буферный усилитель для подключения к линейному выходу (собрал из того что было под рукой)
Можно использовать обе схемы. Вы можете выбрать контакт аналогового(аудио) входа A0 или A1 на модуле STM32 подключением вывода A15 к общему ( G ) выводу или оставив A15 не подключённым. После изменения входа требуется перезагрузка микроконтроллера.
Программа для микроконтроллера STM32 доступна для скачивания c google диска. Выберите прошивку MC_**led.HEX c номером совпадающим с количеством светодиодов в вашей ленте:
30,60,72,90,120,144,150,180,210,216,240
Программирование STM32 выполняется через переходник USB-UART с помощью программы Flash loader demonstrator. В интернете есть несколько описаний процесса программирования STM32. Вы можете выбрать описание которое вам покажется более понятным.
Если позднее у вас изменится количество светодиодов в ленте вы сможете настроить их количество с помощью кнопки подключённой к выводу B8. Нажмите и удерживайте кнопку пока все светодиоды не будут задействованы.
Сохраните режим после установки количества светодиодов в ленте !!!
Сохранение установленного режима производится кнопкой подключённой к выводу B9. Сохранённый режим будет устанавливаться при включении устройства. Для выполнения сохранения нажмите и удерживайте кнопку 3-4 секунды.
Назначение кнопок:
Кнопка(контакт) B9 – Сохранение установленного режима как режима при включении питания;
Кнопка(контакт) B8 – Установка количества активных светодиодов в ленте;
Кнопка(контакт)
Кнопка(контакт) B6 – Выбор музыкальной программы;
Кнопка(контакт) B5 – Включение/выключение режима перебора динамических программ;
Кнопка(контакт) B4 – Установка яркости ленты.
Кнопка(контакт) B3 – Установка темпа переключения.
Управление возможно и/или c кнопок или из приложения под Android.
Программа «Цветомузыка» под Android доступна для скачивания на Google Play.
Для подключения к контроллеру с модулем bluetooth просто коснитесь значка
При первом подключении, если устройство не обнаруживается, то выполните сопряжение c модулем в настройках bluetooth телефона!!!
Приятного отдыха.
Видео работы:
Музыкальные программы
Динамические программы
Цветомузыка на Arduino
Видео демонстрация под Metallica — Fuel
Видео демонстрация под Evanescence — Even in death (2016 version)
Добрый день всем читателям и любителям «посамодельничать». Все мы с нетерпением ждем Новый год. И конечно хочется украсить свой дом. Чтобы вокруг всем было красиво и сказочно. И какой же Новый год без хорошей музыки. Вкусы у всех, конечно, разные, но каждый захочет включить что-нибудь, веселое и потанцевать. А может это будет медленный танец или вспомнить ушедший год под грустные мотивы. В любом случае, создать атмосферу и украсить дом, поможет цветомузыка. Созданию цветомузыки на основе Arduino и WS2812, и будет посвящена данная инструкция. На эту идею меня натолкнул AlexGyver. На его сайте alexgyver.ru много подобных идей и изобретений. Загляните как будет время. Итак, начнем.
В список покупок к Новому году добавим:
— Arduino Nano (можно использовать практически любую совместимую плату)
— Адресные светодиоды WS2812 (WS2812B), в количество светодиодов от 2 – 400 шт.
— Переменный резистор 10 – 100 кОм
— Кнопка
— Блок питания 5 В, 3 А (сила тока подбирается по ваше количество диодов)
— гнездо подключения блока питания
— Гнездо стерео-джек 3,5 мм
— Соединительный провод (стерео-джек 3,5 мм — стерео-джек 3,5 мм)
— Керамический конденсатор 10нФ (маркировка 103)
— Провода
— Паяльник и все сопутствующие ему.
Шаг 1 Подготовка светодиодных лент.
В этом шаге большой простор для вашей фантазии. Можно закрепить ленты на шкафу, картине, карнизе, телевизоре, тумбе и тд и тп. Я так и не смог определиться с выбором места. Я сделал, и вам рекомендую, сделать переносную ленту, точнее две. По длине – все зависит от вашего желания. Также ленту бываю с разной плотностью. Я брал с плотностью 30 диодов на метр. Они также есть 60 и 120 диодов на метр. Я сделал две полоски по 18 светодиодов. Это примерно 60 см. Для начала нам нужно основа. Под основу подойдут полоски фанеры, ДВП или пластика. Я взял фанеру толщиной 3 мм и вырезал две полоски шириной 1 см и диной 62 см (с запасом чтобы на конце закрепить провода от ленты):
Поверх полоски из фанеры клеим светодиодную ленту, если вы приклеили ленту не ровно и пришлось ленту отодрать, она будет плохо держаться. В таком случае рекомендую использовать канцелярский двусторонний скотч. Он есть толщиной 1 см, как раз по ширине нашей ленты:
Для тех кот не работал с адресными лентами вкратце расскажу. WS2812 – это три светодиода (красный, синий, зеленый) и 8-битный ШИМ драйвер для них в одном корпусе. Для подключения ленты используется три провода. +5V контакт на который подается плюс от блока питания, GND – минус блока питания. Управление происходит подачей 24 битного сигнала для каждого светодиода (8 бит на один цвет). Сигнал от Arduino подается на контакт Din первого светодиода, который в свою очередь, записывает себе во временную память первые 24 бита и согласно им, устанавливает цвет свечения, отсекает от сигнала эти первые 24 бита и отправляет сигнал через контакт Do дальше, следующим светодиодам. Поэтому у ленты есть направление. Она указано на ленте стрелочкой, или от контакта Din к Do.
Чем больше светодиодов, тем больше протекающий ток . WS2812 очень прожорливы и один диод потребляет (при максимальной яркости все трех цветов) 0,06 А. Поэтому провода питания контакты +5V и GND надо подбирать под максимальный ток протекающий по ним. Я использовал медный гибкий провод сечение 0,5 мм (с запасом и для дальнейшего увеличения длины ленты). Провод для сигнального контакты не столь требователен к сечению, ток протекающий по нему мал, поэтому берем тоненький гибкий провод. Припаиваем провода к ленте и изолируем контакты:
Цветомузыка работает следующим образом: делит количество светодиодов пополам, громкость музыки указывается загоранием диодов от середины к концам всей ленты. Поэтому, если вы хотите две полосы, работающие как у меня на видео обе ленты подключаются параллельно (провод от контактов Din обеих лент к одному пину Arduino, D12). И тогда количество светодиодов в скетче указываем равное сумме диодов обеих лент. Если вы хотите, чтобы лента работала от середины подключаем две полоски последовательно и также указываем общее количество светодиодов.
Шаг 2 Блок питания.
Как я уже говорил лента WS2812 прожорлива, к выбору блока питания надо подойти основательно. Нам нужен 5 вольтовой стабилизированный, силу тока подбираем в зависимости от количества светодиодов, лучше брать с запасом. Я рекомендую, например, такой на 3 А:
Характеристики написаны на корпусе блока питания:
Я планирую дальнейшее расширение моей цветомузыки, поэтому не мелочась беру компьютерный блок питания с выведенными контактами подключения:
Шаг 3 Arduino и схема подключения.
Для реализации данного проекта подойдет практически любая Arduino совместимая плата. У меня под руками оказалась Arduino Uno. Теперь надо собрать все по схеме. Схему возьму от моего идейного вдохновителя AlexGyver –ра:
Потенциометр нужен для установки опорного напряжения для измерения уровня аудио сигнала. Контакт A0 используется как GND (для Arduino Nano так удобнее подключать). Можно обойтись без потенциометра, включив использование внутреннего опорного напряжения в скетче.
Контакты A1, A2 используются для подключения аудио сигнала, не забываем соединить GND контакты Arduino и провода аудио сигнала.
Кнопка, используется для переключения режимов, подключается к контакту D3 Arduino.
Соединение гнезда и контакта A3 через конденсатор нужно для работы некоторых режимов. Подробно о режимах работы вы можете узнать на странице AlexGyver:
Чтобы мы могли слушать музыку, и наша цветомузыка работа нам необходимо разделить аудио сигнал. Сделать это можно используя тройник:
Также можно подключить колонки к аудио выходу на материнской плате, а цветомузыку к выходу наушников. Главное, нельзя подключать цветомузыку к выходу после усилителя, там слишком большой уровень сигнала для Arduino.
Я собрал все на основе Arduino Uno и разместил на блоке питания:
Шаг 4 Редактирование, настройка и заливка скетча.
Для начала необходимо скачать последнюю версию среды разработки Arduino IDE. Лучше всего с официального сайта.
Выбирайте как вам удобнее: скачать ZIP архив и распаковать в нужное место или скачать установочный файл и установить программу. Разницы нет.
Для работы скетча нам понадобятся библиотеки: Adafruit_NeoPixel-master, EEPROMex, FastLED-master, FHT, GyverButton, IRLremote-master и IRremote. Проще всего скачать их все вместе и уже нужные версии с сайта AlexGyver.
Скачиваем целиком архив. Распаковав архив, переписываем все содержимое папки «libraries» в одноименную папку, находящуюся в папке с установленной Arduino iDE.
Запускаем Arduino IDE. Открываем скетч из скаченного ранее архива. Нужный нам скетч находиться в папке «firmware». Открываем «colorMusic_v2.10». Чтобы он работал правильно его нужно немного подправить, а точнее выставить правильные настройки.
Скетч предусматриваем возможность использования инфракрасного пульта для управления. Если есть желание вы можете найти все нужные инструкции на сайте AlexGyver-а. На мой взгляд пульт не обязателен. Поэтому будет настраивать на работу без пульта. Ищем строку:
#define REMOTE_TYPE 0
Там должен стоять «0».
Настройки Arduino будет хранить в энергонезависимой памяти EEPROM. Чтобы не возникало ошибок в дальнейшем, сбросим все настройки. Находим строку:
#define RESET_SETTINGS 0
Ставим вначале «1», прошиваем скетч, после этого ставим «0» и прошиваем еще раз.
В строке:
#define NUM_LEDS 36
Указываем ваше количество светодиодов.
После запуска цветомузыки поступаем следующим образом: для начала надо настроить нижнюю границу уровня звука. Для этого ставим музыку на паузу, зажимает и удерживаем кнопку пока не загорится диод на плате Arduino.
Вариантов установки цветомузыки масса. Я установил блок питания и Arduino на шкафу. Блок питания подальше, чтобы его не было видно, а ленты направил вверх:
Также можно установить ленты по бокам от компьютерного стола:
Затем включаем музыку и смотрим все вся ли лента загорается при работе музыки. Если лента работает только в самом начале или наоборот всегда горит крутим потенциометр. Опытным путем делаем так чтобы вся лента работала. Все удачи в самоделках и отличных идей.
Огненные эффекты на светодиодных лентах и Arduino
Приветствую, Самоделкины!В этой статье мы рассмотрим некоторые весьма полезные для интерьера эффекты, которые можно создать с помощью светодиодной ленты. Также поговорим об алгоритмах, о том, как математические расчёты позволяют светодиодам создавать иллюзию тепла и уюта, а именно — пламени, настоящего цифрового пламени.
Все исходные коды, которые будут разобраны далее, можно скачать со страницы проекта автора (AlexGyver).
Сперва давайте разберемся с электронной составляющей. Чтобы самостоятельно своими руками сделать такую красоту у себя дома необходимы следующие компоненты:
— Драйвер для RGB ленты;
— RGB лента;
— Блок питания 12V для RGB ленты;
— Arduinо Nano.
Любой из вас может скачать и загрузить прошивку и получить свой цифровой очаг. Управлять светодиодными лентами мы будем с микроконтроллера, в данном примере Ардуино Нано.
Начнем, пожалуй, с самого простого, нулевого измерения – точки (или целой ленты точек).
Это самая обыкновенная RGB светодиодная лента, которая питается от напряжения 12В и имеет трехканальное управление на каждый цвет.
При помощи ШИМ сигнала (он у нас 8-битный), можно задать яркость каждого цвета, и получить таким образом 16 700 000 цветов и оттенков. Но нас интересует огонь, точнее его имитация. Для имитации пламени было решено работать в цветовом пространстве hsv (цвет, насыщенность, яркость).
Эти 3 параметра позволяют получить 255 основных оттенков, плюс у каждого оттенка сделать 255 градаций насыщенности, т.е. смеси с белым цветом. Ну и третий параметр – яркость, простым языком — смесь оттенка с чёрным цветом.
Существует несколько алгоритмов для перевода из удобного пространства hsv в RGB, просто используем один из них.
Далее необходимо задать поведение огня. Предположим сила пламени — это некая величина, которая в минимальном значении даёт светодиодам насыщенный красный цвет и невысокую яркость, а в максимальном значении — бело-жёлтый и максимально яркий цвет.
Для того, чтобы получить эффект пламени, нам необходимо заставить данную величину совершать случайные колебательные движения, движения должны быть случайными, но в то же время достаточно плавными, то есть нечто похожее на дрожащий огонёк. Вслед за данной величиной, соответственно, будут меняться и цвет, и яркость пламени по градиенту.
Данную задачу автор предлагает решить следующим образом: есть такой очень простой алгоритм фильтрации, бегущее среднее, который резкое изменение величины превращает в плавный процесс, всего один коэффициент и довольно простое вычисление.
Идея состоит в следующем: необходимо, скажем 5 раз в секунду, задавать новое случайное положение величины огня, а где-нибудь 50 раз в секунду фильтровать эту величину, плавно её изменяя. В результате образуется вот такой случайный процесс.
На реальном примере, все работает как задумано.
Теперь необходимо перевести нашу величину в цвет пламени по закону, о котором упоминалось выше, и получить одномерный огонь.
Запрограммируемую таким образом светодиодную ленту можно спрятать, например, за плинтус или за какой-нибудь выступ. Также такой лентой можно обеспечить фоновую подсветку, смотрится довольно интересно и необычно.
Также ленту можно направить в пол с небольшого расстояния, и таким образом тоже добиться довольно интересного эффекта.
Ну и конечно же кусок ленты можно использовать для подсветки камина или его имитации. А если увести яркий цвет из желтого в оранжевый, то получится имитация тлеющих углей.
Так как лента у нас RGB, то само собой огонь можно сделать любого цвета. Хотите мертвячно-зелёного – да запросто!
Нужен огонь магически синего цвета – без проблем!
Затем устанавливаем программу и драйверы, как написано в инструкции на странице проекта, качаем и запускаем прошивку.
В самом начале имеются все необходимые настройки. С их помощью можно полностью настроить огонь под себя, а именно: цвет, поведение и тому подобное.
Собственно, это был самый простейший способ заставить светодиодную ленту «гореть». Теперь давайте рассмотрим более интересные примеры. Для дальнейшей работы понадобится адресная светодиодная лента.
Такая лента позволяет управлять в отдельности каждым своим светодиодом и у каждого включить один из 16.7 миллионов оттенков цвета.
Подключается все предельно просто, вот по такой схеме:
Никаких драйверов не нужно, но рекомендуется поставить резистор. Можно обойтись и без него, но есть шанс выгорания первого светодиода, а если такое случится, то следующие за ним так же работать не будут.
При прямой подсветке, например, из-под дивана, получится отличный адский диван с эффектом тлеющих углей.
Также такую ленту можно засунуть в обычный светопрофиль и использовать как самостоятельный элемент интерьера.
Выглядит довольно неплохо, согласитесь, но давайте все же попробуем добиться отдельных языков пламени.
Алгоритм оставим тот же. Разбиваем ленту на зоны различной ширины, у каждой зоны будет свой случайный процесс. Чтобы этот процесс был ещё больше похож на реальное пламя будем заполнять зоны от краев к центру, плавно повышая нашу случайную величину до ее текущего значения. Также в процессе «горения», размер зон должен меняться тоже случайным образом.
Вот так это выглядит:
Теперь давайте рассмотрим еще один интересный случайный процесс, который называется — шум Перлина, который придумал Кен Перлин в 1983 году.
Шум Перлина позволяет создать случайное сглаженное распределение величины в любом количестве измерений. Известный многим фильтр «облака» в Фотошопе является примером двухмерного шума Перлина.
А вот трехмерный шум Перлина позволяет генерировать, например, горный ландшафт, причем генерировать очень случайно и бесконечно, и при этом практически не создавая нагрузку на компьютерные компоненты, так как алгоритм там не очень затратный к вычислениям.
План действий следующий: сперва создадим двухмерную область шума Перлина и будем двигаться по ней определенным образом, сканируя линию пикселей и выводя ее на светодиоды.
Алгоритм как уже говорилось выше не очень сложный и Ардуино спокойно с ним справится. В результате получается вот такой очень крутой эффект, максимально плавный, случайный, и уже очень похожий на реальное пламя при торцевой подсветке.
При прямой подсветке выглядит так:
Но все это были алгоритмы огня для одной ленты. А как насчёт наклеить ленту зигзагом и попробовать сделать двухмерный огонь на матрице?
Такие матрицы можно купить у китайцев. Над матрицей размещаем рассеиватель и тонированное автомобильной плёнкой стекло, то есть это — самый настоящий амолед дисплей сверхнизкого разрешения.
Выглядит, кстати, довольно-таки реалистично. Более подробно смотрите в оригинальном видеоролике автора:
На этом все. Благодарю за внимание. До новых встреч!
Источник (Source) Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.
Адресная светодиодная лента — Подробная информация
Нас часто спрашивают о адресной светодиодной ленте (иногда ее называют «умная лента» или «пиксельная лента»).Первое, что большинство людей хотят знать, это то, что делает Адресная светодиодная лента и чем она отличается от стандартной ленты RGB LED. Кроме того, существуют пиксельные светодиодные модули , поэтому люди, естественно, хотят знать, как они работают.
Поскольку растущий ассортимент адресных светодиодных лент становится все более популярным в индустрии развлечений и архитектурного освещения, мы подумали, что сейчас самое время задать некоторые из ваших наиболее распространенных вопросов нашей команде по исследованиям и разработкам и найти ответы на некоторые вопросы экспертов, чтобы помочь вам утолить жажду информации (особенно если вы только начинаете свои приключения по управлению освещением, в таком случае, добро пожаловать на борт!).
Содержание
- Введение
- Типы адресных светодиодных лент
- Проектирование с помощью адресных светодиодных лент
- Плюсы использования адресных светодиодных лент
- Плюсы использования адресных светодиодных модулей
- Вопрос – Ответ. Самые частые адресных светодиодных лент проблемы и их решение.
Что такое адресная светодиодная лента?
Адресная светодиодная лента – это гибкая печатная плата, которая заполнена разноцветными адресуемыми поверхностными (SMD) светодиодами. Гибкая печатная плата обычно имеет клейкую подложку, что облегчает быструю и простую установку.
В отличие от стандартной ленты RGB, каждый светодиод имеет свою собственную микросхему, которая позволяет управлять им для индивидуальной реакции (например, изменение цвета, выключение и т. Д.). Пиксельная лента все еще может делать все, что может делать стандартная лента RGB… только больше.
Типы адресных светодиодных лент.
Адресная светодиодная лента WS2801.
Серия чипов WS первой будет WS2801. Это интересный в своем роде драйвер-микросхема для RBGW-светодиодов с поддержкой последовательного интерфейса SPI.
С применением отдельного контроллера нет необходимости занимать несколько выходов микроконтроллера, можно ограничиться лишь одним сигнальным выводом. Микроконтроллер подает сигнал на вход «Data» управляющего контроллера светодиода WS2801.
В таком сигнале содержится 24-битная информация о яркости цвета (3 канала по 8 бит на каждый цвет), а также информация для внутреннего сдвигового регистра. Именно сдвиговый регистр позволяет определять, к какому светодиоду информация применяется. Таким образом можно соединять несколько светодиодов последовательно, при этом использовать все так же один вывод микроконтроллера.
У WS2801 было 4 контакта: +5v, GND (минус), DI (Digital input) и CO (тактовая линия). Таких лент сегодня практически уже не найти, на их место пришли WS2811 и WS2812B, более компактные модели с последовательным однолинейным интерфейсом. Теперь за данные отвечает только один контакт, обычно обозначаемый как DI (digital input) и с другой стороны DO (digital output).
Адресная светодиодная лента WS2811 и WS2812.
Основные отличия адресной светодиодной ленты ws2811 от ws2812b:
- Драйвер WS 2811 гораздо больше чем его потомок WS 2812b, поэтому он припаян прямо на подложку ленты перед каждым диодом (черный прямоугольник на фото выше).
- У 2812B чип установлен внутрь диода (темная точка в диоде на фото ниже).
- Адресная светодиодная лента WS 2811, в основном, рассчитана на напряжение 12 вольт.
- Если Адресная светодиодная лента WS 2811 на 12v, у нее один чип управляет группой из трех диодов одновременно, а не по одному (как в WS2812b).
- Адресная светодиодная лента WS 2811 на напряжение 12v гораздо дешевле, чем ws 2812b (разница в цене 30 %)
- Благодаря низкой цене на Адресную светодиодную ленту WS 2811 – напряжением 12v наиболее распространена. Тем не менее, ее сменила более совершенная модель WS 2812В. Все же в один SMD корпус интегрированны как драйвер, так и сами светодиоды. Кроме того, каждый диод управляется отдельно.
Практические способы включения адресной светодиодной ленты, правила подключения, частые ошибки.
- Подключайте к адресной светодиодной ленте (между линиями питания) конденсатор, вплоть до 1000 мкФ
- В разрыв линии данных (от Контроллера к адресной светодиодной ленте) добавляйте резистор 300 — 500 Ом, устанавливая его ближе к ленте.
- Кабельная линия данных от контроллера до адресной светодиодной ленты, требуется делать как можно коротким.
- При подключении адресной светодиодной ленты, подключайте «землю» первой (отключайте последней).
- Не допускайте разрядов статического электричества при монтаже адресной светодиодной ленты.
- Используйте преобразователь уровня, если адресная светодиодная лента и устройство управления подключены от источников питания с разным напряжением.
- Максимальный ток каждого пикселя составляет 60мА (при полной яркости белого цвета). Если Вы не планируете использовать ленту WS2812B как источник света (для этого лучше взять обычную светодиодную ленту с белыми светодиодами), принято считать, что, усреднено, каждый пиксель потребляет 20мА.
минимальный ток Драйвера = 20мА*количество_пикселей.
максимальный ток Драйвера = 60мА*количество_пикселей
- Из последнего пункта вытекает следующее: если лента соединена последовательно более 5 м., то недопустимо подавать на нее питание только с одной стороны. Для того чтобы исключить перегревания токопроводящих дорожек ленты. Напряжение на адресной светодиодной ленте необходимо распределить по всей ее длине как можно равномернее. Подводите питание в нескольких местах отдельными кабельными линиями.
Варианты управления адресной светодиодной лентой.
Есть несколько способов управлять адресной светодиодной лентой:
- Аппаратный при помощи контроллера SPI
На эту тему вы можете почитать нашу специальную статью. В этой статье мы максимально подробно описали принципы управления по протоколу SPI.
SPI контроллер и SPI RGB лента
- Аппаратный при помощи UART-интерфейса
На эту тему вы можете почитать нашу специальную статью. В этой статье мы максимально подробно описали принципы управления с помощью UART.
Светодиодная лента Ардуино
Достоинство первых двух способов – это возможность освободить драйвер от части работы по передаче бит информации о цвете пикселю. Недостатки этих способов – во-первых, ограниченное количество линий управления пикселями, во-вторых, требуется дополнительное разбитие байтов информации о цвете на пачки битов (что частично съедает свободное время контроллера в моменты аппаратной передаче бит).
Адресная светодиодная лента DMX 512.
Особенность адресных светодиодных лент, использующих управление DMX 512 – параллельная подача сигнала управления на все модули, цифровой сигнал с выхода контроллера подается одновременно на все драйверы.
DMX ленты, производятся с записанными при производстве DMX адресами. По умолчанию, адресация пикселей каждой катушки ленты начинается с 1-го драйвера и 1-го адреса и нумеруется по порядку до последнего пикселя. Если в последствии в одну линию соединяется несколько катушек или отрезков, требуется произвести запись DMX адресов заново.
При записи адресов используется DMX кабель, обозначенный ADR (ADI, ADIN). После выполнения записи, при воспроизведении световых программ, вход ADI драйверов не используется. Если Ваш контроллер не имеет встроенного редактора адресов и не имеет выхода для подключения провода ADI, этот провод должен быть соединен с общим проводом GND, что предотвратит воздействие на него внешних помех и наводок.
Стоит сказать, что адресных светодиодных лент DMX 512 – Драйвер WS2821, гораздо больше преимуществ перед SPI.
- Длинна линии управления до 300 м. против 100 м. у SPI.
- При выходе из строя диода или группы диодов линия освещения продолжает работать.
Но есть и недостатки.
- Требует Большое количество DMX адресов – отсюда высокая стоимость оборудования для управления этой системой.
Как рассчитать количество адресов для ленты DMX 512
DMX (RGB)
• 1 пиксель = 3 канала
DMX (RGBW) • 1 пиксель = 4 канала DMX (RGBW)
Имея разную плотность светодиодов на ленте и разную длину, вы можете умножить все это вместе и получить различные результаты.
Например:
• (8PL30) 30 светодиодов RGB / м ленты x 5 метровой катушки = 150 пикселей (150 пикселей х 3) = 450 каналов
• (8PL60) 60 светодиодов RGB / м ленты x 5 метровой бобины = 300 пикселей (300 пикселей х 3) = 900 каналов
• (8PL144) 144 светодиода RGB / м ленты x 2 метра = 288 пикселей (288 пикселей x 3) = 864 канала
• (8PX30) 30 светодиодов RGBW / м ленты 5 м = 150 пикселей (150 пикселей x 4) ) = 600 каналов
• (8PX60) 60 светодиодов RGBW / м лента x 4-метровая катушка = 240 пикселей (240 пикселей x 4) = 960 каналов
Удобно запомнить:
• 170 пикселей RGB = 510 каналов DMX = 1 вселенная DMX
• 128 пикселей RGBW = 512 каналов DMX = 1 вселенная DMX
Почему светодиоды на конце ленты теплого белого света / розового цвета на конце при движении белого цвета?
Это происходит из-за падения напряжения на светодиодной ленте при попытке питания большей длины ленты. В результате падения напряжения пиксели вдоль ленты будут постепенно меняться в цвете, если их приводить в движение белым цветом. Лучше всего определить максимально возможную длину пробега до того, как падение напряжения начнет влиять на их цвет, и вводить мощность через каждые х метров.
Чем больше падение напряжения вдоль ряда белых светодиодов, тем более розового оттенка будут появляться самые дальние от источника питания. Вся длина также будет незначительно уменьшаться по мере снижения напряжения. Большинство лент и точек отображают эти явления очень тонко, в то время как некоторые другие могут быть немного более выраженными. Аналогично, степень, в которой человеческий глаз воспринимает это, будет естественно отличаться от человека к человеку, но большинство людей найдут изменение цвета практически неразличимым.
(ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: приведенный выше чертеж не предназначен для точной научной диаграммы. Это простое визуальное представление, чтобы дать вам приблизительное представление о том типе эффекта, который вы иногда можете наблюдать, когда происходит различный процент падения напряжения.)
Какой тип поверхности подойдет для установки адресной светодиодной ленты?
Адресная светодиодная лента должна быть установлена на чистой и сухой поверхности. Пожалуйста, очистите поверхность спиртом, используя чистую ткань перед установкой.Поверхность должна быть теплопроводящей и обеспечивать достаточный отвод тепла от ленты. Поверхность не должна быть текстурированной или изготовлена из материала с низкой поверхностной энергией.
Цветомузыка своими руками
Тест адресных светодиодов
WS2812 |
СветодиодыRGB великолепны — особенно новые, модные с драйвером светодиодов WS2812 RGB. Этими светодиодами можно индивидуально управлять для отображения красного, зеленого и синего цветов, но при этом они взаимодействуют с микроконтроллером или компьютером.
Для проверки управления светодиодами WS2812 RGB я купил дешевую адресную светодиодную ленту. Адресуемая светодиодная лента RGB представляет собой длинную гибкую нить светодиодов, каждый из которых может быть индивидуально настроен на определенный цвет (следовательно, адресный).Изменяя уровень красного, зеленого и синего (RGB) для каждого светодиода, можно создать множество цветовых комбинаций. Адресные светодиоды обещают быть простым способом добавить сложные световые эффекты в любой проект. Неопиксели WS2812 — это адресуемые светодиоды RGB. Интегрированная микросхема контроллера позволяет изменять цвет светодиода и адресовать каждый отдельный светодиод. Светодиоды TheWS2812 питаются от источника питания 5–7 В (потребляемая мощность 60 мА) и управляются через последовательную шину (один управляющий сигнал).
Я планировал использовать либо Arduino, либо ESP8266 для управления этими светодиодами.Посмотрев на имеющиеся примеры и технические данные светодиодов, я планировал использовать Arduino (Arduno Uno), потому что его мощность 5 В и логический уровень 5 В подходят напрямую. И есть много руководств по Arduino для WS2812.
Чтобы начать работу, я планировал следовать инструкциям со страницы Arduino Addressable LEDs & Splendid Projects. На этой странице был пример исходного кода, который выглядел как полезные и простые инструкции по подключению.
В первом тесте я обнаружил, что помимо исходного кода мне еще нужна библиотека NeoPixel Arduno.Поэтому мне нужно было получить библиотеку с https://github.com/adafruit/Adafruit_NeoPixel и установить ее согласно инструкции. После загрузки мне пришлось переименовать папку в «Adafruit_NeoPixel» и переместить ее в папку «Библиотеки Arduino». После перезапуска Arduino IDE я открыл файл-> Sketchbook-> Library-> Adafruit_NeoPixel-> файл примера скетча strandtest. Это сработало. Я также попробовал исходный код со страницы Arduino Addressable LEDs & Splendid Projects, которую я изменил, чтобы использовать 8 светодиодов вместо одного.Оба примера показали «случайное» цветное световое шоу на моей светодиодной ленте. Достаточно для первого тестирования.
Лучшее соотношение цены и качества с пультом дистанционного управления со светодиодной лентой rgb — Выгодные предложения на пульте дистанционного управления с магнитной лентой rgb со всего мира Продавцы музыки с пультом дистанционного управления с RGB-подсветкой
Отличные новости !!! Вы находитесь в нужном месте для музыки с дистанционным управлением со светодиодной лентой rgb.К настоящему времени вы уже знаете, что что бы вы ни искали, вы обязательно найдете это на AliExpress. У нас буквально тысячи отличных продуктов во всех товарных категориях. Ищете ли вы товары высокого класса или дешевые и недорогие оптовые закупки, мы гарантируем, что он есть на AliExpress.
Вы найдете официальные магазины торговых марок наряду с небольшими независимыми продавцами со скидками, каждый из которых предлагает быструю доставку и надежные, а также удобные и безопасные способы оплаты независимо от того, сколько вы решите потратить.
AliExpress никогда не уступит по выбору, качеству и цене. Каждый день вы найдете новые онлайн-предложения, скидки в магазинах и возможность сэкономить еще больше, собирая купоны. Но вам, возможно, придется действовать быстро, поскольку этот лучший пульт дистанционного управления со светодиодной лентой RGB станет одним из самых популярных бестселлеров в кратчайшие сроки. Подумайте, как вам будут завидовать друзья, когда вы скажете им, что купили музыку с пультом дистанционного управления с RGB-подсветкой на AliExpress.Благодаря самым низким ценам в Интернете, дешевым тарифам на доставку и возможности получения на месте вы можете еще больше сэкономить.
Если вы до сих пор не знаете, что такое музыка с дистанционным управлением со светодиодной лентой RGB и думаете о выборе аналогичного товара, AliExpress — отличное место для сравнения цен и продавцов. Мы поможем вам разобраться, стоит ли доплачивать за высококачественную версию или вы получаете столь же выгодную сделку, приобретая более дешевую вещь.А если вы просто хотите побаловать себя и потратиться на самую дорогую версию, AliExpress всегда позаботится о том, чтобы вы могли получить лучшую цену за свои деньги, даже сообщая вам, когда вам будет лучше дождаться начала рекламной акции. и ожидаемая экономия.AliExpress гордится тем, что у вас всегда есть осознанный выбор при покупке в одном из сотен магазинов и продавцов на нашей платформе. Реальные покупатели оценивают качество обслуживания, цену и качество каждого магазина и продавца.Кроме того, вы можете узнать рейтинги магазина или отдельных продавцов, а также сравнить цены, доставку и скидки на один и тот же продукт, прочитав комментарии и отзывы, оставленные пользователями. Каждая покупка имеет звездный рейтинг и часто имеет комментарии, оставленные предыдущими клиентами, описывающими их опыт транзакций, поэтому вы можете покупать с уверенностью каждый раз. Короче говоря, вам не нужно верить нам на слово — просто слушайте миллионы наших довольных клиентов.
А если вы новичок на AliExpress, мы откроем вам секрет.Непосредственно перед тем, как вы нажмете «купить сейчас» в процессе транзакции, найдите время, чтобы проверить купоны — и вы сэкономите еще больше. Вы можете найти купоны магазина, купоны AliExpress или собирать купоны каждый день, играя в игры в приложении AliExpress. Вместе с бесплатной доставкой, которую предлагают большинство продавцов на нашем сайте, вы сможете приобрести rgb led strip remote controll music по самой выгодной цене.
У нас всегда есть новейшие технологии, новейшие тенденции и самые обсуждаемые лейблы.На AliExpress отличное качество, цена и сервис всегда в стандартной комплектации. Начните самый лучший шоппинг прямо здесь.
ASUS ROG Addressable RGB 5050 LED 60см осветительная полоса с магнитной подложкой и клейкими полосами для использования с Aura Sync RGB (ТОЛЬКО 3-контактные адресуемые светодиодные заголовки) — Walmart.com
«,» tooltipToggleOffText «:» Переверните переключатель, чтобы получитьБЕСПЛАТНО Доставка на следующий день!
«,» tooltipDuration «:» 5 «,» tempUnavailableMessage «:» Скоро вернусь! «,» TempUnavailableTooltipText «:»Мы прилагаем все усилия, чтобы снова начать работу.
- Временно приостановлено в связи с высоким спросом.
- Продолжайте проверять наличие.