Зарегистрироваться

Ещё одна гирлянда на WS2812

  • Цена: $17.98 (2 x 50шт)

Зимняя погода на этот Новый Год, похоже, не удалась, но настроения хочется. Представлю свой вариант гирлянды с попиксельно адресуемыми светодиодами. Подобные обзоры недавно уже были (раз, два); в этом использованы другие светодиодные модули, а также использован свой скетч для визуальных эффектов.
Под катом описание модулей, чуть измерений и скетч.

Схемотехника гирлянды не отличается оригинальностью – применена самая дешёвая плата 5-вольтовая Arduino Pro Mini, коих несколько штук валялось без дела. Гирлянда подключается напрямую к плате единственным сигнальным проводом. Подключить питание к плате и гирлянде – и «железо» готово. В упомянутых выше обзорах это подробно и качественно описано.
Свою реализацию фоткать не буду – стыдно за колхоз, гордится нечем :)

Выбрал именно такой вариант гирлянды я по единственной причине – ёлка у нас белая. Реализации на WS2811 с RGB-светодиодом, которая однозначно лучше, я не нашёл с белыми или прозрачными проводами (плохо искал?). Чёрные или зелёные слишком виднелись бы на белой ёлке. Но в этом варианте в силу конструктивных особенностей светят только в одну сторону (на 180 градусов), поэтому многие из них при установке подсвечивают внутренности ёлки, а не создают эффект точечного источника. Но если не придираться, то это не такой уж большой недостаток. Ниже покажу, как это выглядит.

Основу гирлянды составляют модули WS2812, представляющие собой чип с интегрированным RGB-светодиодом. Модули запаяны на маленькие круглые платы, с обратной стороны которых предусмотрены контактные площадки для соединения плат в гирлянду. Помимо модуля, на плате запаяны резистор и конденсатор – необходимая обвязка для соединения модулей.
Платы соединены трёхпроводным шлейфом из достаточно толстых (диаметр около 1мм) многожильных проводов в прозрачной изоляции.
Пайка визуально выглядит неплохо. Но в паре мест провода всё-таки отвалились при экспериментах и «монтаже» на ёлку.
Продавец предлагает на выбор соединительные провода длиной 10 или 12 сантиметров. Я купил 10-сантиметровые, хотя потом оказалось, что 12-сантиметровые подошли бы лучше. Длины двух купленных гирлянд чуть-чуть не хватило, чтобы полностью «обмотать» ёлку высотой 180 см.
На концах гирлянд припаяны парные трёхконтактные разъёмы с фиксаторами (не знаю, как их правильно называть), т.е. гирлянды можно просто соединять последовательно. Мало того, что разъёмы чёрные, они припаяны красно-бело-зелёными проводами, которые резко выделяются на белой ёлке. Поэтому точку ввода и место соединения гирлянд пришлось прятать на «теневой» стороне ёлки. Можно было, конечно, избавится от места соединения, подключив две гирлянды напрямую без разъёмов, но я пока решил этого не делать.
Почему-то помимо разъёмов к контактам питания были дополнительно припаяны отрезки провода длиной сантиметров 10. На фото продавца такого нет. Я их сразу отпаял за ненадобностью, к сожалению фото не сделал. Также отпаял разъём с одного их концов одной гирлянды и использовал его для подключения к Arduino. Получилось достаточно удобно – две «половинки» гирлянды и блок управления быстро и просто соединяются.

На фото продавца особенности гирлянд неплохо видны; я приведу несколько своих фоток, так сказать, «в интерьере».
Фото гирлянды на ёлке



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

Разъёмы




Итого — гирлянда выглядит вполне прилично, не выделяется.

Теперь о нескольких допущенных мною проколах. Все они связаны с питанием гирлянды. Гирлянда потребляет достаточно приличный ток: если верить данным продавца, то аж 5.76 ампера на моих две гирлянды, исходя из строки «Расход энергии (Вт/м):2,88 Вт/м». Блок питания на такой ток найти непросто, максимум что у меня оказалось – 2 А. Далее, на больших токах даже на толстых проводах при достаточной их длине падает приличное напряжение. Следовательно, светодиоды в конце гирлянды питаются меньшим напряжением, чем светодиоды в начале. Ну и конечно часть напряжение падает на подводящих проводах и разъёмах от блока питания (я использовал ненужный USB-MiniUSB кабель). Таким образом, напряжение на конце гирлянды может «просесть» ниже минимального рабочего напряжения для модулей (3,5 В по спецификации).

Для измерений «на натуре» я использовал скетч, включающий в цикле все светодиоды на красный, зелёный, синий и белый цвета. Для каждого из включённых цветов измерял напряжения в начале (Uнач) и в конце (Uкон) гирлянды, а также потребляемый ею ток (I). Для полноты картины измерения делал как для полной (100-светодиодной), так и для «половинчатой» (50-светодиодной) гирлянд, и дополнительно мерял напряжение прямо на выходе блока питания (Uбп).
Результаты измерения приведены в таблице.



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

И самое главное – скетч. За его основу я взял скетч github.com/bportaluri/ALA, творчески его так сказать переработав. Основные отличительные особенности скетча такие:
— скетч полностью автономен, режимы переключаются автоматически случайным образом
— в эффектах использованы палитры цветов, т.е. один и тот же эффект может работать с разными цветами. Палитры также переключаются случайным образом
— между режимами реализован плавный переход для исключения «дёргания»
— использовано что-то вроде гамма-коррекции для более равномерного изменения яркости в эффектах

Случайный выбор режимов и палитр, случайные параметры некоторых режимов и случайная скорость дают очень большое разнообразие итоговых эффектов, что и было конечной целью.
Сам скетч можно скачать отсюда.
Скетч я делал в Visual Studio Code с «родным» плагином для Arduino от Microsoft, но он нормально компилируется и в «родной» среде Arduino IDE. Неродных внешних библиотек не требуется — использованную adafruit_neopixel для управления лентой встроил прямо в скетч.
UPD: из-за проблем с запуском убрал поддержку Visual Studio Code и встроенную библиотеку. Теперь скетч нужно запускать в Arduino IDE с установленной внешней библиотекой Adafruit_NeoPixel.
При открытии в Arduino IDE необходимо поместить все скачанные файлы в папку с названием «arws2812» — так же, как и называется стартовый файл скетча (arws2812.ino).

Для тех, кто будет дорабатывать: в файле anim.h задаётся номер «ноги» Arduino, к которой подключена гирлянда, и количество светодиодов. Единственный момент — 100 светодиодов это уже предел для 2 кбайт ОЗУ. Отвечу на вопросы в комментариях :)
Для демонстрации я немного поменял скетч — сделал последовательный перебор режимов и палитр. Вот результат его работы:

С наступающим Новым Годом!
Планирую купить +75 Добавить в избранное +117 +205
+
avatar
  • al15613
  • 29 декабря 2017, 17:21
+13
Спасибо за «красивый» обзор. Почувствовал приближение Нового Года. Обзор ко времени! Всех с наступающим 2018…
+
avatar
  • knst
  • 30 декабря 2017, 12:57
0
ообзор не ко времени.
есть такая пословица — обозревай гирлянды летом, а плавки зимой.
+
avatar
0
ообзор не ко времени
Ко времени, поскольку повторяется за 15 минут.
А до следующего года — уже будет опыт использования, и время на доработку :)
+
avatar
  • Der_Graf
  • 29 декабря 2017, 17:22
+4
Огромный ПЛЮС за прямые руки и фантазию!!!
+
avatar
  • ZondeR
  • 29 декабря 2017, 17:40
+6
Ништяк! Теперь я знаю для чего нужна белая ёлка)
+
avatar
  • randvell
  • 29 декабря 2017, 18:18
+7
Белая елка это прекрасно. Ее преображает даже простая гирлянда за $3-4 из Китая.

Вот теперь подумываю собрать скетч из обзора и опробовать на своей его)
+
avatar
  • Onegin45
  • 30 декабря 2017, 18:28
0
У нас на работе наставили белых елок. Мы их называем седыми :)
+
avatar
  • Worker
  • 29 декабря 2017, 17:56
+2
Обычно на светодиодных лентах большой длинны, питание подводят с двух сторон. И тогда падение напряжения минимальны. За обзор плюс однозначно.
+
avatar
+1
Это так, но на ёлке это не всегда практично — требуется оба конца вывести снизу, что практически не даёт возможности получить эффекты по феншую.

ЗЫ: Вести отдельный двухжильный (и длинный) провод питания к верхушке ёлки — тоже не особо хороший выход.
+
avatar
  • Psh
  • 29 декабря 2017, 21:35
+1
А ничего такого сложного, обвить по стволу, в какой-нибудь бело-прозрачной (в данном случае) оплётке и всё…
+
avatar
0
А кто сказал, что это сложно? Для начала это не нужно (см. мою мессагу ниже). А уж потом — малоэффективно (так или иначе — длинный провод).
+
avatar
  • EEhd
  • 29 декабря 2017, 22:12
+2
Подведите к середине ленты, практичнее выйдет.
+
avatar
0
Для большей равномерности не к середине, а наверно к двум третям от начала ;)
+
avatar
  • nochkin
  • 30 декабря 2017, 07:31
0
Или как вариант — яркость не заводить на максимум. При 50% яркости и потребление будет соответствующим.
+
avatar
+2
Красиво!
За обзор "+"
Если нужны WS2811 с белыми проводами, то вот 100 шт.
Платки, правда, всё равно зелёные(((
Но можно их белой термоусадкой закрыть.
+
avatar
  • Rzzz
  • 29 декабря 2017, 18:20
+1
Конструктив этих платок крайне неудачен. Так и видится, как при растяжении гирлянды отрываются монтажные пятачки на платах.
+
avatar
+1
Согласен. Тогда так. Там место пайки залито. Но зелень платок видна.
+
avatar
  • NSS75
  • 29 декабря 2017, 19:21
0
А встречал кто подобные гирлянды со светодиодами поменьше? На WS2811 для домашней елки выглядят не очень.
+
avatar
  • Rzzz
  • 30 декабря 2017, 01:17
0
удл.
+
avatar
+1
термоклеем заливать сразу. как ни странно — помогает от таких вот неприятностей весьма эффективно
+
avatar
0
Как вариант использовать светодиоды APA106. Правда выйдет дороже чуть.
+
avatar
  • Arm100
  • 29 декабря 2017, 18:58
0
просто красиво. респект вам и с нг
с меня +
+
avatar
  • ABATAPA
  • 29 декабря 2017, 19:13
+12
Мммм… Пожалуй, вставлю это в третий раз…
+
avatar
  • Bob-boB
  • 29 декабря 2017, 20:49
0
как такое чудо сделать?
+
avatar
  • Cucumber
  • 29 декабря 2017, 21:29
0
На ютубе ссылка под видео.
+
avatar
  • Psh
  • 29 декабря 2017, 21:37
0
Это ж всё дело ещё нужно правильно намотать на ёлку
+
avatar
  • motorkk7
  • 29 декабря 2017, 19:25
+6
Всех с наступающим. Такой вариант гирлянды, управление с телефона. Проект McLighting V2. WS2811 100 шт, ESP8266
+
avatar
+2
И часто вы сидите возле елки и переключаете режимы со смарта? :)
+
avatar
  • motorkk7
  • 29 декабря 2017, 20:29
+1
У елки пока сидеть некогда :( Из 55 режимов реально можно использовать не более 10, но каждый требует подстройки скорости переключения, яркости светодиодов. Через телефон очень удобно.
+
avatar
  • ABATAPA
  • 01 января 2018, 16:55
+2
Спасибо! Быстренько сделал на окно в дополнение к ёлке (а на ней скетч как в обзоре).

+
avatar
  • Dimon_
  • 29 декабря 2017, 19:32
+4
Только на 100-светодиодной гирлянде при максимальной нагрузке (белый цвет)
Обновлял свой проект двухгодичной давности только на вот таких светодиодах. Увеличил тоже до 100 штук и в конце гирлянды ощутил уже реальное падение, хотя там проводочки не такие хлипенькие. Последние два десятка диодов начинали «мерцать» на высоких яркостях, этакая глубокая модуляция получалась.
Решил проблему просто. Дальний конец у меня на макушке. От него тоже спустил питающую линию аккуратненько по стволу, там почти и не видно. Так что гирлянда питается сразу с двух концов. Это только аудиофилы не любят «земляных петель», а у меня всё ровненько и стабильно работает.
+
avatar
+1
Не знаю, я к 50-диодной такой же присобачил вторую, стало 100, никаких чисто визуальных проблем с просадкой не наблюл. Вот коротенькое видео: yadi.sk/i/vqYI69S43R6bpx видно, что верхние диоды горят столь же ярко, что и остальные.
+
avatar
  • Amoralus
  • 29 декабря 2017, 19:36
+1
А вот зря отпали провода на стыке двух лент, это как раз для подачи питания и нужно… На каждые 50 диодов идёт где-то до 3 ампер, в зависимости от цвета и яркости… У меня справляются 3, 2ух амперных зарядок на 150…
+
avatar
+1
А у меня так получилось-новогодняя подсветка на бесконечном зеркале, ws2812b и arduino.
+
avatar
  • Sosedus
  • 29 декабря 2017, 20:26
0
Отличный обзор, я как раз думаю собрать погожую гирлянду.
+
avatar
  • Nikolaj
  • 29 декабря 2017, 20:46
0
Не подскажете, как увеличить число светодиодов в вашем скетче? У меня Arduino Nano. Эффекты понравились, только 20 диодов не горят. Заранее благодарен.
+
avatar
  • Igorrrrr
  • 29 декабря 2017, 21:25
+2
в файле anim.h параметр define LEDS — кол-во диодов. но если ставить больше 105 при компиляции уже ругается что возможен недостаток памяти. можно упростить скетч, пожертвовав частью эффектов. но у меня этот скетч пока вообще не работает ))
+
avatar
  • Lvr
  • 29 декабря 2017, 21:38
+1
Там одному эффекту (stars) нужен дополнительный большой массив в ОЗУ. Эффект так себе, можно и пожертвовать им (или адаптировать как-нибудь).
Я просто не думал что у кого-то будет больше 100 диодов
+
avatar
  • Lvr
  • 29 декабря 2017, 21:31
+1
Число светодиодов указывается в файле anim.h,
#define LEDS 100

Вместо 100 нужно вписать требуемое число.
Но боюсь на 120 не хватит памяти, на nano вроде те же 2 килобайта, что и на pro mini
+
avatar
  • Nikolaj
  • 29 декабря 2017, 21:52
0
Спасибо, буду пробовать.
+
avatar
0
Вы бы писали, на чём хватит… ЕСПшку искать или память навешивать?
+
avatar
  • Dimon_
  • 29 декабря 2017, 20:51
+1
Lvr, спасибо за проект. Но код, судя по всему, нерабочий :(

Никакого Visual Studio Code ни с какими плагинами у меня, конечно, нет. Весь код под ардуино я пишу, что логично, в ArduinoIDE.

Скормил ваш исходник.
Всё скомпилировалось и собралось без проблем.
Использовал ProMini, памяти хватает.

Пин 2 — правильный, количество диодов 100, правильно. Т.е. вообще не менял исходник. У меня всё совпадает с вашим железом.

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

Беру классический пример из стандартной библиотеки Adafruit_NeoPixel. Устанавливаю тот же пин и то же количество диодов. Всё работает и мигает, значит, аппаратно нет проблем. Вгружаю свой собственный скетч. Всё работает. Вгружаю ваш — тишина.

Окей. Обойдёмся без костыля ExtNeoPixel. Используем стандартную внешнюю.
1. Убираю в вашем скетче все упоминания о ExtNeoPixel, вытираю ExtNeoPixel.h и ExtNeoPixel.cpp.
2. Прописываю использование вместо неё Adafruit_NeoPixel.h.

Всё компилится и вгружается. Тишина. Вгружаю пример из этой библиотеки ещё раз. Всё мигает.

В anim.cpp проверяю строку с конструктором Adafruit_NeoPixel(LEDS, PIN, NEO_GRB + NEO_KHZ800);
Всё правильно, тип нужный, а LEDS и, PIN у нас определены вверху. С этим типом и этими константами всё работает на стандартном примере.

Вопрос: что делать ©.

Смотрю вывод в терминал.
RAM=259
(start)anim->(run)
pal->(run)1


Т.е. main работает, что-то перебирает. Аппаратного вывода на пин 2 нет или с таймингами что-то не то. Установки в IDE для платы, конечно, не менялись подо все примеры, всё одинаково.
Видимо, идея писать в сторонней студии была не очень хорошей…
+
avatar
0
У Вас направление точно верное? Если «задом наперёд» подключить — как раз и не будет движения.
+
avatar
  • Dimon_
  • 29 декабря 2017, 21:03
0
Верное, конечно. Я ничего не перепаиваю. Свой скетч работает. Стандартный пример от неопиксел работает. Данный скетч — нет. Аппаратно ничего не трогаю, просто вгружаю разные скетчи. Пин один и тот же, PIN 2.
+
avatar
  • Nikolaj
  • 29 декабря 2017, 21:06
0
У меня запустился сразу, только не могу светодиодов добавить.
+
avatar
  • Dimon_
  • 29 декабря 2017, 21:09
0
В какой среде делаете? Какая ардуина?
+
avatar
  • Nikolaj
  • 29 декабря 2017, 21:24
0
Arduino nano. К своему стыду не знаю, что такое среда. На старости лет только начинаю осваивать Ардуино. Тупо пользуюсь ARDUINO 1.6.6. Научился немного скетчи подправлять, но тут не могу найти количество светодиодов.
+
avatar
+2
Arduino IDE 1.6.6 и есть среда.
+
avatar
  • Nikolaj
  • 29 декабря 2017, 21:38
+2
Спасибо, буду знать. На муське больше узнаёшь, чем в Гугле.
+
avatar
0
Если свой работает — тады ой, не знаю, где собака 2018 порылась…
+
avatar
  • Igorrrrr
  • 29 декабря 2017, 21:19
0
Заинтересовался после этого сообщения, проверил (правда были только Nano на 328й меге и кусок ленты на 69 диодов, но разницы-то нет), аналогичная ситуация — стандартные примеры вгружаются и моргают (пробовал выходы D2 и D5), адалайт работает, скетч из обзора грузится без ошибок, но никакой активности нет.
+
avatar
  • Dimon_
  • 29 декабря 2017, 21:33
0
скетч из обзора грузится без ошибок, но никакой активности нет.
Окей. Повторяемый результат — это тоже результат, пусть и отрицательный. Спасибо. Значит, ищем дальше.
+
avatar
  • Lvr
  • 29 декабря 2017, 21:35
+1
Это странно, т.к. для компиляции плагин к visual studio использует Ardiuno IDE, т.е. результат не должен отличаться…
Я использовал ExtNeoPixel из упомянутой в обзоре ALA потому, что с Adafruit_NeoPixel, стянутой из официального репозитория, скетч у меня вообще вис. Тогда не стал разбираться, похоже, зря…
Чуть позже попробую залить из Arduino IDE
+
avatar
  • Lvr
  • 29 декабря 2017, 22:54
+1
Да, действительно при загрузке из Arduino IDE симптомы как у Dimon_ и Igorrrrr. Очередной раз зарекаюсь использовать неродные средства разработки.
Буду разбираться.
+
avatar
0
Да, действительно при загрузке из Arduino IDE симптомы как у
Пришлось расчехлить и свои ардуинки :)
Результат:
1) Pro Micro (328 5v) — поставил управляющим 13-й пин (было удобней). Среда Arduino 1.8.5, выставил 72 диода — залилось отлично стартануло с пол-пинка.
В ленте у меня 144 диода, прошка при увеличении до 144,140,120 компилилась, но ругалась. Вытянул Leonardo (наверное micro, размером с Pro Mini, но на AT32U4)
2)AT32U4 (Leonardo), 144 диода, 2-й пин управляет. Скомпилировалось, запустилось с пол-пинка, на все 144 диода :)
Автору респект — Новогоднее Миганее обеспечено.
Для остальных — напомню некоторые моменты, которые могли повлиять на неуд. результат:
1) Arduino 1.8.5 — лежит на офсайте.
2) Архив распаковываем в одну папку (можно с оригинальным названием, можно ws2812)
Далее — ОБЯЗАТЕЛЬНО переименовываем main.ino в «название_архива».ino (ws2812.ino).
Запускаем. Должны автоматом подтянуться все библиотеки. Добавится кучка закладок.
3) Правим anim.h по вкусу.

Думаю основная проблема именно в main.ino->архив.ino
+
avatar
  • Igorrrrr
  • 30 декабря 2017, 00:11
0
«про» может быть и работает, проблема с нано ))
1) 1.8.2, 1.8.5 — результат один и тот же
2) при чем тут имя файла? проект открывается, все вкладки тоже, если б не — он бы даже не скомпилировался. (хотя для смеха переименовал, закономерно, без результата).
даже у автора симптомы те же появились.
+
avatar
  • fdonskoj
  • 30 декабря 2017, 02:01
0
Сделал как написал уважаемый shaman1010. Всё работает. Ардуино нано, брал в китае уже и не помню когда. Ёлка давно стоит с гирляндами WS2811, запускал при помощи китайских контролёров. Но эта китайщина и в подмётки не годятся проекту автора. Огромное всем спасибо за скетч и за оказанную помощь в запуске его в железе. Красотища ещё какая.
+
avatar
  • Lvr
  • 30 декабря 2017, 00:14
+4
Добился запуска при компиляции из Arduino IDE у себя (правда странным способом). Скетч в github обновил.
Dimon_, Igorrrrr и у кого ещё скетч не работал — при возможности проверьте обновление, интересно же…
shaman1010, спасибо, советы дельные, но не помогли. Кажется мне что тут какая-то глубоко закопанная особенность компилятора…
+
avatar
  • Igorrrrr
  • 30 декабря 2017, 00:38
0
подтверждаю, заработало отлично! супер :) спасибо огромное. интересно всё же узнать «что это было») разные версии каких-то библиотек в средах разработки или что…
+
avatar
  • Lvr
  • 30 декабря 2017, 11:27
+1
Поменял «встроенную» в скетч реализацию Adafruit_NeoPixel (в файлах ExtNeoPixel.*) на нормальную внешнюю. Как говорил, почему-то нормальная сначала не завелась, висла, скорее всего из-за VS Code.
Далее, вытащил из класса переменную pixels, сделал её обычной переменной, и инициализировал в самом скетче, а не в конструкторе класса.
В общем не нужно было чрезмерно усложнять с самого начала :)
Хотя поначалу я хотел сделать всё по канонам ООП — по классу на каждый эффект, наследование и т.п., но очень быстро упёрся в ограничение памяти. Так что вывод — для слабых микроконтроллеров современные навороты программирования вредны :)
+
avatar
  • Halex
  • 30 декабря 2017, 10:22
+1
Вот теперь Вы поправили баги. Во «вчерашнем по пять» была полная анархия. Посмотрите даже вчерашний anim.h — в инклюдах объявлена ExtNeoPixel, а внутри обращение идёт к стандартной Adafruit_NeoPixel. У любого компилятора «крыша съедет». Ну, да ладно, заработало, подтверждаю…
Для любителей «виртуального секса» выкладываю на ЯДе архив Proteus_garland — это работающий проект в симуляторе Proteus 8.6 на полста пикселей: yadi.sk/d/J8gLN6j43Njria
Можно поиграться с отладкой без паяльника и Ардуинки. Ес-но сам Proteus 8.6, Arduino IDE и в ней Adafruit_NeoPixel должны быть установлены на компьютере.
+
avatar
  • Dimon_
  • 30 декабря 2017, 12:01
0
Dimon_, Igorrrrr и у кого ещё скетч не работал — при возможности проверьте обновление, интересно же…
Спасибо. Теперь всё заработало.

Да, алгоритмически теперь всё стало гораздо изящнее. Была очень «чаща непролазная» :)
Был бы у меня ещё один зелёный плюс, поставил бы обзору ещё:)
+
avatar
  • Prays
  • 29 декабря 2017, 20:57
+1
Только на пятом десятке первый раз увидел белую елку. Вот я деревня.
+
avatar
0
Круть хочу такую же, спасибо за обзор.
+
avatar
  • fdonskoj
  • 29 декабря 2017, 22:03
0
Можно я задам наверное глупый вопрос. Будет ли ваш скетч работать с WS2811? Или нужно что-то в скетче править?
+
avatar
  • Lvr
  • 29 декабря 2017, 22:07
+1
Должен работать без изменений. Но сначала лучше загрузить заведомо работающий скетч, чтобы проверить соединения и узлы. Выше несколько человек говорили о неработоспособности моего.
+
avatar
  • NSS75
  • 29 декабря 2017, 22:08
+2
Будет без правок. Это одно и то же. В WS8212 управляющий чип интегрирован в корпус светодиода 5050 RGB.
+
avatar
  • Sosedus
  • 29 декабря 2017, 22:30
0
а будет работать с Ws2813? Я думаю завтра заняться сборкой гирлянды на лентах Ws2813.
+
avatar
  • Cucumber
  • 30 декабря 2017, 16:14
0
Да, будет. Проверено
+
avatar
  • fdonskoj
  • 29 декабря 2017, 22:12
0
Спасибо. Ждём когда Мудрые люди разберутся и всё заработает.
+
avatar
  • Nikolaj
  • 29 декабря 2017, 22:39
0
Да, действительно на 120 диодов памяти не хватает. 20 диодов не работает, но не критично. Эффекты потрясающие.Спасибо всем за помощь.
+
avatar
  • skuratov
  • 29 декабря 2017, 23:12
+5
За елку из ершиков для мытья бутылок — отдельный плюс!
+
avatar
  • falkon27
  • 30 декабря 2017, 02:33
0
у меня вопрос. все светодиоды должны сидеть последовательно? то есть нельзя так сделать например чтобы по стволу шла шина и ответвлялись ветки от нее?
+
avatar
  • nochkin
  • 30 декабря 2017, 07:35
+2
Можно, но тогда ветки будут повторять эффекты друг друга. Если это подходит, то вполне себе вариант.
+
avatar
  • Rzzz
  • 30 декабря 2017, 21:26
+1
Последовательно должна идти только линия данных. Питание можно разводить как душе угодно.

Линия данных может быть довольно тоненькой, она же не передаёт нагрузку. Какой-нибудь МГТФ 0.06 вполне подойдёт.
+
avatar
  • Igorrrrr
  • 31 декабря 2017, 12:37
0
Да не, на шину данных тоже можно параллельно цеплять, она ж однонаправленная. но тогда эффекты на «ветках» будут одинаковые начиная с точки ответвления. можно делать красивые «деревья». можно на выход ардуины сразу 2 одинаковые ленты повесить, будут синхронно «моргать». единственное, желательно между выходом ардуины и лентой/лентами ставить по шине данных резистор ом на 100-200 на всякий случай. ну и если «ветвить» ленты — тоже лучше с резисторами.
+
avatar
  • BestMC
  • 30 декабря 2017, 05:59
0
Спасибо. Собрал и себе гирлянду. 8 метров, 240 диодов, на ESP 01.
+
avatar
0
под ESP-12 у меня не компилируется. Для остальных — нормально, что-то не так?
+
avatar
  • BestMC
  • 30 декабря 2017, 17:17
0
Нужно убрать проверку свободной памяти. Мне помогло.
+
avatar
+1
спасибо, работает!
+
avatar
  • igrblkv
  • 30 декабря 2017, 08:32
-1
Прочитал обзор, прочитал комменты…
Хочу белую ёлку со встроенными светодиодами и модулем управления ими. Управление по Blurtooth/WiFi приветствуется…
Ау, Сяоми!.. Где умная ёлка?..

PS: Я серьёзно. Надеюсь к следующему НГ китайцы накреативят…
+
avatar
  • Igorrrrr
  • 30 декабря 2017, 10:52
0
Ждём Xiaomi miTree. =)
+
avatar
0
Вот на 10 светодиодов с Радиокота
+
avatar
0
на 100. описался
+
avatar
  • Dimon_
  • 30 декабря 2017, 13:21
0
Вы бы ударение в последнем слове большой буквой выделили :)
А то я с третьего раза только правильно прочитал :)
+
avatar
  • Dimon_
  • 30 декабря 2017, 12:55
0
Lvr, и ещё вопросик по скетчу. Нужно реверсирование. У некоторых начало может быть на макушке ёлки, у некоторых — с нижней ветки. Какую бы-нибудь глобальную переменную, чтобы можно было указать, кому что надо. Это всего лишь чуть усложнит Anim::run(), как я понимаю, да? Или ещё где-то надо править?
+
avatar
  • Lvr
  • 30 декабря 2017, 20:31
0
Все эффекты, имеющие «направление», случайным образом реверсируются. Единственный жёстко привязанный к направлению — это стартовая анимация.
А вообще да, чтобы поменять направление нужно реверсировать два цикла в Anim::run(). Больше нигде ничего менять не нужно.
Возьму доработку на заметку, спасибо!
+
avatar
  • Cucumber
  • 30 декабря 2017, 13:24
0
Спасибо за код! На 100 WS2811b + Arduino UNO заработало как родное. В НГ с новыми эффектами :)

Одна проблема всплыла — переименуйте main.ino во что-нибудь другое. У меня название конфликтовало с main.cpp в дебрях ардуино-оболочки на линуксе. Говорит нет setup и нет loop.
+
avatar
0
На ESP-12 у кого-то скомпилировалось?
+
avatar
  • BestMC
  • 30 декабря 2017, 17:18
0
Выше ответил.
+
avatar
+2
Эхх, эти бы обзоры в октябре )) Придется к будущему новому году собирать :)
За обзор +! Спасибо!
+
avatar
  • brysnkin
  • 30 декабря 2017, 20:19
0
на Arduino nano даже не проходит проверку, также покажите пожалуйста в скетче где выставлять номер выходного контакта и количество диодов

compilation terminated.

Несколько библиотек найдено для «Adafruit_NeoPixel.h»
Используется: C:\Xiaomi\arduino-1.8.5-windows\arduino-1.8.5\libraries\Adafruit_NeoPixel
Не используется: C:\Xiaomi\arduino-1.8.5-windows\arduino-1.8.5\libraries\Adafruit_NeoPixel-master
exit status 1
Ошибка компиляции для платы Arduino Nano.
+
avatar
  • Lvr
  • 30 декабря 2017, 20:27
+2
У вас похоже 2 раза библиотека Adafruit-NeoPixel установлена. Удалите папку C:\Xiaomi\arduino-1.8.5-windows\arduino-1.8.5\libraries\Adafruit_NeoPixel-master, скорее всего поможет.
+
avatar
  • brysnkin
  • 30 декабря 2017, 20:44
+1
Заработало.
1. файл *.ino должен совпадать с именем архива
2. в anim.h выставляем нужный рабочий пин и количество светодиодов.
3. Больше 100 светодиодов работать не будет(
+
avatar
+1
Подскажите, а можно ли где-то в настройках указать максимальную яркость?

P.S. Кстати, красиво в снежинке 6-лучевой по 10 светодиодов смотрится типа этой — mySKU.me/blog/aliexpress/47632.html
Только что скетч залил.

P.S. Не просто красиво, а намного шикарнее всех скетчей для снежинок, которые я пробовал.
Вот только яркость как-нибудь бы уменьшить, а то 1А БП сильно греется, да и ардуинка подвисает в самом начале из-за того, что все светодиоды одновременно светят белым цветом. 2А БП спасает положение, но их мало и они дорогие, а вот 1А БП — есть запас.

P.S. Спустя 10 минут все никак не налюбуюсь эффектами.
+
avatar
  • Lvr
  • 31 декабря 2017, 00:27
+3
Уже можно, параметр BRIGHTNESS в обновлённом скетче. Заодно переименовал main.ino в arws2812.ino, как просил Cucumber.
Рад, что эффекты не только к линейной гирлянде подходят. Хорошо бы видео увидеть ;)
+
avatar
0
Видео уже снял, на ютуб заливаю
+
avatar
+1
+
avatar
0
Прописал в BRIGHTNESS 130.
Во первых перестало слепить (но все-равно светит достаточно ярко). Во-вторых пиковое потребление упало до 1.2А (в среднем 0.7А при ярких малодинамичных анимациях с участием большого количества светодиодов).

Как было:
Слепило. А во вторых в пике потребляло 1.85А (в среднем больше 1А). К тому же ардуинка подвисала с 1А БП при очень ярких анимациях.

Замер производил белым доктором.
+
avatar
0
Блин, теперь придется остальные снежинки вскрывать, чтобы залить новый скетч.
Но это приятные хлопоты )))

P.S. 1А БП после получасовой работы нагрелся несильно.
+
avatar
0
Как Вы думаете, а на 5 лучей пойдет такой скетч?
+
avatar
0
А почему бы и нет, эффекты вроде более-менее универсальные
+
avatar
  • andyga
  • 01 января 2018, 13:01
0
На пятилучевую прекрасно подходит. смотрится лучше всех что заливал.
+
avatar
  • Igorrrrr
  • 31 декабря 2017, 12:39
0
если ветвить гирлянду/ленту — тоже отличное дерево получается.!
+
avatar
  • nm11
  • 31 декабря 2017, 00:49
0
Ребята. придумайте что-что что бы, не меняя платформу, более 100шт работало. кусок гирлянды не подсвечен, при увеличении длины перестаёт работать. платформа на 328 процессоре.
Спасибо за решение.
+
avatar
0
что бы, не меняя платформу, более 100шт работало… платформа на 328 процессоре
Две ардуины, и располовинить ленту.
Там в RAM все упирается.
144шт работает на atmega32u4 (leonardo), по идее должно работать на esp8266.
Неплохо бы смотрелся перенос на stm32f103 ($1.8 платка)
+
avatar
  • BestMC
  • 31 декабря 2017, 04:20
0
240 работает на ESP 01
+
avatar
  • Igorrrrr
  • 31 декабря 2017, 12:43
0
эффекты идут в случайном порядке, если 2 ведруины поставить — получится каша( самый простой вариант — можно к неработающему «концу» протянуть шину данных от середины гирлянды, будет повторяться, но если гирлянда длинная это не очень заметно будет…
+
avatar
  • ABATAPA
  • 31 декабря 2017, 02:58
0
Можно объединить диоды попарно. «Разрешение» уменьшится в 2 раза, но и требования к памяти тоже.
+
avatar
0
Пользуясь случаем, может кто подскажет. Какие диоды покупать для подсветки в телевизорах LG взамен сгоревших.
+
avatar
  • ALexus
  • 01 января 2018, 18:49
0
Они там разные. Есть на вид одинаковые, но с обратной полярностью.
+
avatar
0
Есть варианты на али или ебей?