Превращаем звук в свет, часть 2
В этом видео хочу показать возможности новой версии самодельной цветомузыки, сделать которую сможет любой из вас!
В этом видео хочу показать возможности новой версии самодельной цветомузыки, сделать которую сможет любой из вас!
Предлагаю вашему вниманию свой новый проект. Крутейшая свето- цветомузыка на Arduino и адресной светодиодной ленте WS2812b. Работает с лентой любой длины и может быть размещена в любом месте в квартире или автомобиле!
Режимы работы (переключаются кнопкой):
★ VU meter (столбик громкости): от зелёного к красному
★ VU meter (столбик громкости): плавно бегущая радуга
★ Светомузыка по частотам: 5 полос симметрично
★ Светомузыка по частотам: 3 полосы
★ Светомузыка по частотам: 1 полоса
★ Стробоскоп (добавлено после выхода видео)
Особенности:
★ Плавная анимация (можно настроить)
★ Автонастройка по громкости (можно настроить)
★ Фильтр нижнего шума (можно настроить)
★ Автокалибровка шума
★ Поддержка стерео и моно звука (можно настроить)
В прошлых частях я собрал устройство светомузыки для LPT. По факту это было устройство оптической развязки параллельного интерфейса от силовой нагрузки, назовём его УОРПИ. Да, при помощи его можно устроить светомузыку используя в качестве подачи сигнала LPT порт, а управление сигналом при помощи программы. В этой части я хочу поговорить о применении микроконтроллера для управления, а именно приём входного сигнала, разложение его на частоты и вывод в параллельный интерфейс УОРПИ.
Эта часть будет больше техническая и немного о программировании и решении вопросов в работе.
Итак, моё устройство должно уметь принимать входной сигнал и раскладывать его на частоты. Почитав гугл находим массу статей и прочего про библиотечку БПФ (Быстрое преобразование Фурье) и что с ней всё должно работать, НО тут же находим такую штуку как:
1. Это все довольно медлительно;
2. Не всегда корректно;
3. Написано на костылях;
4. Диапазон частот заканчивается на 5кГц.
Вывод - не вариант. Все должно быть идеально. Вариант второй,- используем анализатор спектра в виде микросхемы MSGEQ7, - она умеет раскладывать на 7 частот включая 16кГц, - этого мне выше крыши.
Вот как это выглядет
Таким образом, буду собирать с использованием микросхемы.
Значит чего я хочу: Аудио сигнал поступает на вход анализатора, и на вход Ардуины. С выхода анализатора результат поступает на вход Ардуины. Ардуино это дело обрабатывает и выдает по ШИМ на УОРПИ.
С анализатора снимаем 7 частот, из них выделяются Низкие, Средние, Высокие, Среднее значение всех частот. - Получаем каналы НЧ, СЧ, ВЧ, ППЧ.
Со входа ардуины снимаем громкость сигнала, получаем канал ППГ. И вычтя это значение из максимально возможного получаем канал ОПГ. Таким образом будет все 6 каналов СДУ.
Проштудировав в интернете мануалы по работе с данной микросхемой анализатора имеем код:
То есть всё это работает на пресловутых Delay? Далее сюда втюхиваем еще работу ППГ и ОПГ, и получаем кашу на delay'ях, то есть будем тормозить работу ардуины только для того что бы соблюсти тайминги микрухи? Да ну нахер...
Я хочу что бы циклы поучения результата, манипуляции с ними и вывод сигналов ШИМ работали как-то сами по себе, а тайминги микрухи и получение значений с них работали отдельно. Значит мне надо как минимум 2 потока. А вот ардуино это не умеет. Значит надо сделать так, что бы основной цикл работал сам по себе, а когда надо прочитать значение с анализатора и дернуть его стробом, то основной цикл прервался, - выполнилась работа с микрухой, и продолжил работать основной цикл. А это называется прерывание, а поскольку внешних каких-то событий не будет происходит, значит надо сделать прерывание по таймеру. В ардуине имеется аж 3 таймера!. Что же это за таймеры? Почитаем:
http://arduino.ru/Tutorial/Arduino_Interrupts_part2
Таймер 0 - Отвечает за Delay, micros ... и ШИМ 5 и 6 пин.
Таймер 1 - ... ШИМ 9 и 10 пин.
Таймер 2 - ... ШИМ 3 и 11 пин.
Да что за нахер мне надо все 6 ШИМ каналов. Все таймеры заняты! а значит, либо я циклю все в loop'е и имею говнокод но с ШИМ, или я имею раздельное выполнение циклов, но БЕЗ ШИМ на одном пине.
Пост становится длинноват, поэтому продолжение следует...
Спойлер: вопрос я таки решил.
Часть 1. https://pikabu.ru/story/svetomuzyika_cherez_lpt_port_chast_1...
Часть 2. https://pikabu.ru/story/svetomuzyika_cherez_lpt_port_chast_2...
После того, как была сделана, спаяна и проверена на работоспособность печатная плата были заказаны 2 разъема 4pin 250v, 1 разъем питания 250v (обычная 8-ка), и алюминиевый корпус.
Сразу отвечу на свой вопрос из 2 части - резисторы не находятся под нагрузкой, поэтому даже в SMD 1206 им вполне комфортно даже если лампы на 100ВТ поставить, и в целом ничего не греется.
Шло все это долго. Но в конце концов, устройство управления было собрано полностью:
И дальше начинаем искать или думать как сделать прожектора. Поиск результатов не дал от слова совсем. Ок, сделаем сами.
Итак, нам понадобится:
1. Светильник-прищепка 6 штук. Я взял ENERGY EN-DL24, из магазина на букву Аксон (пофиг вообще).
2. Старый убитый светильник типа цапля.
3. Провод 4*0,75 10 метров.
4. Лампы рефлекторные, желательно цветные. 6 штук.
5. Металлический уголок для крепления полок на стену. 4 штуки.
6. Металлическая решетка-гриль (от компа или блоков питания). 6 штук (не обязательно, но прикольно смотрится).
Начинаем собирать. Разбираем Светильники.
От прищепок нам нужно Плафон, патрон, крепление патрона к плафону.
От цапли - 4 металлические стойки.
Щас будет из серии как нарисовать сову, но так или иначе. Извиняюсь, но поскольку делалось и выдумывалось довольно долго, то фото не делал, попробую рассказать на пальцах.
В стойках от цапли, есть по отверстию с каждого края, дополняем еще отверстиями по центру.
В плафонах сверху над патроном в корпусе имеется 2 отверстия для крепления патрона, и 1 отверстие для выхода провода. Просовываем провод от патрона в центральное отверстие (выход провода) а через крайние отверстия крепим весь плафон на 2 металлические стойки от цапли. И таким образом крепим по 3 плафона на стойки. и на крайние прикручиваем уголок. Провода подключаем любым удобным способом.
Получается примерно так:
Делаем таким образом 2 прожектора.
Следующий этап - лампы. Найти цветные мне не удалось, решил красить. Чем красить? Цапонлаком, чо тут выдумывать. Идём в первый попавшийся магазин радиодеталей и покупаем лак. стоит он где-то 50 руб на 30 мл.
Я купил 4 цвета: Красный, Желтый, Зелёный, Синий.
Какая же это дрянь, скажу я вам. Что хочется отметить:
1. Производят его несколько контор. Почти все - барахло.
2. Смотрите на срок годности обязательно! Если вышел или на гране - Барахло.
3. Проверяйте цвет.
Фото (стырены из интернета) с описанием.
Красная этикетка, с черным текстом (такое ощущение, что печатали лазерным принтером на цветной бумаге).
Отличный лак. Насыщенный цвет, глянцевый, блестящий.
Купил синий и красный. - Соответственно красный как на фото, а синий, точно также но напечатано на синей бумаге (не путать с похожим принтом синей краской на белой бумаге).
Синий - без претензий.
Красный... Ну да, он глянцевый, насыщенный, блестит при высыхании, НО он, цука, ПУРПУРНЫЙ, или MAGENTA как в струйных принтерах. Ну ладно, нам такой тоже нужен.
Пошёл искать красный...
Жидкий, срок годности закончился 3 месяца как. и он ... ПРОЗРАЧНЫЙ,... нет, не так, он ВООБЩЕ КАК ВОДА прозрачный. - Вернули деньги.
Ладно, пофиг, идем дальше.
Зелёный:
Полная хрень. Жидкий, пока не высох - вроде даже сочный, блестящий.
При высыхании, становится очень светлый, матовый, с какими-то вкраплениями и сам цвет - как бледная трава.
Нанеся 2 слой - появляются как какие-то сопли в матовом не равномерном покрытии. С 3 слоя - вообще все в кашу превращается.
Сохнет довольно быстро.
Ладно. Желтый.
Очень бледный. После высыхания становится матовым и не сочным. Нанеся 7 слоёв - ну около дела, но матовый и не красивый.
Далее. Смешав Пурпурный с Желтым - Получился вполне красивый красный. И поскольку Пурпурный лак - вполне качественный, то и на выходе не испортился, Красный получился глянцевый, блестящий. Но наносить пришлось в 5 слоёв.
Далее. Смешав Зелёный и Синий - Получился вполне красивый голубой (морской волны). Аналогично красному. Синий лак просто отличный - на выходе получилось отлично. настолько насыщенно, что хватило 1 слоя.
Итого, результат:
Красный - 5 слоев, Отличный глянцевый.
Зеленый - 2 слоя, Матовый, грустный цвет с "соплями" в виде вкраплений.
Синий - 1 слой, Отличный глянцевый.
Голубой - 1 слой, Отличный глянцевый.
Желтый - 7 слоёв, Бледный, матовый.
Пурпурный - 3 слоя, Отличный глянцевый.
Решётки - загибаем ушки, и надеваем для красоты. Или на них можно закрепить светофильтры в будущем.
Видео работы, возможно будет, но не скоро. Работы еще ведутся.
Далее планируется:
Поскольку многие Материнки без распаянного LPT порта, - это вызывает проблемы, а имеено: Если на материнке есть гребенка под LPT - далеко не факт, что она будет работать! У меня не заработало. Поэтому, я заказал PCIe - LPT плату, посмотрим на неё, будет ли работать.
И из вкусного:
Разработка печатной платы устройства на Ардуино нано + микросхема MSGEQ7 для вывода ШИМ сигналов на разъём DB25 для подключения у данной СДУ.
З.Ы. Прошивку для ардуино нано я уже написал, и печатка уже разведена. Ждем Ардуину и микросхему для отлаживания с последующим заказом платы на производство.
Сегодня утром по ул. Сатпаева уг. ул. Розыбакиевой, светофор сошёл с ума =) Мигал всеми цветами, хз как там было со стороны ул. Розыбакиевой, скорее всего также.
Извиняюсь за качество, да и жаль предыдущий светофор не зацепил, на работу спешили.
Продолжение и дополнение к посту http://pikabu.ru/story/svetomuzyika_svoimi_rukami__gotovimsya_k_novomu_godu_5566463 . Во-первых, в том посте у меня не получилось вставить картинки. В этот раз все должно быть нормально. Во-вторых, тот пост удалили из "Лиги Радиолюбителей" из-за, якобы, рекламы сайта. Что ж, вторая попытка. В качестве оправдания: было бы лучше, если бы я вставил длинные ссылки на всякие гугл- и яндекс-диски? И, да, я научился вставлять ссылки нормально. В третьих - я немного отредактировал и дополнил третий вариант, а именно, нашел еще несколько программ.
2. Вариант второй. "Аналоговый".
3. Вариант третий. "Компьютерный".
Для этого способа понадобиться старый ПК с LPT-портом, но сейчас это не проблема, благо современный мир заполнен отслужившими свой век компьютерами.
Также нам понадобится определенное программное обеспечение. Наиболее распространенный вариант - легендарный аудиоплеер Winamp со специальными плагинами. Самый простой из плагинов - lptLight. В маленьком окошке можно выставить уровень срабатывания для каждого канала. Да, этот плагин обрабатывает только уровень звука, из-за чего вспышки ламп не всегда попадают на бит-партию.
Следующий вариант чуть сложнее - плагин vis_Light by VOODOO-BME (http://shunmax.(народ).ru). Этот плагин обладает гораздо бОльшим функционалом. Он позволяет использовать по отдельности или комбинировать эффекты "Уровень" (обработка уровня громкости музыкального сигнала), "ЦМУ" (обработка частоты музыкального сигнала, то есть, разделение на "басы", "средние" и "высокие"), "Бегущий огонь" (мигание, независимое от музыки). Инструкция по установке и настройке содержится в файле ReadMe.txt в соответствующей папке в архиве, прикрепленном к статье
Последний вариант - программа WinLpt. Она может перехватывать сигнал с устройств ввода, или подключаться к Winamp в качестве плагина.
Помимо музыкального режима, эта программа обладает богатым функционалом для ручного и скриптового управления.
Чтобы подключить что-то более мощное, чем один светодиод я собрал схему транзисторного ключа. К одному LPT разъёму можно полноценно подключить 8 ключей, ещё 4 могут не работать на определённых материнских платах. Используя достаточно мощный транзистор, можно подключить даже светодиодную ленту. Чтобы управлять сетевой нагрузкой, можно использовать симисторы. Здесь я не буду приводить схему во избежание травматизма электрическим током среди начинающих. Желающие могут найти соответствующую схему по запросу "Симисторный ключ".
Этим способом я пользуюсь последние два года. Дело в том, что в конце 2016-го, а именно 30 декабря я решил таки разнообразить мигание новогодней елки, а, т.к. радиомагазин не работал, пришлось собирать из чего попало. Летом 2017 я немного "проапгрейдил" этот компьютер и поставил на него Windows XP (о, да, моя прелесть!.. (прошу прощения, отвлекся)). Windows XP благодаря своей подсистеме доступа к звуковым устройствам позволяет микшировать сигнал с микрофонного входя прямо на линейный выход, что позволяет устроить караоке без дополнительных приспособлений. Windows 7, а, тем более, Windows 10 не позволяют такого. Даже если включить функцию "Прослушать" для микрофонного входа, звук будет выводиться с задержкой, притом, с весьма ощутимой.
Паяйте на здоровье, продолжайте удивлять окружающих новыми самоделкими, и все это при добром здравии на долгие лета. До новых встреч в новых статьях!
Скачать схемы и программы:
> Яндекс.Диск: http://yadi.sk/d/rFs3dhsU3R5cnr
> Google Drive: http://drive.google.com/open?id=1P0X4AirzQ2JAeJYfzFFBdxILjYxh3NbL
> Облако Mail.Ru: http://cloud.mail.ru/public/GaS3/SHaUPg67D
> Сервер сайта: http://www.dubos.ru/files/soundlights.zip
> Основная статья: http://pikabu.ru/story/svetomuzyika_svoimi_rukami__gotovimsya_k_novomu_godu_5566463
> Эта статья на сайте: http://www.dubos.ru/projetcs/item/9-soundlights.html
год назад задался желанием заиметь у себя портативную колонку которая смогла бы проигрывать музыку на ощутимой громкости неделю – две круглосуточно. посмотрев что предлагает рынок, понял что надо будет делать самому.
В процессе её создания, понял что это может быть не только колонка которая проигрывает музыку, но сему напихал туда всяких плюшек.
итак, что в итоге получилось:
– аккумулятор на 200 ватт/часов, или чтобы неправильно, но понятно, на 50 000 mAh, что позволяет колонке работать с 1-2 недели при использовании на полную.
– цифровой усилитель на 20 Вт х 2 на микросхеме Yamaha YDA138-E с КПД около 90%
динамики с неодимовым магнитом Aiyima 6 Ом 20 Вт
– блютуз
– 3 USB зарядки, общим номинальным током 5 А
– цветомузыка (адресная светодиодная лента) и стробоскоп управляемые микроконтроллером на arduino
– зарядка от 220в
– 3 Вт освещение на палке
– вес ~2.5 кг (вес 2,3 кг на фото, это без плюшек – только проигрывание музыки от линейного входа)
что стоило:
300 усилитель
500 зарядка от 220
800 динамики
200 повышатор напряжения до 12в
200 понижатор напряжения до 5в
100 контроллер заряда/разряда
300 адресная светодиодная лента
100 ардуино
100 пассивный динамик
100 ручка для переноски
100 блютуз модуль
100 вольтметр
100 светодиоды для освещения
200 сэлфи палка
0 два комплекта аккумуляторов от macbook pro 15
по минимуму вышло 3200. но на всякие мелочи типа шурупов и фанеры думаю ушло ещё 1.5k, по этому пускай будет честные 4500 как конечная сумма.
колонка получилась отличная. радует звук, вес и стоимость.
Начало тут https://pikabu.ru/story/svetomuzyika_cherez_lpt_port_chast_1...
Далее была разведена схема с подготовлена печатка, с помощью сервиса easyeda. Выглядела схема Вот так:
По компонентам решил ставить SMD резисторы, так-как нагрузки они не несут, только обвязку. Не знаю насколько верно моё суждение. Я взял 1206, на 0.25 Вт. И вот тут знающие, ответе в комментариях, - выдержат они нагрузку в 40-60Вт от ламп накаливания?
Разводка платы - ото целая наука, куча вариантов, как лучше развести, что бы ничего не мешало друг другу корпусами. И прочие радости.
Самодельное изготовление плат типа ЛУТ - я решил, что запариваться этим не имею желания, и буду заказывать на производстве. Написал первым попавшимся производителям с Али, спросил о цене, и по самому бюджету стоимость $28 + $4 доставка ,.. дороговато. Заказал там же на Easyeda, вышло $2 + $10 за доставку, что меня устроило. Уже потом я узнал о еще каких-то производителях, типа там еще дешевле, но мне кажется будет примерно теже $10-12. И стал ждать. И тут меня стал волновать один вопрос, - плата 2-х сторонняя, и отверстия для деталек будут металлизированы или нет, т.к. если они не металлизированы, то запаивать детальё придется с обеих сторон, что сложнее.
Пришли платки через 3 недели, и отверстия металлизированы - отлично.
Пару часов и платка готова:
Осталось самое сложное, - найти софиты. А это оказывается то еще занятие. Конечно, если взять по 1к рэ за 1 штуку, и потратить 6к руб. то это просто. Но тратить столько денежек мне жалко, мой внутренний еврей не позволяет. Есть вариант найти в магазине лампы на прищепке, они стоят по 400 руб, но 1. тоже дороговато, 2. Максимум нашёл 2 штуки в наличии, и больше нету... Нашёл на всем известном сайте объявлений круглые советские фары (прожектора) для Авто по 250 руб - отличный вариант, но 4 штуки только. Вообщем ищу прожектора - 6 штук.