Всем здрасте) Представляю своё видение данного проекта.
Сначала я написал целую простыню на два листа с подробным описанием, а потом решил, что оно никому не надо. Поэтому коротко.
Лента у меня 30 диодов на метр и длинной 102 диода. Жрет в максимальном режиме (белый) 1.7А. Скетч занимает 84% памяти. Приклеена под подоконником на балконе.
Изрядно переписал код (за основу взята прошивка от technotrasher, за что ему респект). Исправил ошибки, оптимизировал код, сделал более логичное меню (на мой взгляд), исправил несколько имеющихся и добавил с дюжину новых эффектов (все которые добавил - на видео), упростил схему (убрал диоды, кнопки и транзистор), добавил индикацию на саму ленту вместо диодов, добавил сброс настроек без перепрошивки. Если будет интерес, то распишу более подробно.
ПС. на фото модуль с Али, цена ~100 рублей, позволяет из высокоуровнего выхода (на колонки), сделать низкоуровневый (aux), а так же имеет независимую регулировку каналов. Аккуратно собран, на борту все необходимое и не надо ничего колхозить.
Дополнение:
Спасибо всем за проявлены интерес! Как обещал выкладываю подробности, а так же схему и скетч.
Убрал из схемы транзистор. У меня переключение с микрофона на линейный вход происходит обычным тумблером. Он же зажигает либо зеленый, либо красный светодиод и отключает питание микрофона аппаратно. Соответственно выпилил часть кода и освободил немного памяти. В итоге программно светодиодов и кнопок не задействовано.
Добавил аппаратную кнопку выключения питания, мне кажется не гоже БП быть постоянно под напряжением.
Исправил несколько ошибок, например, некоторый функционал был заявлен в инструкции, но по факту не был прописан в коде, либо был прописан неверно.
Удалил дублирующийся эффекты – радуга и смена цвета.
Удалил лишние функции, переменные и тд. Дописал нужные функции. Некоторые исправил. В некоторых местах значительно изменил структуру кода. Поменял вкладки и в целом попытался оптимизировать код. Теперь это больше похоже на единый проект, а не «Франкенштейн». В результате высвободилось процентов 10-15 памяти без потери функционала.
Добавил с дюжину эффектов и «пересобрал» управление всем этим хозяйством – на мой взгляд такое управление более интуитивное и логичное.
Добавил сброс на стандартные параметры (4 раза «ОК» в выключенном состоянии).
Добавил индикацию нажатия кнопок, а так же режима «Выключено» и режима «Настройки» на самой ленте (зачем паять и программировать дополнительные светодиоды если у нас и так есть +/- сотня диодов на ленте, да и наглядней так). «Выключено» - первый диод на ленте тускло мигает красным. «Настройки» - 6 первых диодов на ленте горят «радугой».
Подрежимы у меня переключаются «*» в одну сторону и «#» в другую.
Все одноцветные режимы собрал на кнопке «1».
Добавил туда просто белый с возможностью изменения температуры и яркости («ОК» - сбрасывает температуру). Затем идет один выбранный цвет. Затем плавная смена цвета. Добавил пульсацию случайным цветом и резкую смену на случайный цвет. Обидно, что даже на самых примитивных китайских контроллерах для обычных лент эти режимы есть, а тут не было.
Все «разноцветные» режимы на кнопке «2».
Поменял очередность. Чуть доработал «Радугу». Переписал сомнительный симметричный огонь из центра на более плавные и независимые огни с краёв, перевел на другое цветовое пространство, что дало ряд плюшек. И теперь можно менять цвет этих огней с пульта. На основе этого добавил эффект: «Лёд и Пламень» - с одной стороны натуральный, а с другой синий огонь и они типо борются между собой. Добавил «пестрящий» огонь – цвет так же можно менять. Добавил огонь на шуме Перлина и на его основе еще несколько эффектов: «Облака», «Бассейн», «Плазма» и тд., можно еще поиграться с параметрами и хоть десяток добавить, в памяти они ничего не занимают, лишь разные вводные для функции задаются. Цвета этих эффектов так же можно менять с пульта.
На кнопке «3» у меня стробоскоп, думаю добавить туда возможность смены цвета пультом.
Кнопки «4» - «8» - цветомузыка по частотам. В эти режимы изменения вроде не вносил, только порядок поменял. По-хорошему первые три можно объединить в один и освободить кнопки на пульте.
На кнопке «9» собрал режимы цветомузыки которые зависят от громкости – «Градиент», «Радуга» и добавил к ним «Огонь», цвет которого так же можно менять с пульта.
Кнопка «0» - включить/выключить. Но включить теперь можно нажатием на любую из цифр.
Кнопка «ОК» включает режим «Настройки», как и раньше. Но теперь ручная настройка чувствительности производится «*/#» для всех режимов цветомузыки, скетч сам поймет, что настраивать.
У меня тут лаундж, а не дискотека, поэтому упор делал на эффекты и в цветомузыку особо не лез. Возможно при других вводных надо будет что-то корректировать.
Программист я тот еще, всю учебу прогулял и проплатил, а данный текст и скетч писал преимущественно под газом, поэтому получилось, как получилось)))
@Slenk, Доброе утро, скажите пожалуйста, на 300 диодов не компилируется, предел 212 диодов, можно как-то поднять до 300 диодов? У меня используются все 5 метров ленты 60 диодов на метр.
@Aleksandr1612, добрый день) Из-за Вас прошерстил я в очередной раз код)) Спасибо, теперь я знаю больше (просто сам я с этой проблемой не сталкивался). И нашел я таки жор памяти.
В общем для начала попробуйте выпилить эффект "2.8 каждый светодиод – огонек", он все равно беспонтовый и почти тоже самое можно сделать на Перлине (подобрав параметры). Для этого закоментируйте на вкладке 03 строку 177 case 7: fireLine(); break; После этого должно скомпилироваться, заняв 98% памяти. За одно на той же вкладке в строке 12 #define NM 4 замените 4 на 8, после этого код похудеет до 94%.
Затем в первой вкладке в строке 204 #define FIRE_DIFFUS 30 увеличить значение примерно до 100, что бы "Лёд и Пламень" выглядел нормально, ну если Вам вообще этот режим нужен.
Отпишите потом по результату.
@Slenk, Доброе утро, скажите пожалуйста, на 300 диодов не компилируется, предел 212 диодов, можно как-то поднять до 300 диодов? У меня используются все 5 метров ленты 60 диодов на метр.
@Aleksandr1612, спасибо Вам за тестирование. Я тогда в ближайшее время чуть адаптирую код, что бы все эти параметры автоматом подгонялись под количество диодов и гордо напишу о поддержке до 300 диодов) А у Вас если получится, то запишите видос, а то 5 метров - это ппц)) Да еще и с такой плотностью) Интересно посмотреть как оно, особенно "Лёд и Пламень".
а вот в такой вот установке Lichtorgel автор утверждает, что частот хватит и на 8 каналов. я проверял генератором частоты - 8 - уже слишком. а вот на 6 на базе FHT очень даже реально.
@Slenk, Доброе утро, скажите пожалуйста, на 300 диодов не компилируется, предел 212 диодов, можно как-то поднять до 300 диодов? У меня используются все 5 метров ленты 60 диодов на метр.
вот только жаль что от идеи цветомузыкальной установки мы уехали в подсветки и эффекты. я все же бы очень ждал идеи по обработке сигнала. сделать режим 6 полос. на ленте по каждой частоте. грамотного распределения по частотам. так сказать возвращение проекта к "истокам". хотелось бы все же цвето-музыку, а не подсветку для кафе и бара. Хотя это все игрушки... но не все могут себе позволить купить промышленные варианты исполнения. Паяем дальше! И это интересно!
а вот это как раз то что я и хочу сделать. и сей девайс у меня в очереди на исполнение! реально круто! так как ленту развешивать ну вот совсем не очень. а свернуть её так - то что нужно!
А можно поподробней? Что конкретно надо сделать, что это даст и как будет выглядеть? А то у меня с фантазией туго. Мне что-то сделать проще, чем что-то придумать. По этой причине в своё время фотографию забросил.
а вот в такой вот установке Lichtorgel автор утверждает, что частот хватит и на 8 каналов. я проверял генератором частоты - 8 - уже слишком. а вот на 6 на базе FHT очень даже реально.
Я смотрел документацию, в ней указано, что REF подтянут конденсатором на массу. Думал вдруг я ошибаюсь и есть еще пин REF или можно переназначить какой-то другой пин. Судя по всему он 1.
Почему важно важно уделить внимание на частоты, подаваемые на устройство "цму" с использованием fft и в чём проблема fft? Проблема в том, что происходит наложение частот которые за границей преобразования на частоты преобразованные fft. Преобразование производиться ведь не всего спектра, а только определённого участка. Вот при наложении и происходит каша на ленте.
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.