ARDUINO Цветомузыка на Arduino. FireEdition.

Что нужно сделать в первую очередь?

  • Оптимизировать/исправить баги в текущем варианте

  • Добавлять новых эффектов/функций

  • Улучшить обработку звука

  • Автору виднее, что лучше.


Результаты будут видны только после голосования.
Цветомузыка на Arduino. FireEdition.
Всем здрасте) Представляю своё видение данного проекта.

В общем собрал систему на основе прошивки от technotrasher (за что ему респект). Ленту 30 диодов на метр и длинной 102 диода приклеил под подоконником на балконе. Решил добавить «Огонь» на Пёрлине, а дальше всё как в тумане…

ВНИМАНИЕ! Данная прошивка УСЛОВНО совместима с оригиналом от Гайвера. Отличается БОЛЬШИМ количеством дополнительных функций/настроек/эффектов, все подробности под спойлерами.
Прошивка хоть и основана на Гайверовской, но ощутимо отличается как по функционалу, так и по управлению и программной части. Поэтому далее по тексту будет не сравнение с оригиналом, а просто описание основных возможностей. В связи с тем, что проще указать, что в них общего, нежели перечислять отличия.
В прошивке несколько десятков эффектов. Половина из них зависят от звука, а половина выступают в роли обычной Подсветки. В данной реализации они по возможности логично разделены на 9 групп (Режимов). И каждый Режим разделяется на Подрежимы (Эффекты).

Может работать от микрофона или от линейного входа. Либо одновременно с возможностью переключения.

Настройки для каждого Эффекта не зависят друг от друга и сохраняются отдельно.

Настроить можно скорость/яркость/плавность и т.д., в зависимости от Эффекта.

Функция «Демо», при которой Подрежимы в выбранном Режиме будут автоматически сменять друг друга.

Функция «Тишина». В случае, если на определенное время музыка останавливается, то система переключается на Подсветку. При появлении звука вновь возвращается к Режиму цветомузыки.

Возможно управлять с ик пульта или с двух физических кнопок.

Возможно настроить «плотность пикселей», чтобы на ленте 30 диод/метр и 144 диод/метр Эффекты выглядели более-менее одинаково.

Присутствует индикация (нажатие кнопок, дежурный режим и т.д.) либо на распаянных светодиодах, либо на самой ленте.

Можно изменить ориентацию направления Эффектов, где анимация идёт от краёв к центру или от центра к краям. Полезно, если лента разделена на две части (два вертикальных столба) и уже смонтирована.

Функция ДопКанал (ДК). Это возможность в дополнение к «адреске» подключить к системе обычную RGB ленту любой длинны или RGB прожектор’ы (да вообще любые RGB источники света). В зависимости от выбранного режима ДК будет либо жить «своей жизнью» и, например фигачить стробоскоп, либо дополнять основной Эффект.

Возможно выбрать как стартовать после отключения питания. Либо с последнего активного режима, либо всегда с определенного. Во втором случае в зависимости от модели использования можно, например выбрать старт с «режима ожидания», чтобы лента не вспыхивала среди ночи после скачка электричества. Либо наоборот повесить систему на обычный выключатель света (подсветка рабочей зоны на кухне, верхний свет и т.д.), выбрать старт с «Белого» и использовать как обычный источник света, а в режиме «вечеринки» использовать пульт. Либо в случае исключительно «дискотечного» использования всегда с ходу включать «цветомузыку» без лишних движений.

Всё это по возможности максимально «модульное», то есть нужное можно подключить, а ненужное отключить.
Прежде чем задать вопрос в обязательном порядке необходимо ознакомиться с информацией под всеми спойлерами. В том числе там описано как именно нужно задавать вопрос. Не торопитесь писать мне в личку, тут ответят гораздо быстрее.
Активируется настройкой "IR_REMOTE"
Настройка "WAVGAT" - "1"
Использование пульта WAVGAT не рекомендуется. Особенно если планируется пользоваться всем функционалом прошивки. Управление будет сильно перегружено. И сам по себе WAVGAT плохого качества.
1645565730405.png
Настройка "WAVGAT" - "0"
Желательно использовать какой-нибудь пульт от старой техники. Они намного более качественные и на них больше кнопок.
Вот пример как можно настроить управление при наличии большего количества кнопок.
1647204883874.png
Активируется настройкой "BUTTONS"

Имеется Кнопка А и Кнопка В
1. Кнопка А листает режимы с 1 по 9 (и в обратную сторону при двойном клике).
2. Кнопка В листает подрежимы, то есть аналог "*" (и соответственно двойной клик - "#")
3. Длинный клик на А - аналог "0"
4. Длинный клик на В - аналог "Ок"
5. Зажать кнопку А и клацать на В - аналог вверх (двойной клик - вниз)
6. Зажать кнопку В и клацать на А - аналог вправо (двойной клик - влево)
7. Тройной клик на А - аналог повторного нажатия на цифру текущего режима.
8. Тройной клик на В - аналог 4/6-кратного нажатия "Ок"
Функция ДопКанал (ДК). Позволяет в дополнение к адреске подцепить обычную RGB ленту любой длинны (или прожектор например).
А - всё тоже самое, что и на первой кнопке,
В - тоже что и третья кнопка (стробоскоп),
С - "Авто" подстраивается под происходящее на адреске. Если на адреске стробоскоп - то и на ДопКанале стробоскоп, если на адреске зеленый цвет - то и на ДК зеленый цвет, если на адреске плавный огонь - то и ДК переливается в этих же оттенках и тд. Пока "Авто" не оптимизирована под все эффекты.
D - отключен.
Хз кому всё это нужно, но на мой взгляд прикольно. Можно зафигачить по периметру всей комнаты RGB, а допустим над окном адреску. Использовать как обычный свет/подсветку в обычной жизни, а в режиме вечеринки всё это дело будет вызывать эпилепсию. Либо при сборке какой-то переносной конструкции можно будет интересней обыграть проект. Либо использовать ДК вместо "яркость негорящих".

В общем у меня был чисто спортивный интерес к реализации.

Варианты подключения:
На контакты 9-11 через RGB Amplifier китайский или самодельный. Подробно об RGB лентах ТУТ. Поставить в настройках "SUB_CHAN". Так же в настройках можно указать общий катод или анод. При этом индикация на диодах самовыпилится.
Подцепить к последнему пикселу адрески еще один дополнительный адресный чип. И далее уже к нему подпаять RGB Amplifier.

Добыть этот чип можно разными способами:

1 - Купить адресную гирлянду на 50 пикселов ТАКУЮ. Отрезать последний пиксел. Расковырять. Припаять RGB Amplifier вместо/параллельно диоду. Оставшуюся гирлянду использовать по назначению. (я именно так и тестировал).

2 - Купить минимальный отрезок устаревшей WS2811 у которой диоды объединены в группы по три. Отрезать одну такую группу. Припаять RGB Amplifier вместо/параллельно диоду. (планирую испытать, но проблем быть не должно).

3 - Умудриться купить чип отдельно (и тогда поделиться информацией где). Я находил только пачкой в 500 штук.

В настройках "SUB_LEDS" указать количество дополнительных пикселов от 1 до много. Поясняю:

У вас есть 100 пикселов адрески. И вы решили прицепить еще один пиксел с припаянным RGB Amplifier. Значит нужно оставить в основных "NUM_LEDS" 100, а в "SUB_LEDS" указать "1"

У вас есть 100 пикселов адрески. И еще остался обрезок на 20 пикселов и вы решили просто посмотреть как это вообще будет работать и надо ли оно. Цепляете этот обрезок в конец своей ленты. В "NUM_LEDS" оставить 100, а в "SUB_LEDS" указать "20"

Самые умные и ленивые уже поняли, что если впадлу суеиться, но интересно протестировать можно сделать так: В "NUM_LEDS" указать допустим 70, а в "SUB_LEDS" указать "30".
Свой пульт с большим количеством кнопок. Рекомендуется.
Необходимо забиндить дополнительные кнопки пульта на переключение Режимов и Подрежимов ДК.

Пульт WAGWAT. Не рекомендуется.
Два раза нажать "ОК"

Активируется режим настройки ДК. Первые 4 диода горят синим.

Цифры на пульте: 1 - Первый Режим, 2 - Авто, 3 - Стробоскоп, 4 - Выкл.
Кнопки */#: переключают Подрежимы, но не адрески, а ДК.

Нажать "ОК" что бы выйти из режима настроек ДК.

Умные задаются вопросом, а как же теперь с 4-кратным нажатием. Да, теперь при активации ДК оно стало 6-кратным.

У меня не работает. Что делать?
Очень жаль. Не знаю.

Не ну правда?
Правда не знаю.

Ардуина вообще работает? Накатите тестовый скетч «блинк» и проверьте. (в приложении)
Лента вообще работает? Накатите тестовый скетч для ленты и проверьте. (в приложении)
Пульт вообще работает? Накатите тестовый скетч для пульта и проверьте. (в приложении)
Микрофон вообще работает? Накатите любой тестовый скетч для микрофона и проверьте. Тестовые скетчи искать в интернетах, кто первый найдет и оптимизирует (под наши пины) весь комплект - присылайте, прикреплю (часть я уже сделал).

Если что-то из этого не работает по отдельности, то не нужно пытаться запустить всё в сборе и надеяться, что оно само починится. Не починится, разберитесь сначала со своими «железками». Не нужно сразу всё паять, собирайте на макетке иначе вообще никогда не поймете в чем проблема.

Если по отдельности всё работает (на тех же пинах, что и в схеме), значит хоть что-то и с прошивкой должно работать. Напишите конкретно какие режимы не работают или работают неправильно, какая версия прошивки, какая схема (что конкретно и к каким пинам подключено) и при каких настройках.


Хочу как на схеме, микрофон + стереовход!
Делай как на схеме, и настройку «MONO_STEREO» меняй на «0».

Хочу только микрофон!
Ставь только микрофон (как на схеме), и настройку «MONO_STEREO» меняй на «1».

Хочу только линейный стереовход!
Ставь только линейный вход (как на схеме), и настройку «MONO_STEREO» меняй на «2».

Хочу только линейный моновход!
Ставь линейный вход на пин для микрофона, и настройку «MONO_STEREO» меняй на «1».

Хочу три микрофона, один линейный моновход и два дополнительных стереовхода, но я уже всё припаял на первые попавшиеся пины!
Переписывай прошивку. Очень многое прокомментировано. Переназначить пины – элементарно если потратить 10 минут и разобраться.

Как мне откалибровать шум?
1. Включить нужный вход (MIC или LINE) - нажимать "0" в режиме настроек "ОК". Микрофон и линейный калибруются независимо друг от друга!
2. Включить нужный эффект 4-7 (частоты) или 8-9 (уровни). Эти две группы калибруются независимо друг от друга!
3. Нажать 4 раза "ОК"
4. НО!!! Если имеется переменный резистор (крутилка), то повторяйте пункт "3" в разных положениях резистора. По центру, в крайнем правом, в крайнем левом и т.д. Ищите оптимальное положение! Затем уже ПОСЛЕ калибровки ОПЯТЬ можно немного покрутить. Экспериментируйте.


У меня не очень хорошо работает реакция на звук и особенно на частоты.
У меня тоже, а особенно реакция на частоты. Но если все собрать даже на макетке, поставить прошивку, сбросить настройки и откалибровать шум – то худо-бедно работать должно, а дальше уже играться с настройками чувствительности и крутить резистор подгоняя под свою систему. На форуме есть разные решения. А я потихоньку буду ковырять код и сообщать об успехах.
Вот одно из решений.
Итак, первая партия тестовых скетчей. 3 штуки.
Первый - обычный "Blink", для проверки самой платы. Просто мигает встроенным светодиодом раз в секунду. Если у Вас даже это не работает, то стоит призадуматься.
Второй - проверка ленты и питания. Указываем количество светодиодов и лимит по току (если надо). Запускается простенькая анимация Радуги. Через пять секунд включается стробоскоп с довольно "агрессивными" настройками и через 5 секунд опять Радуга. Так до бесконечности.
Если первые 5 секунд всё работает нормально, а потом плата зависает на стробоскопе - я Вас поздравляю, что-то с питанием. На "вспышке" оно сильно проседает и плата зависает. Меняйте блок питания, меняйте провода на более толстые, ставьте конденсаторы, уменьшайте лимит по току в настройках и т.д.
Третий - проверка пульта. Накатываем скетч, открываем монитор порта (выставляем 9600). Жмакаем кнопочки. Названия кнопочек ("Звездочка", "Решетка" и т.д.) выводятся в порт. Помимо этого выводится еще код кнопки. Если кнопка не распознана, то выведет код кнопки и напишет "Нипанятна!". Если ничего этого не происходит - делаем очевидный вывод.

П.С. при тестировании Третьего скетча выяснилась интересная особенность и причина одного "бага". Пульт WAVGAT - редкостное говно.
При нажатии на одну и ту же кнопку может выдать сразу два-три кода (основной и паразитные). С первого раза может вообще не распознаться код. Если зажать кнопку и не отпускать - не распознается. В общем в том числе и поэтому ЦМ с первого нажатия далеко не всегда срабатывает.
П.П.С первый попавшийся пульт от телека отрабатывает как положено и таких глюков не имеет. Стабильно выдает один и тот же код на одну кнопку.

Скетч для проверки/настройки звука будет позже, там сложнее.
  • Дальнейшая оптимизация - теперь поддержка до 300 диодов. Благодарность за тестирование и наводку Aleksandr1612
  • Добавлена возможность изменять ориентацию режимов "Шкала громкости" и "Огонь" - от центра/к центру.
  • Эффекты на "Пёрлине" (Плавный огонь, Облака, Плазма и тд.) теперь реагируют на звук. Каждый немного по своему. Если 3 секунды звука нет, то они возвращаются к своему обычному состоянию.
  • Теперь прошивка совместима со схемой от tehnotraher и OlegAnadyr, в прошивку добавлена соответствующая настройка (протестировать возможности нет, буду рад отзывам)
  • Добавлена настройка отключения индикации на ленте и на диодах
  • Добавлена настройка отключения LINE
  • Добавил несколько цветовых эффектов - ничего особо примечательного, просто для массовки
  • Настройка яркости теперь реализована "правильно" и распространяется на все эффекты
  • Оптимизация - переназначил половину переменных, констант и дефайнов. Оптимизировал функции, дописал новые и тд.
  • Еще глубже оптимизирована структура кода (занятной памяти и строк в коде становится меньше, а функционал растёт), исправлены ошибки/баги. Добавлены комментарии.
  • Исправлено отключение MIC и LINE если используется что-то одно (настройка в прошивке - "MONO_STEREO").
  • Исправлена работа пульта (индикация и сохранение настроек теперь работает правильно).
  • Добавлена возможность переключения MIC/LINE с пульта для схемы без тумблера (в режиме настроек "ОК" нажать кнопку "0").
  • Добавлена возможность выбора цвета стробоскопа (повторное нажатие "3" меняет режимы белый/цветной, */# - выбор цвета).
  • Цветомузыка 3/5 полос теперь на одной кнопке - "6" (повторное нажатие "6" - выбор 3/5 полос, */# - перебор всех возможных комбинаций).
  • Анализатор спектра уехал на кнопку "7", а на "8" теперь с подачи tehnotraher и при его участии новый режим в тестовом варианте. (В зависимости от громкости с разной скоростью вылетают огоньки с краю/центра).
  • Исправлена досадная ошибка с фигурными скобками, о которой много раз отвечал в личке и на форуме.
  • Выпилил выбор схемы. Теперь одна простая универсальная модульная схема (во вложении). Не нужны диоды? Не паяем и отключаем в настройках (INDICATE_ LED 0). То же самое с кнопками (BUTTONS 0), микрофоном и аудиовходом. Микрофон питается напрямую от пина (по потреблению там всё ок), кому надо тот сам разберется куда вставить транзистор или вообще запитать на постоянный +. Не забываем про конденсаторы на питание, чем жирнее – тем лучше. Ну и подсказка: даже если используете один вход можно поставить в настройках два и тогда при переключении просто будет отключаться реакция на звук, мало ли может пригодится кому-то.
  • На кнопке «8» добавлены режимы и настройки. Повторное нажатие «8» - переключает способ «раскрашивания»: радуга/рандом/пара близких цветов. */# - перебор режимов, кнопки «верх/низ» - насыщенность, «лево/право» - цвет пары цветов.
  • Добавлена индикация на ленте режима MIC (первые 4 диода – зеленые), LINE (красные). Для переключения между MIC и LINE – нажать «ОК», а затем «0».
  • Почистил баги, добавил новые. Написал кучу комментариев и тд.
  • Исправил режим 8.2. Ломался если было больше 200 пикселей.
  • Добавил настройку отключения имитации стерео для режима «Уровень громкости». Теперь за это отвечает настройка: «PSEUDO», 1 – включено, 0 – отключено.
  • Добавил функцию отслеживания «тишины» и автоматического включения подсветки спустя n секунд. В настройках: «SILENCE», 1 – включено, 0 – отключено. «SILENCE_TIME» - через какое время включать подсветку.
Работает так:
1. Выбираешь подсветку какая больше нравится (из 1 или 2 режима) настраиваешь по душе.
2. Потом если нужна "цветомузыка", переключаешь на нужный режим пусть будет 9 (Уровни)
3. Если музыка не звучит более 3 секунд (можно настроить), то устройство переходит в режим, который был настроен в пункте 1.
4. Как только появляется звук, то переключается обратно в режим из пункта 2
и так далее до бесконечности.
  • Добавил настройку, отвечающую за «плотность ленты» (количество светодиодов на метр). Настройка: «STRIPE_DENSE», 1 – низкая плотность (30 диодов на метр), 2 – средняя плотность (60-90 диодов), 3 – высокая плотность (144 диода). Пока не очень оптимально, нужна обратная связь, пробуйте разные варианты – говорите, что подкрутить. В предыдущих прошивках настройки режимов соответствуют «низкой плотности».
  • Поправил режим 5 «Бегущие частоты», теперь приоритет на «высокие» (как в оригинале) и не должно заливать всё красным.
  • Опять «покрутил» режим «8», вроде немного получше стало, но еще не идеально.
  • Улучшил баги, добавил ошибки…
  • Выпилил и переписал кучу кода, отвечающего за "Уровни". Поправил баг с оранжевым на концах. За одно добавил туда палитру "Океан".
  • Обновил библиотеку FastLed. Не забудьте скачать новый архив с библиотеками.
  • Настройки подсветки "Тишины" теперь сохраняются 4-кратным нажатием "Ок"
  • Сделал возможным работу на малом количестве диодов (проверял на 10)
  • Добавил падающие точки в "Уровни", спасибо Fantazm. Отключаются через параметр "PEAKS". За одно добавил туда несколько стандартных палитр из библиотеки.
  • Добавил подрежим "Демо" на каждой "цифре". Если его включить, то все эффекты этой кнопки меняются по кругу через каждые 15 секунд (параметр "TOOGGLE_TIME"). Просто #/* листаем до него.
  • Много изменений под капотом, но это всё равно никому не интересно)
  • Изменен алгоритм для обработки уровней. Старый код вырезан вместо него используется код из библиотеки Гайвера.
  • Добавлено новое "полноценное" управление на 2 кнопках. И заменена кнопочная библиотека. Включение: настройка "BUTTONS".
  • Добавлена функция ДопКанал (ДК). Позволяет в дополнение к адреске подцепить обычную RGB ленту любой длинны (или прожектор например).
  • Полностью переписано хранение/сохранение настроек. Теперь для каждого эффекта свои уникальные настройки.
  • Добавлены настройки запуска системы после отключения питания.
  • Все настройки на первой страницы перегруппированы и разбиты на блоки для удобства.
14.03.2022 v3.1:
  • Исправлено огромное количество багов.
  • Добавлено более гармоничное управление пультами с большим количеством кнопок.
  • Переписан "Стробоскоп". Вырезана плавность старта и затухания. Добавлен двухцветный Подрежим.
1. Расширить функционал ДК:
  • оптимизировать режим "Авто" под все эффекты.
  • добавить "реакцию на звук".
  • добавить новых "комбо" режимов с изначально продуманной совместной работой ДК и Адрески.
2. Добавить поддержку 7-сегментного индикатора совместно с SeGAD.
3. Использовать библиотеку MicroLed.
4. Улучшить обработку звука.
Скачать: прошивка, библиотеки, тестовые скетчи.
Шпаргалка для пульта тут, не забудьте поставить лайк энтузиасту.

П.С. большая благодарность всем кто отписывает на форуме, это сильно помогает и вдохновляет.
1616446492224.pngaaf83d60-ac6c-415d-a03e-62069d61db0f.jpg
 

Вложения

Изменено:

Комментарии

Slenk

★★★★★★✩
21 Янв 2020
382
588
34
Краснодар
Всем здрасте) Представляю своё видение данного проекта.

В общем собрал систему на основе прошивки от technotrasher (за что ему респект). Ленту 30 диодов на метр и длинной 102 диода приклеил под подоконником на балконе. Решил добавить «Огонь» на Пёрлине, а дальше всё как в тумане…

ВНИМАНИЕ! Данная прошивка УСЛОВНО совместима с оригиналом от Гайвера. Отличается БОЛЬШИМ количеством дополнительных функций/настроек/эффектов, все подробности под спойлерами.
Прошивка хоть и основана на Гайверовской, но ощутимо отличается как по функционалу, так и по управлению и программной части. Поэтому далее по тексту будет не сравнение с оригиналом, а просто описание основных возможностей. В связи с тем, что проще указать, что в них общего, нежели перечислять отличия.
В прошивке несколько десятков эффектов. Половина из них зависят от звука, а половина выступают в роли обычной Подсветки. В данной реализации они по возможности логично разделены на 9 групп (Режимов). И каждый Режим разделяется на Подрежимы (Эффекты).

Может работать от микрофона или от линейного входа. Либо одновременно с возможностью переключения.

Настройки для каждого Эффекта не зависят друг от друга и сохраняются отдельно.

Настроить можно скорость/яркость/плавность и т.д., в зависимости от Эффекта.

Функция «Демо», при которой Подрежимы в выбранном Режиме будут автоматически сменять друг друга.

Функция «Тишина». В случае, если на определенное время музыка останавливается, то система переключается на Подсветку. При появлении звука вновь возвращается к Режиму цветомузыки.

Возможно управлять с ик пульта или с двух физических кнопок.

Возможно настроить «плотность пикселей», чтобы на ленте 30 диод/метр и 144 диод/метр Эффекты выглядели более-менее одинаково.

Присутствует индикация (нажатие кнопок, дежурный режим и т.д.) либо на распаянных светодиодах, либо на самой ленте.

Можно изменить ориентацию направления Эффектов, где анимация идёт от краёв к центру или от центра к краям. Полезно, если лента разделена на две части (два вертикальных столба) и уже смонтирована.

Функция ДопКанал (ДК). Это возможность в дополнение к «адреске» подключить к системе обычную RGB ленту любой длинны или RGB прожектор’ы (да вообще любые RGB источники света). В зависимости от выбранного режима ДК будет либо жить «своей жизнью» и, например фигачить стробоскоп, либо дополнять основной Эффект.

Возможно выбрать как стартовать после отключения питания. Либо с последнего активного режима, либо всегда с определенного. Во втором случае в зависимости от модели использования можно, например выбрать старт с «режима ожидания», чтобы лента не вспыхивала среди ночи после скачка электричества. Либо наоборот повесить систему на обычный выключатель света (подсветка рабочей зоны на кухне, верхний свет и т.д.), выбрать старт с «Белого» и использовать как обычный источник света, а в режиме «вечеринки» использовать пульт. Либо в случае исключительно «дискотечного» использования всегда с ходу включать «цветомузыку» без лишних движений.

Всё это по возможности максимально «модульное», то есть нужное можно подключить, а ненужное отключить.
Прежде чем задать вопрос в обязательном порядке необходимо ознакомиться с информацией под всеми спойлерами. В том числе там описано как именно нужно задавать вопрос. Не торопитесь писать мне в личку, тут ответят гораздо быстрее.
Активируется настройкой "IR_REMOTE"
Настройка "WAVGAT" - "1"
Использование пульта WAVGAT не рекомендуется. Особенно если планируется пользоваться всем функционалом прошивки. Управление будет сильно перегружено. И сам по себе WAVGAT плохого качества.
1645565730405.png
Настройка "WAVGAT" - "0"
Желательно использовать какой-нибудь пульт от старой техники. Они намного более качественные и на них больше кнопок.
Вот пример как можно настроить управление при наличии большего количества кнопок.
1647204883874.png
Активируется настройкой "BUTTONS"

Имеется Кнопка А и Кнопка В
1. Кнопка А листает режимы с 1 по 9 (и в обратную сторону при двойном клике).
2. Кнопка В листает подрежимы, то есть аналог "*" (и соответственно двойной клик - "#")
3. Длинный клик на А - аналог "0"
4. Длинный клик на В - аналог "Ок"
5. Зажать кнопку А и клацать на В - аналог вверх (двойной клик - вниз)
6. Зажать кнопку В и клацать на А - аналог вправо (двойной клик - влево)
7. Тройной клик на А - аналог повторного нажатия на цифру текущего режима.
8. Тройной клик на В - аналог 4/6-кратного нажатия "Ок"
Функция ДопКанал (ДК). Позволяет в дополнение к адреске подцепить обычную RGB ленту любой длинны (или прожектор например).
А - всё тоже самое, что и на первой кнопке,
В - тоже что и третья кнопка (стробоскоп),
С - "Авто" подстраивается под происходящее на адреске. Если на адреске стробоскоп - то и на ДопКанале стробоскоп, если на адреске зеленый цвет - то и на ДК зеленый цвет, если на адреске плавный огонь - то и ДК переливается в этих же оттенках и тд. Пока "Авто" не оптимизирована под все эффекты.
D - отключен.
Хз кому всё это нужно, но на мой взгляд прикольно. Можно зафигачить по периметру всей комнаты RGB, а допустим над окном адреску. Использовать как обычный свет/подсветку в обычной жизни, а в режиме вечеринки всё это дело будет вызывать эпилепсию. Либо при сборке какой-то переносной конструкции можно будет интересней обыграть проект. Либо использовать ДК вместо "яркость негорящих".

В общем у меня был чисто спортивный интерес к реализации.

Варианты подключения:
На контакты 9-11 через RGB Amplifier китайский или самодельный. Подробно об RGB лентах ТУТ. Поставить в настройках "SUB_CHAN". Так же в настройках можно указать общий катод или анод. При этом индикация на диодах самовыпилится.
Подцепить к последнему пикселу адрески еще один дополнительный адресный чип. И далее уже к нему подпаять RGB Amplifier.

Добыть этот чип можно разными способами:

1 - Купить адресную гирлянду на 50 пикселов ТАКУЮ. Отрезать последний пиксел. Расковырять. Припаять RGB Amplifier вместо/параллельно диоду. Оставшуюся гирлянду использовать по назначению. (я именно так и тестировал).

2 - Купить минимальный отрезок устаревшей WS2811 у которой диоды объединены в группы по три. Отрезать одну такую группу. Припаять RGB Amplifier вместо/параллельно диоду. (планирую испытать, но проблем быть не должно).

3 - Умудриться купить чип отдельно (и тогда поделиться информацией где). Я находил только пачкой в 500 штук.

В настройках "SUB_LEDS" указать количество дополнительных пикселов от 1 до много. Поясняю:

У вас есть 100 пикселов адрески. И вы решили прицепить еще один пиксел с припаянным RGB Amplifier. Значит нужно оставить в основных "NUM_LEDS" 100, а в "SUB_LEDS" указать "1"

У вас есть 100 пикселов адрески. И еще остался обрезок на 20 пикселов и вы решили просто посмотреть как это вообще будет работать и надо ли оно. Цепляете этот обрезок в конец своей ленты. В "NUM_LEDS" оставить 100, а в "SUB_LEDS" указать "20"

Самые умные и ленивые уже поняли, что если впадлу суеиться, но интересно протестировать можно сделать так: В "NUM_LEDS" указать допустим 70, а в "SUB_LEDS" указать "30".
Свой пульт с большим количеством кнопок. Рекомендуется.
Необходимо забиндить дополнительные кнопки пульта на переключение Режимов и Подрежимов ДК.

Пульт WAGWAT. Не рекомендуется.
Два раза нажать "ОК"

Активируется режим настройки ДК. Первые 4 диода горят синим.

Цифры на пульте: 1 - Первый Режим, 2 - Авто, 3 - Стробоскоп, 4 - Выкл.
Кнопки */#: переключают Подрежимы, но не адрески, а ДК.

Нажать "ОК" что бы выйти из режима настроек ДК.

Умные задаются вопросом, а как же теперь с 4-кратным нажатием. Да, теперь при активации ДК оно стало 6-кратным.

У меня не работает. Что делать?
Очень жаль. Не знаю.

Не ну правда?
Правда не знаю.

Ардуина вообще работает? Накатите тестовый скетч «блинк» и проверьте. (в приложении)
Лента вообще работает? Накатите тестовый скетч для ленты и проверьте. (в приложении)
Пульт вообще работает? Накатите тестовый скетч для пульта и проверьте. (в приложении)
Микрофон вообще работает? Накатите любой тестовый скетч для микрофона и проверьте. Тестовые скетчи искать в интернетах, кто первый найдет и оптимизирует (под наши пины) весь комплект - присылайте, прикреплю (часть я уже сделал).

Если что-то из этого не работает по отдельности, то не нужно пытаться запустить всё в сборе и надеяться, что оно само починится. Не починится, разберитесь сначала со своими «железками». Не нужно сразу всё паять, собирайте на макетке иначе вообще никогда не поймете в чем проблема.

Если по отдельности всё работает (на тех же пинах, что и в схеме), значит хоть что-то и с прошивкой должно работать. Напишите конкретно какие режимы не работают или работают неправильно, какая версия прошивки, какая схема (что конкретно и к каким пинам подключено) и при каких настройках.


Хочу как на схеме, микрофон + стереовход!
Делай как на схеме, и настройку «MONO_STEREO» меняй на «0».

Хочу только микрофон!
Ставь только микрофон (как на схеме), и настройку «MONO_STEREO» меняй на «1».

Хочу только линейный стереовход!
Ставь только линейный вход (как на схеме), и настройку «MONO_STEREO» меняй на «2».

Хочу только линейный моновход!
Ставь линейный вход на пин для микрофона, и настройку «MONO_STEREO» меняй на «1».

Хочу три микрофона, один линейный моновход и два дополнительных стереовхода, но я уже всё припаял на первые попавшиеся пины!
Переписывай прошивку. Очень многое прокомментировано. Переназначить пины – элементарно если потратить 10 минут и разобраться.

Как мне откалибровать шум?
1. Включить нужный вход (MIC или LINE) - нажимать "0" в режиме настроек "ОК". Микрофон и линейный калибруются независимо друг от друга!
2. Включить нужный эффект 4-7 (частоты) или 8-9 (уровни). Эти две группы калибруются независимо друг от друга!
3. Нажать 4 раза "ОК"
4. НО!!! Если имеется переменный резистор (крутилка), то повторяйте пункт "3" в разных положениях резистора. По центру, в крайнем правом, в крайнем левом и т.д. Ищите оптимальное положение! Затем уже ПОСЛЕ калибровки ОПЯТЬ можно немного покрутить. Экспериментируйте.


У меня не очень хорошо работает реакция на звук и особенно на частоты.
У меня тоже, а особенно реакция на частоты. Но если все собрать даже на макетке, поставить прошивку, сбросить настройки и откалибровать шум – то худо-бедно работать должно, а дальше уже играться с настройками чувствительности и крутить резистор подгоняя под свою систему. На форуме есть разные решения. А я потихоньку буду ковырять код и сообщать об успехах.
Вот одно из решений.
Итак, первая партия тестовых скетчей. 3 штуки.
Первый - обычный "Blink", для проверки самой платы. Просто мигает встроенным светодиодом раз в секунду. Если у Вас даже это не работает, то стоит призадуматься.
Второй - проверка ленты и питания. Указываем количество светодиодов и лимит по току (если надо). Запускается простенькая анимация Радуги. Через пять секунд включается стробоскоп с довольно "агрессивными" настройками и через 5 секунд опять Радуга. Так до бесконечности.
Если первые 5 секунд всё работает нормально, а потом плата зависает на стробоскопе - я Вас поздравляю, что-то с питанием. На "вспышке" оно сильно проседает и плата зависает. Меняйте блок питания, меняйте провода на более толстые, ставьте конденсаторы, уменьшайте лимит по току в настройках и т.д.
Третий - проверка пульта. Накатываем скетч, открываем монитор порта (выставляем 9600). Жмакаем кнопочки. Названия кнопочек ("Звездочка", "Решетка" и т.д.) выводятся в порт. Помимо этого выводится еще код кнопки. Если кнопка не распознана, то выведет код кнопки и напишет "Нипанятна!". Если ничего этого не происходит - делаем очевидный вывод.

П.С. при тестировании Третьего скетча выяснилась интересная особенность и причина одного "бага". Пульт WAVGAT - редкостное говно.
При нажатии на одну и ту же кнопку может выдать сразу два-три кода (основной и паразитные). С первого раза может вообще не распознаться код. Если зажать кнопку и не отпускать - не распознается. В общем в том числе и поэтому ЦМ с первого нажатия далеко не всегда срабатывает.
П.П.С первый попавшийся пульт от телека отрабатывает как положено и таких глюков не имеет. Стабильно выдает один и тот же код на одну кнопку.

Скетч для проверки/настройки звука будет позже, там сложнее.
  • Дальнейшая оптимизация - теперь поддержка до 300 диодов. Благодарность за тестирование и наводку Aleksandr1612
  • Добавлена возможность изменять ориентацию режимов "Шкала громкости" и "Огонь" - от центра/к центру.
  • Эффекты на "Пёрлине" (Плавный огонь, Облака, Плазма и тд.) теперь реагируют на звук. Каждый немного по своему. Если 3 секунды звука нет, то они возвращаются к своему обычному состоянию.
  • Теперь прошивка совместима со схемой от tehnotraher и OlegAnadyr, в прошивку добавлена соответствующая настройка (протестировать возможности нет, буду рад отзывам)
  • Добавлена настройка отключения индикации на ленте и на диодах
  • Добавлена настройка отключения LINE
  • Добавил несколько цветовых эффектов - ничего особо примечательного, просто для массовки
  • Настройка яркости теперь реализована "правильно" и распространяется на все эффекты
  • Оптимизация - переназначил половину переменных, констант и дефайнов. Оптимизировал функции, дописал новые и тд.
  • Еще глубже оптимизирована структура кода (занятной памяти и строк в коде становится меньше, а функционал растёт), исправлены ошибки/баги. Добавлены комментарии.
  • Исправлено отключение MIC и LINE если используется что-то одно (настройка в прошивке - "MONO_STEREO").
  • Исправлена работа пульта (индикация и сохранение настроек теперь работает правильно).
  • Добавлена возможность переключения MIC/LINE с пульта для схемы без тумблера (в режиме настроек "ОК" нажать кнопку "0").
  • Добавлена возможность выбора цвета стробоскопа (повторное нажатие "3" меняет режимы белый/цветной, */# - выбор цвета).
  • Цветомузыка 3/5 полос теперь на одной кнопке - "6" (повторное нажатие "6" - выбор 3/5 полос, */# - перебор всех возможных комбинаций).
  • Анализатор спектра уехал на кнопку "7", а на "8" теперь с подачи tehnotraher и при его участии новый режим в тестовом варианте. (В зависимости от громкости с разной скоростью вылетают огоньки с краю/центра).
  • Исправлена досадная ошибка с фигурными скобками, о которой много раз отвечал в личке и на форуме.
  • Выпилил выбор схемы. Теперь одна простая универсальная модульная схема (во вложении). Не нужны диоды? Не паяем и отключаем в настройках (INDICATE_ LED 0). То же самое с кнопками (BUTTONS 0), микрофоном и аудиовходом. Микрофон питается напрямую от пина (по потреблению там всё ок), кому надо тот сам разберется куда вставить транзистор или вообще запитать на постоянный +. Не забываем про конденсаторы на питание, чем жирнее – тем лучше. Ну и подсказка: даже если используете один вход можно поставить в настройках два и тогда при переключении просто будет отключаться реакция на звук, мало ли может пригодится кому-то.
  • На кнопке «8» добавлены режимы и настройки. Повторное нажатие «8» - переключает способ «раскрашивания»: радуга/рандом/пара близких цветов. */# - перебор режимов, кнопки «верх/низ» - насыщенность, «лево/право» - цвет пары цветов.
  • Добавлена индикация на ленте режима MIC (первые 4 диода – зеленые), LINE (красные). Для переключения между MIC и LINE – нажать «ОК», а затем «0».
  • Почистил баги, добавил новые. Написал кучу комментариев и тд.
  • Исправил режим 8.2. Ломался если было больше 200 пикселей.
  • Добавил настройку отключения имитации стерео для режима «Уровень громкости». Теперь за это отвечает настройка: «PSEUDO», 1 – включено, 0 – отключено.
  • Добавил функцию отслеживания «тишины» и автоматического включения подсветки спустя n секунд. В настройках: «SILENCE», 1 – включено, 0 – отключено. «SILENCE_TIME» - через какое время включать подсветку.
Работает так:
1. Выбираешь подсветку какая больше нравится (из 1 или 2 режима) настраиваешь по душе.
2. Потом если нужна "цветомузыка", переключаешь на нужный режим пусть будет 9 (Уровни)
3. Если музыка не звучит более 3 секунд (можно настроить), то устройство переходит в режим, который был настроен в пункте 1.
4. Как только появляется звук, то переключается обратно в режим из пункта 2
и так далее до бесконечности.
  • Добавил настройку, отвечающую за «плотность ленты» (количество светодиодов на метр). Настройка: «STRIPE_DENSE», 1 – низкая плотность (30 диодов на метр), 2 – средняя плотность (60-90 диодов), 3 – высокая плотность (144 диода). Пока не очень оптимально, нужна обратная связь, пробуйте разные варианты – говорите, что подкрутить. В предыдущих прошивках настройки режимов соответствуют «низкой плотности».
  • Поправил режим 5 «Бегущие частоты», теперь приоритет на «высокие» (как в оригинале) и не должно заливать всё красным.
  • Опять «покрутил» режим «8», вроде немного получше стало, но еще не идеально.
  • Улучшил баги, добавил ошибки…
  • Выпилил и переписал кучу кода, отвечающего за "Уровни". Поправил баг с оранжевым на концах. За одно добавил туда палитру "Океан".
  • Обновил библиотеку FastLed. Не забудьте скачать новый архив с библиотеками.
  • Настройки подсветки "Тишины" теперь сохраняются 4-кратным нажатием "Ок"
  • Сделал возможным работу на малом количестве диодов (проверял на 10)
  • Добавил падающие точки в "Уровни", спасибо Fantazm. Отключаются через параметр "PEAKS". За одно добавил туда несколько стандартных палитр из библиотеки.
  • Добавил подрежим "Демо" на каждой "цифре". Если его включить, то все эффекты этой кнопки меняются по кругу через каждые 15 секунд (параметр "TOOGGLE_TIME"). Просто #/* листаем до него.
  • Много изменений под капотом, но это всё равно никому не интересно)
  • Изменен алгоритм для обработки уровней. Старый код вырезан вместо него используется код из библиотеки Гайвера.
  • Добавлено новое "полноценное" управление на 2 кнопках. И заменена кнопочная библиотека. Включение: настройка "BUTTONS".
  • Добавлена функция ДопКанал (ДК). Позволяет в дополнение к адреске подцепить обычную RGB ленту любой длинны (или прожектор например).
  • Полностью переписано хранение/сохранение настроек. Теперь для каждого эффекта свои уникальные настройки.
  • Добавлены настройки запуска системы после отключения питания.
  • Все настройки на первой страницы перегруппированы и разбиты на блоки для удобства.
14.03.2022 v3.1:
  • Исправлено огромное количество багов.
  • Добавлено более гармоничное управление пультами с большим количеством кнопок.
  • Переписан "Стробоскоп". Вырезана плавность старта и затухания. Добавлен двухцветный Подрежим.
1. Расширить функционал ДК:
  • оптимизировать режим "Авто" под все эффекты.
  • добавить "реакцию на звук".
  • добавить новых "комбо" режимов с изначально продуманной совместной работой ДК и Адрески.
2. Добавить поддержку 7-сегментного индикатора совместно с SeGAD.
3. Использовать библиотеку MicroLed.
4. Улучшить обработку звука.
Скачать: прошивка, библиотеки, тестовые скетчи.
Шпаргалка для пульта тут, не забудьте поставить лайк энтузиасту.

П.С. большая благодарность всем кто отписывает на форуме, это сильно помогает и вдохновляет.
1616446492224.pngaaf83d60-ac6c-415d-a03e-62069d61db0f.jpg
 

Вложения

Изменено:

BigDog

★★✩✩✩✩✩
30 Июн 2020
116
51
У меня ток ограничен двумя амперами, так и в пластиковом кабель-канале лента не греется :)
 

novvel

★★★✩✩✩✩
29 Сен 2018
568
191
@BigDog, Это понятно, что можно ограничить, но она используется как свет, а в этом режиме нельзя ограничивать, яркость маленькая.....
 

BigDog

★★✩✩✩✩✩
30 Июн 2020
116
51
используется как свет
При увеличении тока яркость увеличивается не линейно. Чисто субъективно, при увеличении тока до четырёх ампер яркость подрастает крайне незначительно, а вот тепловыделение да, растёт ощутимо. Для себя я решил, что из-за такого увеличения яркости огород с охлаждением не оправдывается. Но это всё индивидуально, разумеется.
 

Allkor

★✩✩✩✩✩✩
13 Мар 2020
61
35
Докладую о сегодняшней поезде по магам.
Заглянул в недавно открывшийся маг ПромЭлектроники.
Там есть люминевые кабель-каналы для лент нескольких видов!
Обычный накладной короб 12х16мм с матовым стеклом (который мне не нужен)
2021-06-08_115315.png
Были еще немного по тоньше.
2021-06-08_114308.png2021-06-08_114324.png
Были угловой 14х14мм, который мне очень понравился. Для разделочного стола на кухне самый раз.
2021-06-08_114252.png
А были гибкие. Вот на них наверно и остановлюсь.
2021-06-08_114143.png
Цены начинаются от 319 рублей за 2 метра.
А как вы думаете, какую лучьше выбрать?

У меня ток ограничен двумя амперами, так и в пластиковом кабель-канале лента не греется
Это понятно, что можно ограничить, но она используется как свет, а в этом режиме нельзя ограничивать, яркость маленькая....
При увеличении тока яркость увеличивается не линейно. Чисто субъективно, при увеличении тока до четырёх ампер яркость подрастает крайне незначительно, а вот тепловыделение да, растёт ощутимо. Для себя я решил, что из-за такого увеличения яркости огород с охлаждением не оправдывается. Но это всё индивидуально, разумеется.
Я особо со светодиодами и лентами дела не имел, но имею некоторые мысли по этому поводу.
BigDog и novvel, мне кажется, что каждый из вас по своему прав.
Попробую объяснить как я понимаю это хозяйство.
Допустим лента имеет максимально заявленную паспортную мощность хх Вт и имеет х максимально потребляемый ток ...что не всегда сходиться в реальности....китайцы и тут обманывают, выдавая 0,75 вт за 1 вт...проверено временем на личном опыте...
На эту максимальную мощность рассевания и рассчитаны кабель-каналы. Поэтому они имеют разные размеры и профиль (оребрение, толщина, ширина, высота), рассчитанные каждый под свою рассеиваемую мощность..
Светодиоды имеют некое замедленное время реакции (обычное явление) и что бы развить свою максимальную мощность и потребляемый ток, ей требуется некоторое время t.
По прошествии времени t лента полностью "раскрывается" и полностью выдает "на гора" заявленную мощность и потребляет заявленный ток.
Вот тут полностью прав novvel.
... но мы имеем дела с ЦМУ или Световыми эффектами, где напряжение питания и ток не постоянны, а задержка ленты/СД добавочно вносит свои коррективы в потребляемый ток, тк она не успевает разгореться на полную мощность в такт музыки, те яркость увеличивается не линейно ...тем более стоит программное ограничение тока (в одном из скетчей в настройках так и написано"пожалейте свои светики")... Лента никогда не будет гореть в полный накал даже в режиме "светильниика".
Возможно это имел ввиду BigDog.
С чем согласен с novvel. Если даже, то, что я описал выше, не верно., то светодиодам все равно нужно охлаждение, хоть и минимальное но нужно, особенно если ленты работают в закрытом пространстве, где нет естественной вентиляции.

Немного отступлю от темы. В те далекие времена, когда ЦМУ-бум был в разгаре и был повальный дефицит на 200 вольтовые тиристоры КУ202К,Л,М,Н. я на ЦМУ ставил низковольтовые тиристоры на 25,50,100в. Лампочки в экране были киповские коммутационные или индикаторные пальчиковые на 5Вт. Тиристоры работали нормально, так как тиристор не успевал включаться на все 100%, а только до 50-70% в пике. Хотя сам тиристор тоже сам полностью не открывается, а открывается на 90-97%, зависит от тиристора.
Низковольтовые тиристоры свободно выдерживали такую нагрузку!
Лампочки служили долго, а вот цветной цапон-лак выгорал быстро. Каждый год перед новым годом приходилось их подкрашивать. Поэтому и остановил свой выбор на адресной ленте, больно уж они красиво переливаются. На тиристорах с лампами такого эффекта не достичь.
В одной из своих ЦМУ из-за этого даже сделал разноцветные плафоны покрашенные цапон-лаком из стаканов из тонкого стекла для компотов, прихватизированные с заводской столовой...:p
... как это давно было...

Блин... дернуло же под старость взяться за паяльник...наверно в детстве не наигрался...
Сначало хотел просто собрать какой нить простенький усилитель на работу музычку послушать. Собрал на П214.
Понадобилась колонка...Делать так делать с размахом... да не одну, а пару...
Выбор остановил на "Лабиринте Рогожина". Делал их, шлифовал и полировал около полгода.
Колоночки получились отменный! Звук обалденный!!!... но усилок гамно...
Решил собрать нормальный усилок. Выбор пал на биампинг. Собирал и настраивал около пол года.
Усилок получился на славу!!! С лабиринтами спелись как родные!
На все ушло кучу денег и года 1,5-2 личного времени...
Вроде все, успокоился...но вспомнил, что у меня не полный комплект...нет ЦВЕТОМУЗЫКИ!
Хотел собрать по старинке на аналоге, но увидел тему про адресную ленту... и тут понеслась пипипи по кочкам......
Решил восполнить пробелЪ...

Вот мои малышки Рогожина. Блестят как новенький рояль.
i (7).jpg20200610_110152.jpg
Заготовки в кучу.
IMG_20200812_153016.jpg
Причесал.
IMG_20200903_145452.jpg
Итог двухлетнего труда.
22692053.jpg22056384.jpg
 
Изменено:
  • Лойс +1
Реакции: technotrasher и Divin

Diman

★★✩✩✩✩✩
20 Апр 2019
313
72
На эту максимальную мощность рассевания и рассчитаны кабель-каналы.
Они не рассчитаны на долгую работу, как и все современные светильники и лед-лампы. Чудес не бывает, есть формулы расчета и нет смысла фантазировать о слабом нагреве лент.
 

Allkor

★✩✩✩✩✩✩
13 Мар 2020
61
35
@Diman, Я не утверждаю, а просто высказал свое мнение...а оно может быть ошибочным.
С лентами и Ардуино столкнулся впервые, опыта и знаний близки к 0.
 

Diman

★★✩✩✩✩✩
20 Апр 2019
313
72
@Allkor, Расчёты просты. Из даташита на св.диод берется информация о зависимости ресурса или деградации от температуры. На практике обычно стремятся не превышать 60 градусов, учитывая все возможные факторы.
 

novvel

★★★✩✩✩✩
29 Сен 2018
568
191
При увеличении тока яркость увеличивается не линейно. Чисто субъективно, при увеличении тока до четырёх ампер яркость подрастает крайне незначительно, а вот тепловыделение да, растёт ощутимо. Для себя я решил, что из-за такого увеличения яркости огород с охлаждением не оправдывается. Но это всё индивидуально, разумеется.
Да это понятно, что нелинейно ток/яркость, но у меня удобство крепежа значительно упростилось, по краям просто 2 самореза и лента на профиле хорошо держится и запас по яркости дает))

@Allkor, Не совсем верно, светодиоды не инерционны, они излучают мгновенно, а то что они "разгораются" это эффект из-за люминофорной заливки некоторых видов светодиодов, в адресных кристалл вроде голый, без люминофорной заливки. И все выделяемое тепло исключительно передается на кристалл кремния, от него на подложку, а дальше по чуть чуть на плату ленты и на заливку силиконом, у всего этого не очень большая теплопроводность.


ЗЫ: что то давно обнов не было, я уже забыл когда включал приблуду))
 
Изменено:
  • Лойс +1
Реакции: Allkor

Allkor

★✩✩✩✩✩✩
13 Мар 2020
61
35

Slenk

★★★★★★✩
21 Янв 2020
382
588
34
Краснодар
Всем привет!

Рад, что в ветке есть какая-то активность. НЕ рад, что совсем нет времени сюда заглядывать и отвечать, не говоря уже о программировании..

Всё написанное прочел, много интересного, но возможности ответить всем сейчас нет. Постараюсь это исправить, но уже боюсь обещать.

Теперь по существу:
Удалось выкроить часа 4 и частично реализовать давно придуманную идею. А именно тестовый скетч на "Звук".
Написан на скоряк криво и некрасиво, но вроде функцию выполняет. Надеюсь, что это кому-то поможет настроить свою систему и добавит понимания как оно вообще работает.

Как работает:
Загружаем скетч. Он "подхватывает" ваши текущие настройки шумов для режима "УРОВНИ" и наглядно показывает на ленте.

Сиреневая полоска показывает "сырой" сигнал с порта. То есть то, что видит сама ардуина. От 0 вольт до опорного напряжения. Опорное напряжение задается либо потенциометром, либо используется внутреннее, зависит от настроек. Если опорное напряжение 4 вольта, а на порт подать 2 вольта, полоска будет гореть на половину. Если снизить опорное напряжение до 2 вольт, то полоска загорится полностью. Думаю смысл понятен.

Красная точка показывает ваши настройки "шума". Если 4 раза нажать ОК, то произойдет автоматическая настройка. Звездочка и решетка - ручная настройка. Весь сигнал (сиреневая полоска), который от середины и до точки - отфильтровывается и не учитывается. Который от точки и до края - обрабатывается.

Это наглядно видно на другой стороне ленты (желтая полоска). Там показывается уже "эффект" как он есть после всех фильтров/улучшайзеров/автогромкостей и тд.

Зеленая точка показывает как ведет себя "автогромкость". Чем она ближе к центру - тем чувствительнее эффект к сигналу. Когда громкость и интенсивность сигнала растёт - точка убегает к краю.

Кнопками лево/право настраивается плавность.
Кнопка 0 сохраняет настройки, а так же они сохраняются через 30 секунд после последнего нажатия любой кнопки.
Кнопка 1 - отображает пин микрофона и его настройки
Кнопка 2 - правый линейный
Кнопка 3 - левый линейный

По замыслу этот скетч должен помочь с настройкой, что бы не делать их "в слепую". А мне это должно помочь переписать обработку звука. В порт выводятся текущие значения.

Пока выложу сюда как "бета", потом и в шапку закину.

Надеюсь, что это станет началом нового витка разработки, но загадывать не буду.
 

Вложения

Изменено:

Allkor

★✩✩✩✩✩✩
13 Мар 2020
61
35
Рад, что в ветке есть какая-то активность.
Тоже удивился что ребята мониторют тему за далеко до НГ. Даже забанить успели с первого сообщения. )))
Постараюсь это исправить, но уже боюсь обещать.
А вы не обещайте, просто сделайте сюрприз. )))
Пока выложу сюда как "бета", потом и в шапку закину.
Пока не совсем понял как этим пользоваться. Смогу попробовать только завтра.

Грабли...грабли..грабли..
Продолжу немного про свою трубу. Может мои ошибки помогут, таким чайникам, как я.
СД ленту в длину примотал обычной черной изолентой к ПП трубе.
Лента быстро деградирует.
А как быстро происходит деградация ленты примерно в моточасах?
Теперь я точно ззнаю, как быстро деградирует и выходит из строя лента. )))
Я установил 12х12 ее вполне хватает. И наклеено 2 ленты с двух сторон.
Что то после этого расхотелость клеить две ленты на один профиль 16х12м..)))

Ну ладно, по порядку. Беда и неудача не приходит одна.
Перед работой купил самый мощный профиль, который был в наличии, П-образный 16х12мм, цена 278р.
Иду к машине, рядом гибон стоит. Штраф 1000р за неправельную парковку. 3 метра до пеш. перехода...а больше машин ставить некуда...настроение ниже плинтуса.

На работе ждет молодой парень-клиент на Ниве (отлов.ру). Надо ставит на крышу мощный светодиодный прожектор. Договориль о цене. Начал работу, а тут с багажника поднялся страшный вой и лай. В маленьком багажнике Нивы 8 больших бродячих собак! без воды! в духоте! в темноте! Сколько они там дней, один боженька знает...Одна ухоженная мелкая собачка в ошейнике, а другой типа шарпея...Блин...охота было в морду дать этому садисту...Все это видела моя мелкая пинчер, которая была со мной. У нее был шок...целый день в боксе себе места не могла найти...а ей уже 12 лет...В итоге, работу сделал, но у клиента не хватило денег...настроение ниже плинтуса....
зы Если вы потеряли своего четвероногого друга, ищите его у этих садистов (отлов.ру)

Дождался вечера и взялся зв трубу...
IMG_20210611_175559.jpg
IMG_20210611_180158.jpg
Перед снятием ленты с ПП, еще раз включил и испытал ленту. По середке одна секция горит как-то страно...пальнулась...начал по тихому брать псих...и забыл фоткать...
С остатка катушки вырезал одну секцию и впаял в ленту и добавил еще три секции по 3 св.диода. Получилось при длине профиля1м 47см по длине трубы 39 светиков. В самый раз.
Профиль похоже из силуминия, пилится не как люминий или дюраль, но теплопроводность хорошая, при распиле быстро нагрелась на большом расстоянии от распила.
Ленту в профиле клеил не внутрь короба, а с обратной стороны. Световой поток светодиодов около 120*, бортики профиля немного перекрывали бы световой поток, а со спины в самый раз. Ну и охлаждение, думаю, будет немного лучьше.
Клеевая основа похоже уже подсохло и плохо липла к профилю. Строительным феном прогрел профиль, лента села хорошо. При склеке не сильно вдавливал каждый светодиод и мс к профилю, для более плотной посадки.
Крепил профиль с лентой на родные места при помощи родных крепежей.. Крепежи обратной стороной ввинтил на саморез на 5мм, а потом закрепил на них профиль с обратной стороны. Профиль в трубе не бултыхается.
Осталось с низу насверлить дырочек для естественной вентиляции.
При испытаниях трубы, не заметил изменения яркости.

Было уже очень поздно и голова затуманилась от переживаний...Надо было просто собраться и поехать домой...
Решил по быстрому в скетче поменять количество светодиодов... Заливка кончалась ошибой в прошивке...нервы на пределе...несколько попыток заканчивались неудачей...другие прошивки тоже, хотя блинк шел нормально.....Потом доперло...по ошибке запустил ард.ИДЕ 1.6.8... Запустил ард.ИДЕ 1.8.15...но забыл отключить питание ленты, Ардуино сказало что неверный порт, а потом что не видит ардуинку...В диспечере устройств он есть. При прошивке светодиоды на ардуино перемигиваются...Подумал, слетел бутлоудер. Достал другую ардуинку и хотел обновить загрузчик....процесс заканчивался неудачей. Ардуинка сломался...((( думаю, что помер какой то порт в меге...
Залил скетч во вторую ардуинку. Все завелось с пол тыка.
На этом и закончил...Уехал домой злым и голодным, а дома хорошенько приложился к пузырю...
Завтра буду разбираться с ардуинкой. Проверю сначало 7805.
Интересно, что могло повлечь к выходу ардуинки из строя, что бы второй раз не наступить на эти грабли.
В запасе есть одна мега. Перекинуть ее не проблема. Только вот в нем ли причина...
У кого какие мысли по этому поводу? Что еще можно предпринять перед заменой меги?
Держал ее в прозапас для транзистор-тестера, иногда их выбивает не разряженным конденсатором...
А вторую ардуина держал для ЦАП на свой усилитель, ждал прихода мс TDA7449...а он на подходе уже ... (((
 
Изменено:

Fantazm

★✩✩✩✩✩✩
13 Май 2021
5
17
Оформи код соответствующим тэгом
доброго всем времени суток.
очень понравилась ваша работа. решил добавить немного красоты и удобства в код.
вот так выглядит изменение вкладки animation для режима шкалы громкости :
// 9 Режим: Шкала громкости ======================================================================================================
case 9:
one_color_all(EMPTY_COLOR, 255, EMPTY_BRIGHT);
if (timer_func(30)) hue = hue + RAINBOW_STEP;

int height;
height = max(Llenght, Rlenght);
if (height < 0L) height = 0; // Clip output
else if (height > TOP) height = TOP;
if (height > peak) peak = height; // Keep 'peak' dot at top
// Draw peak dot
if (CMU_CENTER == true) { // Only from center
if (peak > 0 && peak <= SPLIT_NUM_LEDS - 1) {
leds[SPLIT_NUM_LEDS - peak - 1] = ColorFromPalette(RainbowColors_p, (map(peak, 0, SPLIT_NUM_LEDS, 0, 241)));
leds[SPLIT_NUM_LEDS + peak] = ColorFromPalette(RainbowColors_p, (map(peak, 0, SPLIT_NUM_LEDS, 0, 241)));
}
// Every few frames, make the peak pixel drop by 1:
if (++dotCount >= PEAK_FALL) { // Fall rate
if (peak > 0) peak--;
dotCount = 0;
}
}

for (int j = 0; j < 2; j++) {
for (int i = 0; i < (Rlenght * !j + Llenght * j); i++) {
if (CMU_CENTER == true) {
XXX = SPLIT_NUM_LEDS - 1 - i;
if (j) XXX = SPLIT_NUM_LEDS + i;
}
else {
XXX = i;
if (j) XXX = NUM_LEDS - 1 - i;
}

switch (cmu_mode) {
case 0: leds[XXX] = ColorFromPalette(myPal, map(i, 0, SPLIT_NUM_LEDS, 0, 241)); break; // 1 Градиент. Заливка по палитре "от зелёного к красному"
case 1: leds[XXX] = ColorFromPalette(OceanColors_p, (map(i, 0, SPLIT_NUM_LEDS, 0, 241)) / 2 - hue); break; // 2 Океан. Заливка по палитре "Океан"
case 2: leds[XXX] = ColorFromPalette(RainbowColors_p, (map(i, 0, SPLIT_NUM_LEDS, 0, 241)) / 2 - hue); break; // 3 Радуга. Заливка по палитре "Радуга"
case 3: setPixelHeatColor (XXX, map(i, 0, Rlenght * !j + Llenght * j, 195, 1)); break; // 4 Огонь.
}

}
}
break;

во вкладке Settings нужно добавить строки :

#define TOP (NUM_LEDS + 2)
byte
peak = 0, // Used for falling dot
dotCount = 0; // Frame counter for delaying dot-falling speed
#define PEAK_FALL 10 // Rate of peak falling dot


а также изменить эту строку:
вместо #define

boolean CMU_CENTER = true; // false - к центру, true - из центра

и еще во вкладке Remote

case BUTT_9: if (this_mode == 9) CMU_CENTER = !CMU_CENTER; else this_mode = 9;


В итоге вы получите анимацию ниспадающих пиков уровня громкости на всех вариантах из 9-го меню,
кроме того , повторное нажатие на кнопку 9 - переключает режим от центра в края - и наоборот.
при этом анимация пиков уровней работает только в варианте от центра - иначе будет не очень красиво )
 
Изменено:

Allkor

★✩✩✩✩✩✩
13 Мар 2020
61
35
@Fantazm, Не могли бы вы выложить полный скетч, а то мне редактирование тяжело дается.
 

novvel

★★★✩✩✩✩
29 Сен 2018
568
191
@Fantazm, а можно видео работы? А то чет так лень разбирать и шиться))

Короче где то ошибка, опиши код подробнее, что и где менять.
 
Изменено:

technotrasher

★★★★✩✩✩
14 Ноя 2019
501
223
ошибку можно исправить. byte это что? мне идея нравится. если хватит памяти проверю этот код. в принципе тут только одно интересно - работа от краев к центру. выкладывайте весь скетч.
 
Изменено:

Fantazm

★✩✩✩✩✩✩
13 Май 2021
5
17
всем привет!
ошибок быть не должно , но на всякий случай поясню насчет byte
это объявление переменной в несколько строк или по порядку через запятую..... не все это используют - поэтому можно сделать так:
byte peak=0;
byte dotCount=0;

возможно копипаст сделал это не читаемым...
на всякий случай брошу полный скетч, только у меня там 3 режим ( стробоскоп ) на экспериментах за ненадобностью - возможно будет глючить.
не хотел выкладывать что-то сырое... пару интересных идей есть добавить в 3-й режим. Как закончу - выложу сюда еще раз.
и еще - если кто использует на готовом изделии - выложите видео - я далеко от цивилизации )
не забудьте править настройки (вкладка Settings) - в моем скетче бардак полный.
нашел из за чего может быть проблема - недосып )
int XXX = 0; // Переменная для работы шкалы громкости
надо добавить в Settings потому как её объявление убираем из Animation
 

Вложения

Изменено:

novvel

★★★✩✩✩✩
29 Сен 2018
568
191
@Fantazm, короче зашил, вроде все правильно, но при нажатии на 9 уходит в спящий режим моргания светодиода. Режим меняется, но приходится включать кнопкой включения, где то я накосячил походу, хотя вроде все одинаково в вкладке пульта.

Видео работы:

Из минусов есть, что пик уходит за конец ленты, думаю надо подправить, где то "-1" воткнуть в коде)
 
Изменено:

Fantazm

★✩✩✩✩✩✩
13 Май 2021
5
17
Отлично получилось ! спасибо за видео. То, что пик уходит за ленту - это так задумано )
Лично мне не понравился застрявший пик на конце ленты.
но если уж так хочется - меняйте значение
#define TOP (NUM_LEDS + 2)
во вкладке Settings ( +2 и есть выход за пределы)
А вот то что пик не динамично (медленно) снижается - это можно исправить изменив значение :
#define PEAK_FALL 10 // Rate of peak falling dot
во вкладке Settings ...
Еще раз прошу обратить внимание, что именно мой скетч еще не закончен и возможны некоторые провалы в работе 1 и 3 режимов.
В разработке:
1) Полное изменение кода в библиотеку MicroLed от Алекса.
2) Добавление эффектов через режим 3 кнопки (почти готово)
3) Изменение алгоритма контроля громкости на режиме 9 (почти готово)
 

novvel

★★★✩✩✩✩
29 Сен 2018
568
191
@Fantazm, Полный код не юзал твой, сделал изменения только в 9 режиме, остальное меня не интересует. нас счет пика на конце ленты он просто идеологически правильный и мозг не перестраивается, ищет максимум)) тут +- на вкус и цвет, я просто внес вою критику, как любитель бета версий всего доступного))) пики по скорости лично меня пока устраивают, дискотек еще не было))
в принципе готов тестировать все бета версии прошивок при условии совпадения сссхемы сс изначальной в топике, перепаять сслишком ссложно, целую минуту раскручивать и минуту паять :D по этой же причине печатаютсся 2 "сс" подряд :D

ЗЫ: про контроль громкоссти не понял, лучше поясснить алгоритм. Когда пропЪемсся и выйдем сс выходных, то попробую внедрить исправления, если что отпишуссь обязательно)))
 
Изменено:

technotrasher

★★★★✩✩✩
14 Ноя 2019
501
223
Избыточное цитирование
Отлично получилось ! спасибо за видео. То, что пик уходит за ленту - это так задумано )
Лично мне не понравился застрявший пик на конце ленты.
но если уж так хочется - меняйте значение
#define TOP (NUM_LEDS + 2)
Я бы не рекомендовал сильно использовать библиотеки от Алекса. в них могут быть ошибки. и они там зачастую есть. при чем не проявляющие себя достаточно часто.
Разрешите утянуть у Вас код для своей версии ЦМУ на MSGEQ7?
Добавил. отлично все работает! ускорил падение точек максимумов. смотрится отлично.
 
Изменено:
  • Лойс +1
Реакции: Норильский

attach

★✩✩✩✩✩✩
19 Июл 2021
48
47
Это мой первый опыт с Arduino. Спасибо Slenk за тест пульта - пришлось сразу же выбросить пульт от Wavgat. Использую какой-то пульт MIRO от MP-3 магнитолы.
Прошивка - из шапки.

У меня лента 5м на 300 светодиодов (60 с/д на метр). Подключена к б/п 5В/60Вт.
Больше 4,5 А моя лента не потребляет (режим белого свечения без музыки). Может потому, что лента - ECO от BTF Lighting, хотя продавец обещал 18Вт на метр:) Меряю советским амперметром на 7,5 А от автомобильного зарядного устройства (головка с встроенным шунтом).

При прошивке пробовал использовать разное количество светодиодов и устанавливать разную плотность. Работа с плотностью 1 похожа на работу с плотностью 3. С плотностью 2 есть небольшие отличия (при использовании всех 300 с/диодов).
Более уверенно система работает с меньшим количеством светодиодов. Компилятор при количестве 300 с/д всегда предупреждает о недостатке памяти и возможных проблемах в работе, но компилирует без ошибок.

Итак, какие у меня возникли проблемы.

300 с/д. Плотность - 3.
Эффекты на кнопке 2
Эффект 2,9 - пульсирующие цветные полосы.
Иногда не работают последние 12 пикселей,
из них 10 пикселей с конца могут постоянно светиться.
Или все 12 постоянно светят, или только 5-й и 10-й пиксели (с конца), остальные из этой группы не светятся.
При плотности 2 - не работают 4 последних пикселя - просто светятся.

300 с/д. Плотность - 3.
Эффекты на кнопке 8
Эффект цветные полоски.
44 пикселя (с конца) никогда не светятся, следующие 6 (после 44) светятся и отрабатывают эффект, следующий 1 (после 6) никогда не светится, дальше все пиксели нормально работают.
При плотности 2 - 44 пикселя (с конца) никогда не светятся.

Не совсем правильно работает светодиодная индикация режимов.
Если перевести систему с пульта в дежурный режим (нечасто мигает первый пиксель ленты), зеленый с/д гаснет и загорается красный (это правильно). Если на пульте нажать кнопку "0", то красный гаснет, загорается зеленый и активируется последний из выбранных режимов (тоже правильно). Если в дежурном режиме выбрать любой режим с пульта, выбранный режим включается, но красный светодиод продолжает светиться и зеленый не загорается (так должно быть?).
 
Изменено:
  • Лойс +1
Реакции: Slenk

attach

★✩✩✩✩✩✩
19 Июл 2021
48
47
А уменьшить количество светодиодов и повторить?
Выяснил, чтобы для эффекта 2,9 зажигались все пиксели, их количество должно быть кратно 8.
Выше упомянутый эффект на кнопке 8 может зажечь не более 256 пикселей (адресных светодиодов).