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
 

Вложения

Изменено:

DigitaLS

✩✩✩✩✩✩✩
8 Дек 2020
17
3
@Slenk
Я подсмотрел часть кода (поправки для Arduino Mega) у Alex Gayver.
Внёс поправки в строках, как у него в коде, но только в 3-х местах.
И дополнительно внёс изменения на которые указали мне Вы.
Все изменения для Arduino Mega (2560):
(Цифры перед кодом - это номер строки в файле)
[Setup]
было: 61 - else analogReference(INTERNAL);
стало: 61 - else analogReference(INTERNAL1V1);

[01_Settings]
было: 210 - byte Rlenght, Llenght;
стало:210 - int Rlenght, Llenght;

было: 157 - const byte SPLIT_NUM_LEDS = NUM_LEDS / 2; // Колличество пикселов в половине ленты
стало:157 - const int SPLIT_NUM_LEDS = NUM_LEDS / 2; // Колличество пикселов в половине ленты

было: 163 - const byete FIRE_DIFFUS = SPLIT_NUM_LEDS / 3 * 2; // Колличество пикселов накладывающихся друг на друга в рижемах "Огонь к центру", "Лёд и Пламень"
стало:163 - const int FIRE_DIFFUS = SPLIT_NUM_LEDS / 3 * 2; // Колличество пикселов накладывающихся друг на друга в рижемах "Огонь к центру", "Лёд и Пламень"

было: 169 - const byte SPLIT_NUM_LEDS_PLUS = NUM_LEDS_PLUS / 2; // Половина от размера главного массива
стало:169 - const int SPLIT_NUM_LEDS_PLUS = NUM_LEDS_PLUS / 2; // Половина от размера главного массива

было: 170 - const byte STRIPE = NUM_LEDS / 5;
стало:170 - int STRIPE = NUM_LEDS / 5;

было: 203 - byte heat[NUM_LEDS_PLUS + 1]; // Главный массив
стало:203 - int heat[NUM_LEDS_PLUS + 1]; // Главный массив


[04_Animation]
было: 130 - for (byte i = 0; i < SPLIT_NUM_LEDS; i++) {
стало:130 - for (int i = 0; i < SPLIT_NUM_LEDS; i++) {

В процессе компиляции выскочило сообщение о том, что памяти недостаточно, программа может работать нестабильно.
Глобальные переменные используют 6210 байт (75%) динамической памяти, оставляя 1982 байт для локальных переменных. Максимум: 8192 байт.
Недостаточно памяти, программа может работать нестабильно.
Режимы с музыкой проверил, но пока не все, теперь отыгрывать стали на протяжении всей ленты.
Даже красивые цветные переливы (по моему 9 режим) стал во всю ленту (был только на половину)

Дописал 24.03.2021: Попробовал изменить все byte на int, памяти Arduino Mega, хватило. Режимы стали работать стабильнее, и их стало больше.
Есть проблемный режим, где из центра бегут одиночные точки зависимые от звука (к концам ленты) , они добегали до половины ленты, перескакивали участок и добегали на последнем метре ленты до конца. Был режим который не реагировал на звук (просто белый фон).


Спасибо за помощь друзья!
p.s. (на всякий случай прикрепил скетч с изменённым кодом для Arduino Mega (2560) от 24.03.2021)
 

Вложения

Изменено:

Slenk

★★★★★★✩
21 Янв 2020
382
591
34
Краснодар
Да на любую кнопку можете сделать, на ту чтобы было легче написать и чтобы потом с нею было меньше проблем и багов, по поводу каких режимов то можно нппрмер чтобы шли по очереди 4-9 или просто отдельно 2 режим(там их так много подрежимов) ну и чтобы можно было задавать время которое будет они будут идти с пульта или же в самой прошивке, можно рандомно можно и по порядку( без разницы, главное что лагов и багов не было, делайте как проще или лучше) ещё интересно какой саб будете делать, какому оформлению отдадите предпочтение и какие нюансы у вас там с ним будут ))
Ну вот Вы вроде написали длинный ответ. Но не на один из вопросов никакой конкретики))) Просто поставленные мной вопросы, повторили другими словами)))
1. Я спрашиваю рандомно или по порядку - Вы пишите: "ну можно рандомно, а можно по порядку")
2. Я спрашиваю о логике работы, всё вместе или как-то разделять - Вы пишите: "можно по очереди, а можно отдельно 2")
3. Я спрашиваю на какую кнопку (комбинацию) сажать, свободных то не осталось - Вы отвечаете: "На любую кнопку!"))))

Не подумайте, я не со зла и не упрекаю, но это мне никак не поможет))) Что бы это реализовать, мне нужно для начала придумать алгоритм работы (ответы на поставленные вопросы), а "написать" - это уже дело десятое.
Вероятней всего я просто "забиндю" на это несуществующую кнопку (то есть с ВагВатом работать не будет). И эффекты будут переключаться в рамках одной группы режимов (одной цифры пульта), а там хз. Дело в том, что МНЕ эта затея сама по себе не нравится, эффекты слишком разные, что бы их крутить в автоматическом режиме.

"Саб" - это рабочее название нового функционала в этой ЦМ. Никакого отношения к "басовому звену" акустики не имеет)) Просто дополнительный RGB канал для подключения обычной RGB ленты произвольной длинны. Но подключаться будет так же как и адреска, то есть по сути 5-метровая лента программно будет восприниматься как один дополнительный пиксел адрески.
Можно будет одновременно включать например стробоскоп и "уровни". Или просто статичная теплая подсветка (заполняя всю комнату), но при этом в основной части будет режим "Огонь". На сколько это практично и полезно - хороший вопрос. Но мне сам процесс интересен.
 
Изменено:
  • Лойс +1
Реакции: Diman

Slenk

★★★★★★✩
21 Янв 2020
382
591
34
Краснодар
Придется отдельный чип WS2811 с обвязкой ставить? Лучше было бы с Ардуины RGB каналы вывести.
Да, придется, но я это планирую сделать максимально просто и доступно для всех. Ради этого всё и затевается) Выяснить получится таким образом вообще сделать или нет. Но в "уме" я держу и вариант с отдельными RGB каналами. На случай если эта функция вообще окажется жизнеспособной, то добавлю более простой вариант подключения, там вопрос в трех строчках кода и одной настройки.

Смысл в том, что если получится через чип WS2811, то можно будет сам метод применять в других проектах, тех же лестница или управление подсветкой в десятках локаций через один провод.
 

PerHakS

✩✩✩✩✩✩✩
7 Дек 2020
13
3
Избыточное цитирование
Ну вот Вы вроде написали длинный ответ. Но не на один из вопросов никакой конкретики))) Просто поставленные мной вопросы, повторили другими словами)))
1. Я спрашиваю рандомно или по порядку - Вы пишите: "ну можно рандомно, а можно по порядку")
2. Я спрашиваю о логике работы, всё вместе или как-то разделять - Вы пишите: "можно по очереди, а можно отдельно 2")
3. Я спрашиваю на какую кнопку (комбинацию) сажать, свободных то не осталось - Вы отвечаете: "На любую кнопку!"))))

Не подумайте, я не со зла и не упрекаю, но это мне никак не поможет))) Что бы это реализовать, мне нужно для начала придумать алгоритм работы (ответы на поставленные вопросы), а "написать" - это уже дело десятое.
Вероятней всего я просто "забиндю" на это несуществующую кнопку (то есть с ВагВатом работать не будет). И эффекты будут переключаться в рамках одной группы режимов (одной цифры пульта), а там хз. Дело в том, что МНЕ эта затея сама по себе не нравится, эффекты слишком разные, что бы их крутить в автоматическом режиме.

"Саб" - это рабочее название нового функционала в этой ЦМ. Никакого отношения к "басовому звену" акустики не имеет)) Просто дополнительный RGB канал для подключения обычной RGB ленты произвольной длинны. Но подключаться будет так же как и адреска, то есть по сути 5-метровая лента программно будет восприниматься как один дополнительный пиксел адрески.
Можно будет одновременно включать например стробоскоп и "уровни". Или просто статичная теплая подсветка (заполняя всю комнату), но при этом в основной части будет режим "Огонь". На сколько это практично и полезно - хороший вопрос. Но мне сам процесс интересен.
Так я же писал, без разницы как они будут и какие там будут режимы, главное чтобы вам было легко это придумать и реализовать, как легче так и делайте, поэтому никакой конкретики с моей стороны и нету,но а так по хорошему, если можно, чтобы во 2 -ом менялись подрежимы через какое там n-ое время на ваше усмотрение, и привязывать можете на ту кнопку с которой будет меньше проблем, в плане написания кода,желательно конечно на пульт вагватп(просто он у меня), извините, если где-то пишу ахинею, а тут она будет :)
 

novvel

★★★✩✩✩✩
29 Сен 2018
568
192
@PerHakS,так он и просит придумать какую то удобную комбинацию допустим к пульту, одному сложно все придумывать какие кнопки куда например присунуть, пульт то по умолчанию убожеский с малым количеством кнопок, это у кого нормальный пульт могут рандомно выбирать, а приходится под всех подстраиваться из-за универсальности.
 
  • Лойс +1
  • Красота! +2
Реакции: Slenk и Diman

Diman

★★✩✩✩✩✩
20 Апр 2019
312
72
@novvel, Я тоже удивлён что кто-то использует вавгатовские пульты . Если бы нормальные пульты стоили как лента, тогда было бы понятно. Думаю нет смысла тратить время на придумывание комбинаций и написание кода из-за убогого пульта, при цене нормального в диапазоне 200руб..
 

Slenk

★★★★★★✩
21 Янв 2020
382
591
34
Краснодар
Итак. Немного мыслей вслух в мою обитель говнокода. Тут всё будет по поводу "Проект Сабвуфер", поэтому кому не интересно - не читайте))

Сходил я таки на почту и забрал таки детальки.
1616441884196.png
Тут у нас:
1. Адресная гирлянда на 50 диодов (~500 рублей на али).
2. Метровый кусок 5-вольтовой RGB ленты. Хотя заказывал пол метра. Вот свезло так свезло!)))
3. RGB усилитель (~50 рублей на али).

Почему именно гирлянда?
Потому что найти чип WS2811 по адекватной цене я не смог. Они продаются в наборах по 100 шт. и стоят под косарь. В пересчете на 1 чип вроде не дорого, но куда потом девать остальные 90-99 чипов? А тут мы берем гирлянду, отрезаем от неё 1-10 диодов. В итоге у нас остаётся 1-10 диодов для экспериментов и полностью функциональная гирлянда (чуть короче, чем была), её можно потом где-то применить.
В качестве альтернативы можно купить один метр ленты на чипе WS2811, стоит около 100 рублей и в ней 10 чипов (но сам я еще не пробовал).

RGB лента абсолютно любая и на любой вольтаж, я взял такую (5 вольт) для удобства подключения. Но в итоге это сыграло злую шутку, об этом далее.

Ну и собственно RGB усилитель. Чип WS2811 может запитать один диод (или три от 12 вольт). А при помощи усилителя мы можем подключить к одному пикселу адрески неограниченное количество диодов. То есть мы всё так же адресно управляем, но не одним диодом, а отрезком ленты любой длинны. При желании можно и моторами управлять)))

В общем расковырял я один последний пиксел гирлянды. Там всё плотненько залито силиконом, резал его скальпелем. И припаялся параллельно светодиоду.
1616443941022.png
1616443975461.png
Всё прошло удачно, ничего не замкнулось и продолжило штатно работать. Но беда пришла откуда не ждали. Сраный китайский усилитель отказался работать правильно (заявлено было от 5 до 24 воль) и я 2 часа потратил пытаясь это понять...
В общем если подключить к усилителю питание 5 вольт, то он выдаёт на все три канала пять вольт, не зависимо от того, что у него на сигнальном входе. А если подключить 12 вольт, то все ок - при отсутствии сигнала на входе, на выходе тоже по нулям. Вот такая вот незадача, а ленты на 12В под рукой нет...

Зачем же я всё это написал, спросите вы?))
Ну, во-первых, может кто-то подскажет где взять усилители которые точно будут работать от 5 вольт.
Во-вторых, может кто-то заинтересуется идеей и уже сейчас закажет себе компоненты, что бы экспериментировать и тестировать вместе со мной (а не через два месяца после релиза, пока посылка с запчастями придет))
А в-третьих, просто зафиксировать событие, так сказать.
 
  • Лойс +1
Реакции: DigitaLS

Diman

★★✩✩✩✩✩
20 Апр 2019
312
72
@Slenk, Если выходы (RGB) у WS2811 с открытым коллектором или стоком, можно применить такую схему. Но если выходы у чипа НЕ с открытым коллектором или стоком (что маловероятно), тогда выхода RGB чипа соединять с резистором в точке знака +5V (питание 5В с этого резистора убрать).
 

Вложения

Изменено:
  • Лойс +1
Реакции: novvel

novvel

★★★✩✩✩✩
29 Сен 2018
568
192
@Slenk, Я тоже предлагаю просто собрать на полевиках управление и все, это гораздо менее затратно или вообще бесплатно, если валяется видяха/мать от ПК ненужная. А что в самом усилителе, можешь показать плату или лучше схему, может там можно чего подшаманить и она заведется от 5в. И вообще, что это за усилитель такой? Чет не встречался с такими поделками еще. Немного погуглив я так понял, что это тупо 3 ключа в корпусе, нужно глянуть что там внутри))
 
Изменено:

Diman

★★✩✩✩✩✩
20 Апр 2019
312
72
@Slenk, Если чесно, я ничё не понял... Для чего РГБ на 5Вольт? У неё ток в ТРИ РАЗА выше чем у 12-ти вольтовой!!! При тех длинных и тонких проводах (из ранних фото) нужно применять напряжение от 12 до 24 Вольт и возле ленты понижать до заветных 5В. У вавгата есть хороший ДЦ-ДЦ с выходом 5В на 5А за 110 рублей!!! При габаритах чуть меньше спич.коробка, их можно несколько распределить по ленте если надо больше Ампер. Есть ещё mini560 с реальным током до 3А (сверхкомпактен). Даже если тот дешёвый РГБ "усилитель" завелся бы с 5В, то легко мог сгореть от больших токов (там наверно МОСФЕТ-ы на реальный ток 3 - 5А, а при 5В возможно потянут ещё меньше).

А что в самом усилителе, можешь показать плату
Я тоже хочу посмотреть на эти нано-технологии. В комплекте к усилителю не было микроскопа?
 

Slenk

★★★★★★✩
21 Янв 2020
382
591
34
Краснодар
Вот уж не думал, что для кого-то "Америку открою")) LED amplifier - обычная "фурнитура" для RGB лент. Обычно RGB контроллеры не позволяют повесить на себя больше 5-10 метров ленты. Поэтому применяют такие вот усилители.
1616570483847.png
1616570445175.png
Гайвер их не раз упоминал:

1. Я не хочу делать на мосфетах:
а. Это сразу -95 к повторяемости. Задумка и без этого замороченная.
б. Это громоздко и некрасиво, надо что-то мудрить с корпусом. Ведь он будет находится где-то далеко от основного устройства, и их может быть больше одного. А так воткнул и готово.
в. Для чего изобретать велосипед если есть готовое копеечное решение.
2. На 5 вольт исключительно для МОЕГО удобства в процессе отладки. Нагрузка там минимальная (метр ленты, хотел вообще пол метра). Я и так с этим своим "тестовым стендом" ношусь как дурень со ступой не могу себе угла в квартире найти, а тут еще "жонглировать" двумя БП на 5 и на 12 вольт. А так всё к одному БП. В реальном проекте уже естественно логичней использовать 12 вольт, но код и схема от этого не изменится от слова "совсем".

Проблема в том, что я купил усилитель, который оказался на 12 вольт (хотя в описании было от 5), а ленту на 5 вольт. Поэтому "пляски" стопорнулись.
 

novvel

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

Diman

★★✩✩✩✩✩
20 Апр 2019
312
72
Вот уж не думал, что для кого-то "Америку открою"
Но так и не открыл... Интересна плата.
Я не хочу делать на мосфетах: Это сразу -95 к повторяемости.
Тут вопрос не в повторяемости, а в нормальном стенде для тестирования. Какой усил. применять, каждый сам потом выберет.
 
Изменено:

Slenk

★★★★★★✩
21 Янв 2020
382
591
34
Краснодар
@novvel, @Diman, по просьбам трудящихся препарировал один усь.
Screenshot_2021-03-24-20-08-09-156_com.miui.gallery.png
Screenshot_2021-03-24-20-06-58-569_com.miui.gallery.png
Screenshot_2021-03-24-20-06-48-125_com.miui.gallery.png
Screenshot_2021-03-24-20-06-03-073_com.miui.gallery.png
ПыСы
Для всех) Попрошу обратить внимание на качество фото) Не правда ли удобно когда фото более-менее в фокусе, можно прочесть маркировку, 90% не скрыто проводами и прочим мусором, а так же отсутствуют корявые пальцы с грязью под ногтями?)) Думаете у меня супер-мега-профи фотоаппарат с фото-студией в придачу?) ОТНЮДЬ! Пятилетний смарт, как у всех. Просто я потратил чуть более 30 секунд на создание и обрезку фото. И попрошу от вас того же. Как правило это вам самим надо, сами ведь просите помощи.
 

Вложения

  • Лойс +1
Реакции: Diman

Diman

★★✩✩✩✩✩
20 Апр 2019
312
72
@Slenk, Судя по надписи 4,7В, это напряжение на стабилитроне для смещения входов компаратора на ОУ LM324. Для переделки на 5-ти вольтовую логику нужно зашунтировать красный стабилитрон цепочкой их двух последовательных диодов 1N4148, или подобрать (вместо диодов) резистор, чтобы на его выводах было падение 1,2 - 2В. Управляющий пиксель может быть первым или последним в ленте но обязательно со стороны питания ленты, иначе сигнал на его выходе РГБ может иметь недостаточный размах напряжения.

П.С. И я бы не стал нагружать этот усил. током более 1А на канал. Учитывая что напр. с вых. ОУ меньше напр.пит, возможно неполное открывание ключей при 3 - 4В, поэтому адаптировать на 5В можно только вход, оставив питание 12В. Уже не раз указывал, переводите на 12В и забудете о проблемах!
 
Изменено:

novvel

★★★✩✩✩✩
29 Сен 2018
568
192
Если я правильно нагуглил транзистор, то вот его параметры: 1616671887838.png

Должен нормально открываться полностью при 5в питании, т.е. у нас проблема только в ОУ.
 
  • Лойс +1
Реакции: ТехнарьКто

Diman

★★✩✩✩✩✩
20 Апр 2019
312
72
Под нагрузкой надо измерить падение напр. на ключах, станет ясно. Лучше системно решать проблему чем придумывать костыли.
 

Slenk

★★★★★★✩
21 Янв 2020
382
591
34
Краснодар
@Diman, @novvel, вот это вы нафлудили ребятки))
Димон, по твоему это простое решение?))) Да я два дня ухайдохаю, что бы это сделать и не факт, что в итоге получится)) И не на логигу 5-ти вольтовую надо переводить, а на питание 5-вольтовое. У меня даже без подключения "логики" он работает адекватно на 12 вольт и неадекватно на 5 вольт.
На счет управляющего пиксела и недостаточного размаха, я чет не согласен. Во-первых там не "размах", а "шим". А во-вторых в этом и смысл "усилителя", что к нему приходит сигнал с сильным "падением напряжения", а задача "усилителя" его восстановить до нормального.
Короче сейчас распродажа, закажу себе пачку усилителей и кусок 12-вольтовой ленты, ну и других ништяков за одно. А там посмотрим.

На неделю улетаю в командировку. Возможно всё это время буду офлайн. Если буду офлайн и дальше, то мониторьте авиакатастрофы Краснодар-Москва, Москва-Краснодар)))

Немного статистики:
С помощью модераторов поменял опрос. Приятно удивлён, что за пару дней уже 12 человек проголосовало. Спасибо, ребята!
Но еще больше удивлен, что многие используют схему LINE+MIC. Честно говоря я думал таких будут единицы. Уверенности в этом мне добавлял тот факт, что отсутствовали жалобы на переключение между ними с помощью пульта. И я был уверен, что просто этим никто не пользуется, а оно вон оно как)))
По приезду с работой должно чуть попустить, и даже обещают дать отпуск. Поэтому постараюсь хоть что-нибудь проапдейтить и поменять опрос на голосование "за самый востребованный функционал".

Данная тема создана ровно два месяца назад.
За это время прошивка скачана/просмотрена ~200 раз. А три несчастных тестовых скетча ~1800 раз. И вот это для меня настоящая загадка))) Похоже я не тем занимаюсь, надо тестовые скетчи пилить)))
А еще за это время потешились мои "кармодрочерские" амбиции и я заработал "3 звезды", а до четвертой осталось всего 8 плюсцов) За это всем отдельное спасибо)
 

Diman

★★✩✩✩✩✩
20 Апр 2019
312
72
И не на логику 5-ти вольтовую надо переводить, а на питание 5-вольтовое. У меня даже без подключения "логики" он работает адекватно на 12 вольт и неадекватно на 5 вольт.
Я всё правильно написал, так-как 5-ти вольтовая логика означает 5-ти вольтовое питание. Самое простое и надёжное решение я указывал ранее, на транзисторах. А готовый китайский "усилитель" без переделки работать от 5В не будет, т.к. там порог переключения задан 4,7В.
На счет управляющего пиксела и недостаточного размаха, я чет не согласен. Во-первых там не "размах", а "шим".
При чём здесь ШИМ?. Я писал о недостаточном размахе (уровне) на выходах пикселя.
 
Изменено:
  • Лойс +1
Реакции: ТехнарьКто

Slenk

★★★★★★✩
21 Янв 2020
382
591
34
Краснодар
Я всё правильно написал, так-как 5-ти вольтовая логика означает 5-ти вольтовое питание.
Не соглашусь. У всех (куча примеров в сети) прекрасно работает с 12-вольтовым питанием и 5-вольтовой логикой (ардуино). И у Гайвера по моим ссылкам в том числе.
"На транзисторах" - надежное? Да! Простое? Нет!
В целом дискуссию можно прекращать) Вопрос изначально звучал так: "Дайте ссылку на рабочий 5-вольтовый усилитель") А остальное - это уже "флуд")
Я куплю еще пару вариантов усилителей и 12-вольтовую ленту. Если среди усилителей найдется рабочий на 5 вольт, то я об этом напишу, а если нет, то просто буду юзать ленту на 12 вольт. Думаю, что без конкретики (пруфов, а не рассуждений), что либо еще об этом писать бессмысленно.
 

Diman

★★✩✩✩✩✩
20 Апр 2019
312
72
У всех (куча примеров в сети) прекрасно работает с 12-вольтовым питанием и 5-вольтовой логикой (ардуино). И у Гайвера по моим ссылкам в том числе.
Если с Ардуино придёт выше 4,7В то усил. будет работать. А ты сможешь обеспечить с выхода пикселя напряжение выше 4,7В если ты ранее указывал на просадки питания в своей схеме до 3,5В?
Кому нужно будет, соберут на транзисторах, сейчас дефицита в этом нет.

В опросе, вместо "мимо проходил" можно было спросить "MIC,LINE что для вас нужнее".
 
  • Лойс +1
Реакции: ТехнарьКто

Slenk

★★★★★★✩
21 Янв 2020
382
591
34
Краснодар
А ты сможешь обеспечить с выхода пикселя напряжение выше 4,7В если ты ранее указывал на просадки питания в своей схеме до 3,5В?
Смогу конечно, дойду до ближайшего хозмага и куплю метр кабеля 2х4. Или в гараже покопаюсь. Я ж эти 3,5 вольта не обозначал как проблему, а просто констатировал факт. Как этого избежать я знаю, но задачи такой не стоит. Я логику эффектов пока пишу.
Когда я пытался запустить этот "усилитель", я ардуину даже не доставал, как и остальной свой "стенд". Обошелся парой блоков питания и мультиметром, этого было достаточно что бы понять "чего не хватает".
Проблемы своего "стенда" я тоже прекрасно знаю) И знаю как их решить. Мне нужен кусок МДФ в котором будет алюминиевый профиль. В профиль будет вклеена лента. Силовые дорожки ленты будут продублированы кабелем. Ввод так же будет большого сечения. Сигнал будет экранирован. Но есть два момента:
1. Своих деревянщиков которые мне это всё "красиво напилят" я закидал работой так, что им не до "лирики". Просто если уж заморачиваться, то по полной. И делать ИЗДЕЛИЕ.
2. И без этого всего на сегодняшний день "стенд" справляется со своими задачами. Когда (и если) перейду от кода к "физике" - буду париться по этому поводу.

Ну и раз уж зашел разговор об этом... Пару человек на форуме об этом давно знает, расскажу и остальным)) Основная моя работа - это проектирование и продажа корпусной мебели в одном интерьерном салоне с ценником сильно выше среднего (если смотрели фильм про дачу В.В., то вот мы как раз такую мебель продаём). И я уже давно очень хочу объединить данный проект ЦМ и свои связи с не самыми последними мебельщиками и дизайнерами. Сделать какой-нибудь предмет мебели из дорогущих материалов с интеграцией этой ЦМ и с продуманным до мелочей дизайном. Что бы световые эффекты дополняли остальные ТТХ изделия. Но пока всё только в голове.

ПыСы
Разумеется, что если это когда-то дойдет до каких бы то ни было коммерческих рельс, то будет обсуждаться с Алексом.
 
Изменено:
  • Лойс +1
Реакции: Karl, Dinozavr и DigitaLS