Контроллер для ws2811 своими руками

Добавил пользователь Дмитрий К.
Обновлено: 05.10.2024

В самом начале знакомства с этой програмой я управлял своей гирляндой онлайн. То есть пока включен комп и работает эта программма работает и гирлянда. Меня это не устраивало.

1. Работа гирлянды без компьютера.

2.Возможность самостоятельно ,,изготавливать,, эффекты, желательно на ,,коленке.

3. Простота и надежность.

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

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

Сразу поясню человеку с ником ru.lurk, Гайвер Бог, я в курсе, но большинство людей не в состоянии по быстренькому накидать код или переписать скетч, чтобы изменить картинку, которую воспроизводит гирлянда этого конкретного человека. Я так же не обладаю знаниями, достаточными для внесения мгновенных правок в эффект, который по тем или иным причинам мне не понравился. Я же предлагаю работоспособный, проверенный в железе вариант, повторить и освоить который сможет подавляющее большинство людей.

И, вам ли, ru.lurk, не знать, что в большинстве проектов Гайвера такая жуткая каша, столько ненужного, что копировать всё это нет никакого смысла.

Безусловно я именно у Гайвера впервые увидел такую гирлянду, но сделал ту, которой и расскажу здесь. И, надеюсь облегчу кому то жизнь.

Повторю. Приоритетом для меня была возможность воспроизведения моей гирляндой файлов созданных в программе jinx. Гайвер не знает о такой программе, наверное.Функционал и возможности которой по удобству использования и оперативного внесения изменений в картинку не идут ни в какое сравнение с кашей Гайвера, разобраться в которой способен далеко не всякий.

Для сектантов Гайвера есть секта Гайвера.

Для простых людей, которым нужна красивая, оригинальная, а не такая же как у всех картинка есть другие более простые варианты. Об одном из них я и говорю.

По просьбам многих людей делюсь опытом создания великолепной гирлянды на адресных диодах.

Сразу хочу подчеркнуть, что я лично ничего не придумал, за исключением способа создания самих эффектов для гирлянды,

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

нужного мне результата.

Но много времени я потратил на сбор и анализ информации из разных источников. Так, что если весь ,,опыт,, будет

находиться в одном месте, вы сможете собрать свой вариант гораздо быстрее.

Но количество эффектов и ограниченный функционал ардуино нано заставили искать более интересный вариант.

я получил там огромное количество подсказок.

Огромное спасибо человеку с ником aidar_i . Он проделал титаническую работу, чтобы нам с вами жилось легче!

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

Автономная гирлянда по мотивам А.Гайвера Гирлянда, Arduino, Видео, Длиннопост

Поясняю - WS2811(на фото внизу) расчитаны на питание 12 вольт,они дешевле чем WS2812 и разрезать их можно лишь на кластеры, минимум по три штуки. На фото хорошо видно, что линии отреза проходят через каждые три светодиода. Они великолепно управляются, но светят не по одному, а минимум по три штуки подряд. Пришлось заказывать WS2812(на фото сверху) их можно нарезать на любые отрезки начиная с 1шт. и напряжение питания для них 5 вольт. Именно из них я и изготовил свою гирляндую Но это не самый правильный и удобный вариант.

Рекомендую использовать вот такие.

Автономная гирлянда по мотивам А.Гайвера Гирлянда, Arduino, Видео, Длиннопост

Ссылка на эти модули для примера. Эти модули монтировать гораздо удобнее и они намного надежнее разрезанной ленты. Лента в процессе монтажа, пайки и дальнейшей эксплуатации весьма подвержена повреждениям. Уж слишком она тонкая и ,,нежная.

Не повторяйте этой ошибки , не ведитесь на меньшую стоимость ленты, покупайте такие модули.

Для удобства монтажа я сделал вот такой шаблон.

Автономная гирлянда по мотивам А.Гайвера Гирлянда, Arduino, Видео, Длиннопост

Вот так, под каждую скобу помещал отрезанные диоды

Автономная гирлянда по мотивам А.Гайвера Гирлянда, Arduino, Видео, Длиннопост

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

Еще один важный момент это сами провода.

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

Автономная гирлянда по мотивам А.Гайвера Гирлянда, Arduino, Видео, Длиннопост

Автономная гирлянда по мотивам А.Гайвера Гирлянда, Arduino, Видео, Длиннопост

Автономная гирлянда по мотивам А.Гайвера Гирлянда, Arduino, Видео, Длиннопост

Надеюсь на фото хорошо видно, что я имею ввиду.

И после того как я спаял несколько полосок будущей гирлянды, обнаружился очень досадный момент.

Автономная гирлянда по мотивам А.Гайвера Гирлянда, Arduino, Видео, Длиннопост

Обведенные красным контакты светодиодов, иногда сопрприкасались с оголенной часью проводов и в результате замыкания, работать матрица переставала. После обнаружения этой проблемы, я стал надевать на оголенную часть провода термоусадку.

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

Автономная гирлянда по мотивам А.Гайвера Гирлянда, Arduino, Видео, Длиннопост

После того, как я спаял отдельные ,,нитки,, я собрал гирлянду в два модуля. Один 9х17 второй 7х17. Такие размеры получились из за размеров половинок окна.

Да, совсем забыл сказать, что расстояние между пикселями я сделал 65 миллиметров. Визуально такое решение полностью себя оправдало. Все эффекты с улицы смотрятся потрясающе.

Итого на выходе я получил вертикальную змейку 16 по горизонтали, 17 по вертикали и с началом в правом нижнем углу.

Вот ссылка на страницу А.Гайвера, где он подробно рассказывает о типах матриц и способах подключения.

Далее используя кабельканал 10мм я собрал готовые нитки в матрицу.

Автономная гирлянда по мотивам А.Гайвера Гирлянда, Arduino, Видео, Длиннопост

Автономная гирлянда по мотивам А.Гайвера Гирлянда, Arduino, Видео, Длиннопост

Автономная гирлянда по мотивам А.Гайвера Гирлянда, Arduino, Видео, Длиннопост

Думаю с этим все понятно.

Питание (от компьютерного блока питания) я пустил только снизу.

Автономная гирлянда по мотивам А.Гайвера Гирлянда, Arduino, Видео, Длиннопост

Фото с сайта Гайвера(Бога). Принцип подключения точно такой же. Только на картинке у Гайвера(Бога) матрица повернута 90 градусов. У меня питание идет снизу.

надеюсь вам понятно. Если нет - спрашивайте.

Я использовал вот такой модульNodeMcu. Вот такой картридер .

Подключал по такой схеме

Автономная гирлянда по мотивам А.Гайвера Гирлянда, Arduino, Видео, Длиннопост

Здесь картридер для микро сд карт, но надписи полностью соответствуют.

я попробовали с тем, и с другим, все работает. Внимательно смотрите на надписи на плате и подключайте согласно схеме!

int count_files = 20; // Количество файлов

FastLED.addLeds (leds, NUM_LEDS).setCorrection( TypicalLEDStrip );

Автономная гирлянда по мотивам А.Гайвера Гирлянда, Arduino, Видео, Длиннопост

И меняем массив на соответствующий вашей матрице

Автономная гирлянда по мотивам А.Гайвера Гирлянда, Arduino, Видео, Длиннопост

Делается это при помощи специальной программы.

Автономная гирлянда по мотивам А.Гайвера Гирлянда, Arduino, Видео, Длиннопост

Автономная гирлянда по мотивам А.Гайвера Гирлянда, Arduino, Видео, Длиннопост

Автономная гирлянда по мотивам А.Гайвера Гирлянда, Arduino, Видео, Длиннопост

Выставьте размер по вертикали и горизонтали соответствующие вашей реальной матрице.

Автономная гирлянда по мотивам А.Гайвера Гирлянда, Arduino, Видео, Длиннопост

Посленажатия кнопки ниже появится кусок скетча, сгенерированного под ваши конкретные параметры.

необходимо выделить из него массив с цифрами, и вставить в наш скетч.

Автономная гирлянда по мотивам А.Гайвера Гирлянда, Arduino, Видео, Длиннопост

Автономная гирлянда по мотивам А.Гайвера Гирлянда, Arduino, Видео, Длиннопост

Скетч готов к прошивке!

Для успешной прошивки я рекомендую удалить на время все библиотеки, которые находятся в соответствующей папке arduino ide. Скопируйте все содержимое папки libraries в другое место, а в освободившиюся папку вставьте содержимое этого архива . Это гарантировано избавит вас от проблем при компиляции.

Автономная гирлянда по мотивам А.Гайвера Гирлянда, Arduino, Видео, Длиннопост

О процессе прошивки я подробно рассказывать не буду, на сайте Бога об этом есть всё!

Отдадим ему должное и порадуем ru.lurk .

Автономная гирлянда по мотивам А.Гайвера Гирлянда, Arduino, Видео, Длиннопост

Со скетчем наверное всё. Если что то непонятно спрашивайте. Не стесняйтесь ходить по ссылкам. Я всю информацию нашел именно там. Завтра запишу видео о процессе создания эффектов и записи их на карту памяти. Там все достаточно просто, но мне по началу очень не хватало такого видео пришлось самостоятельно разбираться, а ваше время я постараюсь сэкономить.

Прикрепленное изображение

Тема создана для обсуждения подсветки Adalight. Здесь вы можете делится своим опытом, выкладывать фото и видео того, что у вас получилось, задавать интересующие вас вопросы по данной теме.

Adalight это аналог подсветки Ambilight от компании Phillips. Представляет собой светодиодную ленту закрепленную по всему периметру монитора с задней стороны, которая подключается к ПК на ОС Windows и управляется через платформу Arduino Nano. При помощи программы AmbiBox анализируется цветовая картинка кадра на экране монитора и воспроизводит рассеянный свет по периметру монитора. Благодаря чему поверхность стены за корпусом монитора динамически освещается, тем самым дополняя ореолом интенсивность изображения на самом экране и как бы визуально увеличивая размер изображения. Есть несколько режимов работы:
- Захват экрана
- Динамический фон
- Статический фон
- Цветомузыка

1. Светодиодная лента WS2812B Aliexpress, Ebay.
Подробно о диодах WS2812B, их аналогах и маркировках.
2. Arduino NANO V3.0 Aliexpress, Ebay.
3. ˇ Источник питания на 5 В, сила тока рассчитывается в зависимости от кол-ва диодов в готовом куске ленты. Ленту можно запитать от порта USB 3.0, от блока питания компьютера (красный и чёрный провод, например с Molex) и пр.
4. Резистор на 200-500 Ом любой мощности Aliexpress.
5. Провод Aliexpress.
6. Кабель MiniUSB для подключения Arduino NANO к ПК Aliexpress.
7. Двусторонний скотч Aliexpress.

1. Обмеряем наш монитор
2. Делим нашу ленту на 4 части так, чтоб снизу и сверху было одинаковое количество светодиодов и соответственно слева и справа.
3. Спаиваем эти 4 отрезка по часовой стрелки начиная с нижнего правого угла монитора.
4. Далее подключаем ленту к Arduino и к питанию согласно схеме подключения.

Прикрепленное изображение

5. Переходим к настройке программной части.
6. Подключаем Arduino к ПК. Драйвера должны установиться автоматически. Открываем диспетчер устройств, должно появится устройство как на картинке ниже. Запоминаем номер COM порта. В моем случае это 4.

Прикрепленное изображение

7. Устанавливаем Arduino IDE.
8. Настраиваем Arduino IDE. Во вкладке инструменты выбираем нашу плату, процессор и номер COM порта.

Прикрепленное изображение

Прикрепленное изображение

10. Далее открываем наш скетч Adalight. В месте выделенном желтым цветом указываем общее количество диодов в нашей подсветке (у меня получилось 50).

Прикрепленное изображение

Прикрепленное изображение

11. Жмем на кнопку . Это скомпилирует и загрузит скетч в нашу Arduino. Во время этой процедуры диод на Ардуине должны интенсивно мигать. После заливки скетча закройте Arduino IDE, отключите ардуино от компьютера, затем вновь подключите Ардуино к USB. После этого Диоды нашей подсветки должны помаргать несколькими цветами.
12. Устанавливаем программу AmbiBox. В конце установки выбираем устройство Adalight. В настройка интеллектуальной подсветки, ставим галочку включить подсветку. Далее жмем на кнопу "больше настроек" выбираем порт и количество зон. Зоны можно настроить кликнув по кнопке "Показать зоны захвата". Все подсветка готова можно пользоваться.

Прикрепленное изображение

Принцип работы адресной светодиодной ленты в том, что она загорается только в случае подачи цифрового сигнала на её сигнальный контакт. Если просто подключить такую ленту к БП - она работать не будет!
1. Prismatik не работает в полноэкранных программах.
Решение
2. Не выключается ПК, без отключения Arduino от USB.
Решение: переключить Arduino в другой разъём USB, например из 2.0 в 3.0.
3. Нет белого цвета, оттенки искажены. Белый свет слишком жёлтый.
Решение: проверить, выдаёт ли блок питания нужную ленте мощность.
4. Работает только часть ленты. Лента (её часть) не выключается, не реагирует на команды. То зависает, то работает нормально.
Решение.
Поиск нерабочих диодов
5. Мерцание ленты.
Решение.
6. Prismatik. Подсветка то гаснет, то зажигается.
На самом деле, она гаснет, если с компьютером не совершать никаких действий. А если, например, пошевелить мышью, или сменить цвет окна - зажигается.
Решение.

  1. Какой комплект лучше, готовый или самодельный?
    Пользуемся поиском по теме а также раз, два.
  2. Сильно ли захват нагружает ПК?
    В зависимости от индивидуальных особенностей ПК, программы и способа захвата. Обычно не более 5-10% ЦП.
  3. Подсветка делается только для мониторов, или можно её сделать для телевизора?
    Можно, если телевизор на ОС Андроид, или через отдельную приставку.
  4. Будет ли работать видео в 4К?
    Ответа пока нет. Если вы знаете его - дайте знать.

andreylusta,
1. Попробуйте выбирать разные способы захвата и максимальный FPS выставить 60. какая видеокарта у вас?
2. Тут у всех все индивидуально на сколько я знаю, поиграйтесь во вкладке дополнительная настройка зон.
3. Не обязательно но желательно, первое время у меня работало без резистора.

Мой пример.
Да можно было бы конечно все сделать покрасивее, но всего это к счастью не видно снаружи и руки пока не доходят переделать.

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

andreylusta,
1. Попробуйте выбирать разные способы захвата и максимальный FPS выставить 60. какая видеокарта у вас?
2. Тут у всех все индивидуально на сколько я знаю, поиграйтесь во вкладке дополнительная настройка зон.
3. Не обязательно но желательно, первое время у меня работало без резистора.

Привет. 1. Видеокарта gtx970 не монстр, но хватать должно, я думаю. Попробовал разные виды захвата, win8 работает пошустрее, но выше 20 фпс нп видел, но это уже не плохо. И все игры (dx12 не проверял) работают.
2. Поигрался ползунаками, большой разницы не заметил, кстати, важный момент, перед настройкой нужно поставить галочку "для всех зон" иначе все настройки будут касаться одного поля/светодиода. Глянуть бы на чей-то хорошо настроенный амбибокс, по мне, синий перенасыщен.
3. У меня работало тоже. А вчера думал кирдык всему пришел, уж подумал из-за резистора: после нескольких дней норм работы вдруг не включилась система. Т.е. лента при запуске проходит свой тест тремя цветами, вся полностью, а в винде (вин 10) - ничего. Пляски с бубном, прозвоны, перепрошивка ардуины, переустановка амбибокса - ноль. Был в шоке от безысходности. На след день снес все и переустановил. Собрал дублирующую схему на 10 диодов, чтоб свои от телека не отдирать каждый раз, и на свежее все снова заработало, и там и там. Я так ничего и не понял, в чем была загвоздка, и это напрягает. Единственный момент - игрался в скетче скростью отклика или лагом, что-то типа того, там цифра по умолчанию 115000 была, я ставил 500000 как гдето читал, но все работало первое время. Хз, вернул 115к обратно

Кстати хочу попробовать присобачить все это дело к телеку напрямую, у меня телек с андроидом, вроде через коди можно сделать. Буду курить интернет. И еще идея сделать примитивный контроль хотябы вкл-выкл общей подсветки без запуска компа

Гирлянды и Новый Год созданы друг для друга. Почему бы не попробовать сделать гирлянду своими руками? Рассказываем, как это сделать.

К Новому Году везде начинают продавать гирлянды, но мы не ищем лёгких путей и предлагаем вам сделать гирлянду самостоятельно. Это просто, интересно и недорого, а заодно позволит вам потренироваться в работе с Arduino. Итак, начнём.

Примечание Для создания подобной гирлянды вам потребуются минимальные знания в Arduino. Однако если вы в себе не уверены — ничего страшного:

Что понадобится

  • Arduino Uno;
  • адресная светодиодная лента на WS2811;
  • источник питания для ленты.

Светодиодная лента

Светодиодная лента — это группа из светодиодов, размещённых на гибком и клейком основании. Лента может быть длиной от 30 см до 5 м.

Существует два типа лент: с синхронизированными светодиодами и адресными. Для гирлянды понадобится второй тип. В этой ленте к каждому светодиоду подключён специальный чип. Эти чипы соединены последовательно. Всего лишь по одному проводу, подключенному к первому чипу, можно управлять цветом отдельно каждого светодиода в ленте.

Традиционная адресная светодиодная лента

Традиционная адресная светодиодная лента

У таких адресных светодиодных лент множество форм-факторов. Есть традиционные формы лент или же матрицы. Есть ленты с отдельными светодиодами, которые лучше всего подойдут на роль гирлянды. Вот некоторые их них:

Для примера будет использоваться последний тип адресной ленты:

Светодиоды наподобие гирлянды

Контроллер

В гирлянде контроллером ленты будет Arduino Uno. Но для этих целей подойдёт всё, что под руку попадётся: различные платы Arduino, МК серии ESP, STM, AVR, PIC, микрокомпьютеры Raspberry Pi. Единственное, о чём ещё следует помнить, это о логическом уровне контроллера. Некоторые из них работают на 3-вольтовой логике, и нужно будет использовать конвертер уровней.

Тока, выдаваемого с Arduino Uno, не хватит на запитывание ленты. Поэтому нужно использовать внешний источник питания на 5В (обратите внимание, некоторые ленты могут запитываться от 12В). Потребляемый ток напрямую зависит от длины ленты, поэтому нужно внимательно подбирать источник питания в зависимости от ваших целей. Минусовые контакты источника питания и контроллера нужно объединить. Плюс от источника питания нужно подключить напрямую к плюсовому контакту ленты. Сигнальный же контакт ленты нужно подключить к любому порту Uno.

Схема подключения ленты к контроллера и источнику питания

Схема подключения ленты к контроллера и источнику питания

Для управления лентой понадобится специальная библиотека. В этой статье детально описывается установка библиотеки Adafruit NeoPixel.

31 января – 2 февраля, Онлайн, Беcплатно

После скачивания zip-файла, нужно установить его в Arduino IDE. Переходите в СкетчПодключить библиотекуДобавить .ZIP библиотеку и выберите нужный файл.

Зажигаем!

Вначале стоит проверить схему на работоспособность. Для этих целей подойдёт следующий код:

Если все компоненты исправны и схема собрана корректно, то вы увидите примерно такую картину:

Пример работы гирлянды


Если же немного изменить код, то можно заставить светодиоды загораться один за другим:

Такая гирлянда подойдёт как для наружного применения, так и для традиционного размещения на ёлке.


DIY

Очередной проект на Arduino от AlexGyver. На этот раз собираем конструктор из Ардуинки и адресной светодиодной ленты для украшения новогодней ёлки.

Если честно, сначала не очень заинтересовался этим проектом — ну диоды, ну мигают… Это же не матрица — интересных эффектов не накодишь. Но случилось страшное — Новый Год на носу, а ёлочная гирлянда не работает. Любимая супруга поручила отремонтировать.

Гирлянда на ёлку на Arduino без пайки

Неисправная гирлянда

И тут я вспомнил, что пару дней назад забрал с почты посылку, в которой , в том числе, были ленты для гирлянды на окно. И ещё вспомнил про актуальный проект Алекса и решил использовать одну из имеющихся лент для его реализации.

Описание

Гирлянда на ёлку представляет из себя ленту из адресных светодиодов, управляет которой Arduino Nano. Ни Wi-Fi, ни Bluetooth не предусмотрен. Есть только кнопка для переключения режимов. Хотя и она, в общем-то, ни к чему. Часто Вы переключаете режимы на ёлочной гирлянде? Вот. Но раз есть в прошивке поддержка кнопки, то пусть и сама кнопка будет. Почему-то и конденсатора нет, только резистор. Это, получается, самый простой проект и знакомство с ардуино-светодиодными самоделками лучше начинать именно с него — и недорого и просто в реализации.

Комплектующие

Наименование и ссылкаК-воЦенаСумма
1Лента (Transparent wire)1800800
2Контроллер Arduino Nano v.3 (Blue-welded-328)1160160
3Блок питания (5В, EU, 3А)1400400
4Разъём питания 5 мм. x 2,1 мм. (мама) 12929
5Резистор 220 Ом111
6 Кнопка (Self-reset Momentary, 16 mm)1110110
ИТОГО1500
Смета

Сборка

Гирлянда на ёлку на Arduino без пайки

Набор комплектующих

Режем провода пополам и зачищаем. Смотрим на схему соединения:

Гирлянда на ёлку на Arduino без пайки

Схема соединения

Далее, с обеих сторон резистора прикручиваем кусочки провода с разъёмами и лучше прижать это дело термоусадкой. Соединение получается не очень прочным, а изолентой хорошо закрепить сложно.

По-хорошему, надо бы, конечно, всё это дело вставить в корпус, на котором и закрепить кнопку. Ну и резистор пропаять. В коммерческом образце так и сделаю.

Прошивка








Все материалы добавляются пользователями. При копировании необходимо указывать ссылку на источник.

Читайте также: