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
591
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
 

Вложения

Изменено:

Slenk

★★★★★★✩
21 Янв 2020
382
591
34
Краснодар
@Sanek200, да, правильно. Но это условно, на мой вкус. Никто не запрещает поставить 1, если у Вас 144 диода и наоборот.

@Sanek200, вкладка 04, строка ~20. Цифра 127 говорит о том, что яркость красного в половину. Голубой и зеленый соответственно по нулям.
 

Slenk

★★★★★★✩
21 Янв 2020
382
591
34
Краснодар
Для синего диода правильно будет?
leds[0] = CRGB(0 * strobeUp_flag, 0, 127);
Нет, вот так:
leds[0] = CRGB(0, 0, 127 * strobeUp_flag);

У нас ведь переменая "strobeUp_flag" меняется между 1 и 0 раз в секунду. А дальше математика третьего класса:
127 * 1 = 127
127 * 0 = 0

Я стараюсь программировать "арифметикой", а не "IFами". Не так читабельно, но сильно экономит ресурс. Можно сказать, что более низкоуровневый код. Таким подходом можно порой пол страницы кода в одну строку переписать.
 
  • Лойс +1
Реакции: aleut39 и wadimsuv

wadimsuv

★★★✩✩✩✩
17 Ноя 2020
191
108
@Slenk,
Понятно. Спасибо большое.
Если я все правильно понял, то так правильно?
//leds[0] = CRGB(127 * strobeUp_flag, 0, 0); // Цвет диода красный
//leds[0] = CRGB(0, 127 * strobeUp_flag, 0); // Цвет диода зеленый
//leds[0] = CRGB(0, 0, 127 * strobeUp_flag); // Цвет диода синий
Нужное раскоментировать.
 
Изменено:

VasyaPitersky

✩✩✩✩✩✩✩
17 Фев 2021
2
0
Доброго всем дня. Вопрос такой. Компилировал недавно скетч и вроде все было без ошибок, а теперь сыпятся такого типа:
In file included from G:\ColorMusic_Fire_Edition_v2.7\01_Settings.ino:303:0:
sketch\05_Effects_2.h: In function 'void effect()':
sketch\05_Effects_2.h:47:83: warning: large integer implicitly truncated to unsigned type [-Woverflow]
case 12: Perlin(245, 255, 70, 255, 0, vally_arr[1], NUM_LEDS, 8 + vally_arr[0]); break; //13 огонь на шуме Перлина
^
sketch\05_Effects_2.h: In function 'void Fire(byte, byte, byte)':
sketch\05_Effects_2.h:161:54: warning: default argument given for parameter 3 of 'void Fire(byte, byte, byte)' [-fpermissive]
void Fire(byte Cooling, byte Sparking, byte HUE_K = 0) {
^
G:\ColorMusic_Fire_Edition_v2.7\01_Settings.ino:290:6: note: previous specification in 'void Fire(byte, byte, byte)' here
void Fire(byte Cooling, byte Sparking, byte HUE_K = 0); // Огонь к центру
^~~~
In file included from G:\ColorMusic_Fire_Edition_v2.7\01_Settings.ino:303:0:
sketch\05_Effects_2.h:206:65: warning: default argument given for parameter 3 of 'void setPixelHeatColor(int, byte, byte)' [-fpermissive]
void setPixelHeatColor (int Pixel, byte heatramp, byte HUE_K = 0) {
^
G:\ColorMusic_Fire_Edition_v2.7\01_Settings.ino:291:6: note: previous specification in 'void setPixelHeatColor(int, byte, byte)' here
void setPixelHeatColor (int Pixel, byte heatramp, byte color_a = 0); // Функция для огня к центру

IDE переустанавливал на разные версии, ничего не помогает
 

Slenk

★★★★★★✩
21 Янв 2020
382
591
34
Краснодар
@VasyaPitersky, а в самой прошивке что-то менялось? Если скачать прошивку снова и скомпилировать как есть, тоже самое выскакивает?
 

VasyaPitersky

✩✩✩✩✩✩✩
17 Фев 2021
2
0
новую скачивал, ничего не менял. Сносил начисто с чисткой хвостов ИДЕ. Ничего не помогает. Причем помню, что неделю назад скомпилировал ее без ошибок, просто не стал заливать в ардуинку.
Скачал прошивку technotrasher "colorMusic_v6_Effect_Mic_and_Line"
из соседней ветки, по идее тоже должна быть без ошибок. при компиляции тоже получаю
G:\colorMusic_v6_Effect_Mic_and_Line\colorMusic_v6_Effect_Mic_and_Line.ino:329:40: warning: default argument given for parameter 1 of 'bool timer_func(int)' [-fpermissive]
bool timer_func (int val = effect_delay) { // Таймер общий
т.е. явно компилятору что-то не нравится у меня...

Фух, разобрался. Почемуто не была подключена библиотека EEPROMex, хотя я 100% все их копировал в папку Libraries. Скачал и установил в менеджере, и стало компилироваться без ошибок. Спасибо всем!!!
 
Изменено:

AndryLight

✩✩✩✩✩✩✩
1 Мар 2021
2
0
Сильно заливает красным. частотный коэфециент не помог. заметил что если добавить саб - становится чисто один красный цвет и прям четенько под бочку (как и нужно!!!) , НО (нету средних и высоких частот вообше) . громкость убавляешь - появляются средние и высокие. бас горит почти постоянно. вот бы сделать так чтоб низа остались как после автонастройки громкости (или чтобы вообще эта автогромкость не трогала низа)
2 дня парюсь уже( явно программное что-то. наушники цеплял к этому мику - шикарный звук. не забивает.
AREF не использую. еду на 1.2в
шумы бесполезно крутить, сдвигать частоты пробовал

При всем при этом анализатор громкости работает шикарно. что при 5% громкости моей 3кВатт аккустике что при всей мощности. дом разбирает на части, микрофону пофиг. не забивает

конденсаторы как по схеме. +добавил резистор 43кОм. электролит 10 мкф, частотник 103

Как вариант решения: Использовать настройку автогромкости для каждого цвета отдельно.. реализуемо?

очень многие жалуются читаю на эти басы, но решения так и не нашел. прошу совета и помощи
 

novvel

★★★✩✩✩✩
29 Сен 2018
568
192
@AndryLight, помогла последняя прошивка от сленка, там приоритет обратно вернул на высокие, средние низкие. У меня в принципе сейчас нормально пашет
 

SergFry

✩✩✩✩✩✩✩
7 Фев 2021
1
0
Здравствуйте. Собираю схему с физическими кнопками и светодиодами. Завалялся у меня красно-зелёный светодиод с общим анодом, хочу его заюзать на on-off. Был бы общий катод, проблем бы не было. Так вот, хочу уточнить, для моего случая мне нужно везде, где вижу в коде LED_OFF и LED_ON, заменить HIGH на LOW и наоборот? Или не всё так просто?
 

novvel

★★★✩✩✩✩
29 Сен 2018
568
192
@SergFry, ну по идее должно быть так, если я правильно понял твою задачу. Ну и общий надо будет сменить у светодиода на другой полюс естественно
 
  • Лойс +1
Реакции: SergFry

Slenk

★★★★★★✩
21 Янв 2020
382
591
34
Краснодар
@AndryLight, можно и отдельно сделать автогромкость (только не на цвета, а на частоты). Там вообще полет фантазии не ограничен) Этот модуль по хорошему надо переписывать полностью. Там например "шум" калибруется сразу по всем частотам, а по хорошему должно быть для каждой частоты своё значение. В общем написать об этом я много чего могу, но смысла в этом не вижу, всё равно никто не будет ничего переделывать, а самому мне пока некогда кодить.

@SergFry, по идее да, в паре мест поменять и должно заработать. Физические кнопки там практически "для мебели"
 
  • Лойс +1
Реакции: Ansherka

haalisa7

✩✩✩✩✩✩✩
8 Мар 2021
19
2
Подскажите пожалуйста какой пульт лучше использовать
 

novvel

★★★✩✩✩✩
29 Сен 2018
568
192
@haalisa7, Любой, лишь бы не вафгат, говорят китайские не очень хорошо срабатывают. Я от приставки ростелеком юзаю.
 

DigitaLS

✩✩✩✩✩✩✩
8 Дек 2020
17
3
Добрый день!
Хочу поблагодарить участников и создателей прошивок и схемы за проделанную работу,
реально вдохновили и заставили доделать отложенную идею в виду дороговизны оборудования (я начал делать ремонт и остановился на уложенных профилях ещё в 2018 году.)
Проект с Arduino, хоть и не стабильно работающий, но работающий и дающий отличный результат!

Запустил прошивку на Arduino Mega 2560, с количеством светодиодов 987 штук. (примерно 16.5 метров) - 60 светодиодов на метр.
Для компиляции, поменял во вкладке "Setup" строку:
else analogReference(INTERNAL);
на
else analogReference(INTERNAL1V1);

На некоторых режимах выполняется программа только на половине ленты (остальная часть ленты запомнила состояние предыдущего режима программы и не меняется).
Понравился режим мигающих вспышек не зависящих от музыки в прошивке с версией 2.6, но почему то не могу найти этот режим в версии 2.7.
Ещё, я точно не уверен, то что программа отрабатывает правильные переливы и переходы, а так же регулировку скорости смещения цветов, но выглядят переливы плавно, но медленно (может так и задумано?).

Из косяков:
  • Пульт использовал такой же как у Alex Gayver, дальность действия не всегда хорошая. Иногда приходится подносить пульт к ИК приёмнику на расстояние около полуметра. Если нажимать кнопки на пульте на расстоянии 3-х метров, лампочка ИК приёмника мигает на сигнал с пульта ДУ, но режимы не переключает.
  • Датчик ИК приёмника периодически мигает, такое впечатление, что мигание происходит только при смене цвета на ленте, без смены цветов (на статике) мерцаний нет.
  • Видео здесь ->
Есть нюанс: приёмник ИК подключен проводом - Витая пара на три провода из 8,
подключив микрофон на ещё три провода из этого же провода (витой пары), у меня перестали переключаться режимы ИК пультом.
На датчике появилось постоянное мерцание светодиода относящегося к индикации о том что нажимается кнопка.
Отключил датчик микрофона, управление пультом вернулось. Понимаю что создаются помехи но как их избежать не прокладывая ещё один кабель?
Длина провода для ИК приёмника и микрофона порядка 1 метра.
Планирую попробовать проложить экранированный отдельный провод для микрофона и отдельный для ИК датчика.
 
Изменено:

Diman

★★✩✩✩✩✩
20 Апр 2019
312
72
@DigitaLS, Вы лучше нарисуйте или сделайте фото, по описанию много непонятных моментов.
 
  • Лойс +1
Реакции: DigitaLS

Skeptik

✩✩✩✩✩✩✩
14 Янв 2021
14
3
Заметил у себя такую особенность. При увеличения звука ( при увеличения до условного уровня ) в режиме 4-7 светомузыка перестает работать, уходит в фоновый режим и через 3 секунды засвечивает " тишиной". Сейчас топаю клаву и микрофон отлично реагирует на бряканье кнопок. Такое ощущение что микрофон затыкается на большой громкости. На 8-9 все в порядке.
 

Slenk

★★★★★★✩
21 Янв 2020
382
591
34
Краснодар
@DigitaLS, давайте по порядку.

1. На нечетном кол-ве светодиодов сломаться вообще может что угодно. Я даже собирался добавить предупреждение и отмену компиляции в этом случае. Так что поставьте для начала 986 (или 988) диодов в настройках.

2. На счет горения половины ленты.
ТУТ:
// ------------------------------ ДЛЯ РАЗРАБОТЧИКОВ --------------------------------
const byte SPLIT_NUM_LEDS = NUM_LEDS / 2;             // Колличество пикселов в половине ленты
#if (FIRE_CENTER || STRIPE_SPLIT)                     // Если огонь из центра или лента разделена - убрать нахлест
#define FIRE_DIFFUS 0
#define FIRE_VAL1 60
#define FIRE_VAL2 120
#else
const byte FIRE_DIFFUS = SPLIT_NUM_LEDS / 3 * 2;      // Колличество пикселов накладывающихся друг на друга в рижемах "Огонь к центру", "Лёд и Пламень"
#define FIRE_VAL1 40
#define FIRE_VAL2 90
#endif

const int NUM_LEDS_PLUS = NUM_LEDS + FIRE_DIFFUS;     // Расчет размера главного массива
const byte SPLIT_NUM_LEDS_PLUS = NUM_LEDS_PLUS / 2;   // Половина от размера главного массива
это вкладка 01 строка ~156. Поменяйте везде byte на int. И возможно (ВОЗМОЖНО!), всё заработает.

2. На кнопке 2 все режимы, ничего там не удалял. Ну в каком-то билде немного подправил настройки (то ли замедлил, то ли еще чего в паре режимов), но в целом всё осталось на своих местах.

3. По поводу скорости. Там уже скорей всего начинают играть роль чисто аппаратные (а возможно и программные) моменты. Очень много диодов и лента тупо не успевает обновляться (или просчитываться) с нужной скоростью. Есть таблицы/калькуляторы. Посмотрите сколько максимум герц можно выжать из 1000 диодов, но я припоминаю, что сильно меньше 60-ти. До 60 Гц падает уже на 500-х диодах.
Попробуйте скомпилировать на пару сотен диодов и посмотреть как работает. Если лучше (быстрее), то ответ очевиден, если так же, то надо думать.

4. Этот пульт - говно. Об этом уже не раз писалось и даже в шапке написано, попробуйте любой другой от какого-нибудь старого видика.

5. У меня тоже датчик реагирует на саму ленту. Причем мне кажется именно на свет от неё, но в проблему я не углублялся. Попробуйте рукой закрыть приемник от ленты, мигать будет?

6. Отдельные провода должны решить проблему. Пока можно попробовать подключить микрофон и датчик на другие проводки в витухе. А именно:
В витухе есть 4 пары проводов. Попробуйте подключать так, что бы СИГНАЛЬНЫЙ и МИНУС от датчика - одна пара, а ПЛЮС - другая. Короче что бы "земля" была скручена с "сигналом". И аналогично с микрофоном. По идее должно снять часть наводок (или все). Если не поможет попробуйте разные комбинации подключения проводков, тупо перебором (там ведь у каждой пары еще и разный шаг скрутки). Есть большой шанс, что проблема уйдет, ведь витуха как раз и придумана для того, что бы минимизировать "наводки", главное правильно подключить.
А вообще для датчиков провод КВК или миниКВК - идеальный вариант, я об этом уже писал. Надо в шапку добавить...
 
Изменено:
  • Лойс +1
Реакции: DigitaLS

novvel

★★★✩✩✩✩
29 Сен 2018
568
192
@DigitaLS, по поводу мерцания датчика: предлагаю попробовать другой БП, возможно наводки по питанию из-за длинны проводов до датчика.

@Skeptik, на микрофоне уменьши попробуй усиление, у меня стоит на 50дб и на громкости пьяных танцев нормально отрабатывает)) Так сказать тест драйв прошел нормально.
 
  • Лойс +1
Реакции: DigitaLS

DigitaLS

✩✩✩✩✩✩✩
8 Дек 2020
17
3
@Slenk , @novvel , @Diman
Спасибо за рекомендации.
По порядку:
1. Поменял количество диодов в на 986, визуально результата не заметил. (Возможно некоторые режимы стали работать по другому)
2. Проверить работу Режима 4 не получается, после запуска Arduino с изменёнными строчками в "скетче" (с byte на int) выполняется странный алгоритм:
  • сначала вся лента меняет цвета по очереди несколько раз, на пульт ДУ не реагирует
  • затем даёт возможность переключить Пультом ДУ на какой-нибудь режим - один раз
  • и на этом режиме уходит в зависание с отображением цветных светодиодов в начале ленты (как будь-то я вошёл в меню скетча на Arduino).
Выглядит это вот так:
Пример.jpg
(на видео не видно, но на противоположной стене сигнал дублируется).

Выполнение скетча на Режиме 8 похоже задействует всего 25% ленты (четверть):
3. Пока не успел проверить на коротком участке.
4. Пульт купил другой, от телевизора SONY, (брал попробовать удобный пульт от DAEWOO - оказалось у него мусора в сигналах столько же как у Китайского, если не больше сдал и обменял на SONY). По крайней мере я уже попал в другие режимы и переключение стало более комфортное и быстрое.
5. Пробовал закрыть рукой датчик, результат не всегда удавалось достичь - то есть переключить на другой режим. Есть мнение, что похоже проблема не в попадании света, а как говорит @novvel - лента в определённом режиме начинает по другому питаться (потреблять). Хотя у меня запас по питанию должен быть хороший. Другое дело, брат советует засунуть провод экранированный, так как даже в телевизорах эти датчики все в экраны зашивают. (Провод купил, буду пробовать)
Этот режим блокирует управление пультом, на нём видно, что постоянно мерцает светодиод:
6. Заодно и микрофонный провод с экраном сделаю.(позже сообщу о результатах)
 
Изменено:

novvel

★★★✩✩✩✩
29 Сен 2018
568
192
@DigitaLS, помехи ты можешь проверить в теории просто ограничив ток в прошивке. Провод до ленты какого сечения и в скольких местах он продублирован? Ну и до приемника ИК сигнала неплохо было бы сделать экран, либо поставить на питание диод и после него кондер на 470мкф 6,3в например, это сделает стабильным питание ИК приемника.
 
  • Лойс +1
Реакции: DigitaLS

DigitaLS

✩✩✩✩✩✩✩
8 Дек 2020
17
3
@novvel , Провод питания: сечением 2.5 квадрата, всего 7 проводов разной длины. (5 метровые ленты продублированы питанием с обоих концов)

Про микрофон и датчик ДУ: Протянул два независимых провода взамен витой паре), (провод оказался не экранированный), но влияние микрофонного сигнала на приём сигнала с пульта ДУ пропало. Сейчас реакция на сигналы пульта удовлетворительная. Попробовал закрепить приёмник над натяжным потолком, сигнал так же проходит на расстоянии трёх метров. (Возможно проникает отражённый сигнал в отверстие между стеной и натяжным потолком).
Теперь думаю как лучше реализовать управление от звука:
- микрофон, это конечно просто, но он не тот который нужен был по проекту, и сигнал как то не так воспринимает: пока крутишь чувствительность, он нормально отрабатывает, затем убираешь отвёртку от регулятора, режим проработает секунд 10 и перестаёт воспринимать сигнал (как будь-то тухнет связь). (Другой микрофон заказывать, ждать потом тянуть ещё провода) и под разную громкость ненарегулируешся уровень.
Микрофон.png
  • Второй вариант Bluetooth, но как говорит Alex Gayver: bluetooth сигнал идёт с небольшой задержкой, его конечно можно использовать как вариант,
  • Ещё можно проложить аудио кабель метров 10... (фонить наверное будет... )
  • Или найти какое то решение с Wifi приёмником - конвертором ЦАП.
 
Изменено:

novvel

★★★✩✩✩✩
29 Сен 2018
568
192
@DigitaLS, микрофон нужен именно тот который в проекте с АРУ и регулировкой усиления, плюс у него есть сжатие динамического диапазона небольшое. Кабель будет фонить очень неплохо, при чем фонить будет конечная усилитель/акустика.
 

free-spirit-

✩✩✩✩✩✩✩
28 Янв 2021
1
1
@Мах, откалибруй уровень шума, тут разные настройки на первые и на 8-9 вроде.
Такая же проблема...
Настраиваю уровень на 1..2...
8...9 ....молчит..
Настраиваю уровень на 8..9.
1..2... зашкаливает
 
  • Лойс +1
Реакции: Free-spirit

novvel

★★★✩✩✩✩
29 Сен 2018
568
192
Такая же проблема...
Настраиваю уровень на 1..2...
8...9 ....молчит..
Настраиваю уровень на 8..9.
1..2... зашкаливает
там есть еще чувствительность, уровень шума и чуйка разные вещи, попробуй и то и другое настроить.
 
  • Лойс +1
Реакции: Free-spirit и free-spirit-