Ещё одна гирлянда на 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 кбайт ОЗУ. Отвечу на вопросы в комментариях :)
Для демонстрации я немного поменял скетч — сделал последовательный перебор режимов и палитр. Вот результат его работы:

С наступающим Новым Годом!
Планирую купить +138 Добавить в избранное +130 +235
+
avatar
  • al15613
  • 29 декабря 2017, 17:21
+13
Спасибо за «красивый» обзор. Почувствовал приближение Нового Года. Обзор ко времени! Всех с наступающим 2018…
+
avatar
  • knst
  • 30 декабря 2017, 12:57
0
ообзор не ко времени.
есть такая пословица — обозревай гирлянды летом, а плавки зимой.
+
avatar
+1
ообзор не ко времени
Ко времени, поскольку повторяется за 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
+2
А ничего такого сложного, обвить по стволу, в какой-нибудь бело-прозрачной (в данном случае) оплётке и всё…
+
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
  • Serko
  • 03 января 2018, 14:42
0
Бодрые 3500 из-за доставки ЕМС стоит.
+
avatar
+1
термоклеем заливать сразу. как ни странно — помогает от таких вот неприятностей весьма эффективно
+
avatar
0
Как вариант использовать светодиоды APA106. Правда выйдет дороже чуть.
+
avatar
  • Arm100
  • 29 декабря 2017, 18:58
0
просто красиво. респект вам и с нг
с меня +
+
avatar
  • ABATAPA
  • 29 декабря 2017, 19:13
+13
Мммм… Пожалуй, вставлю это в третий раз…
+
avatar
  • Bob-boB
  • 29 декабря 2017, 20:49
0
как такое чудо сделать?
+
avatar
  • Cucumber
  • 29 декабря 2017, 21:29
0
На ютубе ссылка под видео.
+
avatar
  • Psh
  • 29 декабря 2017, 21:37
+1
Это ж всё дело ещё нужно правильно намотать на ёлку
+
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
  • udavst
  • 19 января 2018, 15:00
0
У меня 2 таких ленты спаянные вместе, спокойно тянет 5v 1.5A, по яркости невооружённым глазом отличий не вижу.
+
avatar
  • Connar
  • 27 декабря 2018, 05:01
0
меньше 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
  • tutam
  • 04 января 2018, 00:30
0
Далее — ОБЯЗАТЕЛЬНО переименовываем main.ino в «название_архива».ino (ws2812.ino).

У меня название этого файла было (arws2812.ino) переделал в (ws2812.ino) всё пошло.
спасибо автору и shaman1010.

плата Leonardo (наверное micro, размером с Pro Mini, но на AT32U4)
+
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
+2
Поменял «встроенную» в скетч реализацию Adafruit_NeoPixel (в файлах ExtNeoPixel.*) на нормальную внешнюю. Как говорил, почему-то нормальная сначала не завелась, висла, скорее всего из-за VS Code.
Далее, вытащил из класса переменную pixels, сделал её обычной переменной, и инициализировал в самом скетче, а не в конструкторе класса.
В общем не нужно было чрезмерно усложнять с самого начала :)
Хотя поначалу я хотел сделать всё по канонам ООП — по классу на каждый эффект, наследование и т.п., но очень быстро упёрся в ограничение памяти. Так что вывод — для слабых микроконтроллеров современные навороты программирования вредны :)
+
avatar
0
Ну ООП не такой уж и «современный наворот», но для МК, конечно нет ничего лучше православного асма. Вот только поди попробуй написать на нем даже средний проект. Хотя для мигания гирляндой, пожалуй, самое то.
+
avatar
  • Lvr
  • 05 января 2018, 17:49
0
Ассемблер требует знания инструкций контроллера, нюансов организации регистров, адресного пространства и т.п., которые для каждого контроллера свои. В C с этим проще и универсальнее. Хотя, конечно, понимать во что примерно C-шный код превращается в итоге, очень полезное качество.
+
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
+6
За елку из ершиков для мытья бутылок — отдельный плюс!
+
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
+1
Да не, на шину данных тоже можно параллельно цеплять, она ж однонаправленная. но тогда эффекты на «ветках» будут одинаковые начиная с точки ответвления. можно делать красивые «деревья». можно на выход ардуины сразу 2 одинаковые ленты повесить, будут синхронно «моргать». единственное, желательно между выходом ардуины и лентой/лентами ставить по шине данных резистор ом на 100-200 на всякий случай. ну и если «ветвить» ленты — тоже лучше с резисторами.
+
avatar
0
МГТФ 0.07 видимо
+
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
+1
Ждём 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
+2
+
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
  • Fover
  • 10 декабря 2018, 20:19
0
А из чего у Вас сделана снежинка? Этот белый матерал
+
avatar
+1
Обычная полистирольная плита для потолков — leroymerlin.ru/product/plita-potolochnaya-inspire-c1000-16984307/
Замечательно режется выдвижным канцелярским ножом.
+
avatar
  • Fover
  • 11 декабря 2018, 17:09
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
  • Serko
  • 03 января 2018, 14:27
0
Теоретически можно с одной ардуины запустить синхронизацию со второй ардуиной. Просто например для запуска второй ждать сигнала на определённом входе (если нет случайных режимов). А более хитро -собрать шину данных из трёх например проводов, Тогда возможно 8 комбинаций.
+
avatar
  • Serko
  • 03 января 2018, 14:30
0
Не знаю, как там устроено — а если разрядность цвета вдвое-вчетверо уменьшить?
+
avatar
0
Не знаю, как там устроено — а если разрядность цвета вдвое-вчетверо уменьшить?
Вот здесь можно почитать в общих чертах.
В двух словах — там фиксированные 8 бит градации яркости на каждый цвет. т.е. 8х3=24бит (3 байта) на каждый светодиод. Протокол использует 3 бита для передачи каждого. Итого 3х3=9 байт на каждый светодиод. Для формирования эффекта, часто приходится заполнять буфер, равный количеству светодиодов. Т.е. 9х100шт=900 байт только для буфера. (из 2048 общей), без памяти для исполнения программы, непосредственно.
Дальше, надеюсь, понятно.
Использовать больше можно либо используя внешнюю ram, либо формируя эффекты «на лету», но тогда упираемся в производительность 328-го.
Мне кажется, лучше перенести код на ARM (stm32f103), там и памяти и скорости достаточно, стоит как про-микро ($1,8), под ардуино тоже завели.
Либо esp8266 (не проверял, но думаю нормально должно быть), либо Leonardo и выше для AVR.
+
avatar
  • Serko
  • 19 января 2018, 17:29
0
Я имею в виду уменьшить разрядность под каждый цвет в буфере до например 5 бит — получим 32 градаций вместо 256 — а перед выдачей в линию умножать значение цвета на 8, потеряем тонкие изменения — но уменьшим занятость памяти почти вдвое.
+
avatar
0
разрядность под каждый цвет
Разрядность — управляет яркостью. Цвета 3 на каждом диоде. Мне больше нравится вариант обертывания каждого бита двумя другими (высокий в начале и низкий в конце). Тогда необходимая память уменьшится в 3 раза (вероятно), а маску накладывать непосредственно перед выдачей троицы в линию. Т.е. маску эффектов хранить во флеши, В процессе воспроизведения эффекта — оперировать данными непосредственно в оперативке, а перед выдачей в линию обертывать каждый бит маской.
Пока это в теории, если руки дойдут — проверю. Народ еще i2s использует как транспорт, может там что-то интересное.
+
avatar
  • Serko
  • 19 января 2018, 21:14
0
Обёртывания бита — это что?
Яндекс предлагает холодные и горячие обёртывания :)
+
avatar
0
это что?
Это способ обойти перерасход бит :))))
Каждый бит (из 24 на один светодиод) по стандарту должен передаваться в виде посылки из 3-х бит.
110 — это 1
100 — это 0
Дык вот значащими — являются только вторые, а первый и третий можно (по идее) добрасывать в момент отсылки. Они не меняются, то есть накладываем маску и выпуливаем.
Как-то так :)
+
avatar
  • Serko
  • 19 января 2018, 22:32
0
А, вот тут сказывается что я не смотрел конкретную реализацию.
Я предполагал что хранится массив только значений с наложенными эффектами, а не массив готовых посылок, и обёртывание производится библиотечной функцией в момент отсыла. А тут действительно богатый запас ресурса.
Я копал пример из mySKU.me/blog/aliexpress/47920.html, использующий Adafruit_NeoPixel. Там всё происходит внутри библиотечных функций, и в каком виде хранится — неясно, надо исходники смотреть. Но новый год снова далеко, а дела близко. :)
+
avatar
  • ABATAPA
  • 31 декабря 2017, 02:58
+1
Можно объединить диоды попарно. «Разрешение» уменьшится в 2 раза, но и требования к памяти тоже.
+
avatar
0
Пользуясь случаем, может кто подскажет. Какие диоды покупать для подсветки в телевизорах LG взамен сгоревших.
+
avatar
  • ALexus
  • 01 января 2018, 18:49
0
Они там разные. Есть на вид одинаковые, но с обратной полярностью.
+
avatar
0
Есть варианты на али или ебей?
+
avatar
  • ALexus
  • 02 января 2018, 04:20
0
… заказывал на Али! Надо разбирать и смотреть какие стоят!
+
avatar
  • knst
  • 05 января 2018, 12:28
0
в LG бывают светодиоды на 3 и 6 вольт, определяешь, потом отпаиваешь и по полярности и форме контактов смотришь например здесь :https://ru.aliexpress.com/store/group/LG-Innotek-LED/936602_252833124.html?spm=a2g0v.12010608.0.0.287a15d7ZvKCDs
+
avatar
  • Jaster
  • 04 января 2018, 04:01
+1
Хоть и с опозданием собрал, загрузил и всё побежало, правда сначала перепутал направление. С ардуинкой имел дело в первый раз, долго ждал БП 5В 5А из Китая, потому и припозднился. Зато детвора сегодня была в восторге. Спасибо за науку и помощь в освоении.
+
avatar
-1
Здравствуйте, Господа! С Рождеством Христовым Вас. Вопрос к автору Ёлки. Можно ли получить готовый скетч, тот, что на последнем видео -https://youtu.be/if178oluID4. Спасибо заранее.
+
avatar
  • Lvr
  • 06 января 2018, 20:57
0
Ссылка на скетч на github есть в обзоре: github.com/Vasil-Pahomov/ArWs2812
Идёте по ссылке, нажимаете зелёную кнопку «Clone or download», далее во всплывшем окошке «Download ZIP»…
+
avatar
0
Спасибо огромное. Скачал, скетч залился без проблем. Еще вопрос, если можно. Есть ли возможность прикрутить дисплей на базе драйвера TM1637, чтобы показывал действующий эффект, как дополнение? Круто было бы. Спасибо. Думаю места в Нано хватит. И еще кнопки нельзя установить 1 — для зацикливания любого эффекта, 2 — перехода на другой эффект и 3 — автомат? Стал бы полноценной конструкцией. Сам скетчи писать не могу, вот и спрашиваю.
+
avatar
  • Lvr
  • 10 января 2018, 09:31
0
Всё можно, вопрос только в приоритетах. Пока есть более важные дела :(
Исходники открыты, может кто побыстрее чем я сделает.
+
avatar
0
Здравствуйте. Все таки можно подождать пока кончатся приоритеты? Очень хочется повторить «с наворотами». Спасибо. Со Старым Новым годом, Господа!
+
avatar
0
Здравствуйте. И тишина кругом, и мертвые с косами стоят, ну помогите же человеки!
+
avatar
0
Наверное Новый год больше не наступит!
+
avatar
  • Lvr
  • 25 января 2018, 17:56
0
Наступит, через 11 месяцев и немного дней :)
Сейчас уже заниматься этим, пожалуй, неактуально, а вот к следующему Н.Г. есть несколько задумок. Тогда и кнопки можно будет добавить.
Но DIY тем и хорош, что процесс обычно более увлекательный, чем результат ;)
+
avatar
  • Lehi4
  • 19 января 2018, 19:19
0
Классссссс!!!
Сразу после просмотра, заказал себе на маленькую елочку ленту из 50 диодов, дети визжат от восторга, уже елку убирать не дают :-)
Для демонстрации я немного поменял скетч — сделал последовательный перебор режимов и палитр. Вот результат его работы:
А можно скетч с последовательным перебором?
Или что надо в текущем скетче поменять?
+
avatar
  • Lvr
  • 25 января 2018, 17:55
0
В репозитории в ветке demo есть последовательный перебор. Но там код без последних исправлений. В теории нужно взять метод loop из этого файла: github.com/Vasil-Pahomov/ArWs2812/blob/demo/main.ino
и заменить им такой же метод в основной ветке: github.com/Vasil-Pahomov/ArWs2812/blob/master/arws2812.ino
К сожалению сам проверить сейчас не могу
+
avatar
0
Большое спасибо за идею и превосходную реализацию. Сегодня получил гирлянды и БП и (о чудо!!!) за час реализовал проект. Вот честно, никогда у меня сразу не работало, а тут как по маслу пошло!.. На следующий НГ добавлю гирлянду на елку, и будут у меня все урашения на 2811 и 2812 (https://www.youtube.com/watch?v=9QUcCxezHDY ). Теперь будет «телевизор», бегущие огни, снежинка и ЕЛОЧКА!!! Еще раз спасибо!
+
avatar
0
а схему подключения гирлянды к плате ARDUINO где можно посмотреть?
+
avatar
  • Lvr
  • 12 сентября 2018, 08:26
0
Там совсем просто всё, питание на Arduino и ленту + единственный выход со 2-го пина ко входу данных ленты. Тут есть схемка: github.com/Vasil-Pahomov/ArWs2812. На схеме есть модуль Bluetooth, но это уже планируемое расширение, всё работает и без него.
+
avatar
0
а на Arduino NANO какие выходы задействовать? там немного разные? у вас идёт +5 v идет на RAW а на плате NANO такого нет (( подскажите пожалуйста схему для Arduino NANO
+
avatar
  • Lvr
  • 18 сентября 2018, 22:23
0
На Arduino Nano этот вход называется Vin. Но на самом деле, для любых 5-вольтовых Arduino можно подавать питание сразу на вход питания (Vcc, 5V)
+
avatar
0
Если тема ещё жива, можете подсказать, как реализовать такое, человеку, не разу не сталкивающиеся с Ардуино, к тому же может что поменялось за год, и сейчас можно взять более интересные решения. Если не сложно — можете подсказать, какую плату и БП сейчас заказать, что бы порадовать своих детей к НГ и есть ли сейчас смысл брать другую светодиодную ленту или указанная топик стартером до сих пор оптимальна под данную задачу? Буду признателен за помощь.
+
avatar
  • Lvr
  • 29 октября 2018, 17:09
0
Тут много завязано на скетч, т.е. на платформы, отличные от Arduino, придётся портировать. Я бы бы рекомендовал повторять как есть, т.е. на Arduino Pro Mini. Только гирлянду лучше заказать с другими светодиодами; в самом начале этого обзора есть ссылки на другие.
+
avatar
  • lv426
  • 29 октября 2018, 15:48
0
Пытаюсь скормить UNO данный чудесный (без преувеличения) скетч, и получаю «Недостаточно памяти, программа может работать нестабильно.» Ничего не работает. Уменьшаю количество светиков до 93, и красота взлетает.
Отцы, что не так? Леонарду (под эту платку компилится без ошибок) что ли брать?
+
avatar
  • Lvr
  • 29 октября 2018, 17:11
+1
Странно, в Uno, насколько я знаю, точно такая же ATMega328, как и в Pro Mini. Предупреждение о недостаточности памяти — всего лишь предупреждение, и с ним должно работать.
Можно детальный вывод компилятора при компиляции под Uno (лучше наверное в личку)?
+
avatar
0
Для прикола попробовал скомпилить. Странно, но действительно что на уно, что на нано пишет. Похоже глюк иде.
Пишет что занимает меньше 100 процентов но при этом выводит ошибку.

Изменены опции сборки, пересобираем все
Скетч использует 14712 байт (47%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 1605 байт (78%) динамической памяти, оставляя 443 байт для локальных переменных. Максимум: 2048 байт.
Недостаточно памяти, программа может работать нестабильно.
+
avatar
+1
Кажется понял. В скетч уже встроено управление по блютус? Если выпилить, то компилится со 100 светиками без предупреждений.
+
avatar
  • lv426
  • 30 октября 2018, 08:42
0
Спасибо за шиакрную разработку и предложение помочь. KarlikNos уже угадал причину.
+
avatar
+2
Уже ответил в другой ветке автору. Если коротко, то тебе надо качать исходники «прошлой версии» по ссылке github.com/Vasil-Pahomov/ArWs2812/tree/before_bluetooth
+
avatar
  • Lvr
  • 29 октября 2018, 20:07
0
Да, совершенно верно!
+
avatar
  • lv426
  • 30 октября 2018, 08:35
0
Объёмное мерси!!! Синезуб до фени. С этой версией заработало как надо.
+
avatar
  • Lvr
  • 29 октября 2018, 17:14
+1
Начал делать вариант с управлением по bluetooth, но всё никак не закончу нормально… Если желающих много наберётся, будет стимул доделать :)
+
avatar
  • Jaster
  • 16 ноября 2018, 10:04
0
Разработка достойная всяких похвал! Хорошо, что тема не загибается, а имеет развитие в хорошем направлении. Ваш скетч пока лучшее, что я видел из бесплатного в сети, повторил уже несколько раз. Пробовал другие, но всегда возвращаюсь к вашему, т.к. эффекты собраны практически безупречно. Имеет смысл попробовать портировать на ESP и добавить WEB интерфейс, будет бомба!
+
avatar
  • Saloed
  • 09 ноября 2018, 11:32
0
Спасибо за гирлянду за отличный скетч. НГ на носу решил и я подготовиться в этом году получше купил ws2811 и Nano CH340/ATmega328P
Сразу скажу я могу только повторять за умными людьми.
У меня получилось запустить только 94 светодиода из 100.
И ещё вопрос. А почему не использовать esp8266 NodeMCU v2 Lua wifi( валятся такой в загашнике) вместо bluetooth?
+
avatar
  • Lvr
  • 11 ноября 2018, 14:49
0
А почему не запускается больше? Виснет, не компилируется?
К своему стыду, с esp ещё дела не имел, а pro mini валялось достаточно много уже давно. И всё никак не нахожу времени освоить esp нормально.
Но насколько я представляю, портировать будет просто, но, конечно, нужно будет добавить управление по WiFi. Возможно, спрос стимулирует меня ;)…
+
avatar
  • Saloed
  • 12 ноября 2018, 15:38
+1
Писало про мало памяти, но это я сам затупил скетч видно с bluetooth скачал. Взял и комментариев и все загрузилось нормально. Еще раз спаибо за скетч.

Попробовал на esp8266 запустить выдало ошибки я просто вырезал где были эти ошибки и вроде запустилось нормально
+
avatar
  • Lvr
  • 21 ноября 2018, 20:28
+3
Спасибо! Порт на esp готов!
Сейчас в master-ветке скетч, где bluetooth можно полностью отключить, закомментировав #define BLUETOOTH
+
avatar
  • Save
  • 10 ноября 2018, 11:36
+1
Добрый день, спасибо за скетч, все заработало с первого раза на Nano с лентой WS2811… подскажите в каком месте в скетче отвечает время выполнения одного режима, можно как то увеличить?
+
avatar
  • Lvr
  • 11 ноября 2018, 14:50
+1
Строка
#define INTERVAL 30000 //change interval, msec

По умолчанию 30 секунд (30000 миллисекунд). Можно менять на своё усмотрение

github.com/Vasil-Pahomov/ArWs2812/blob/before_bluetooth/arws2812.ino#L11
+
avatar
  • bisiro
  • 16 ноября 2018, 15:29
0
товарищ, спасибо за труды)
великолепная гирлянда выходит)
попробую прицепить регулировку яркости кнопками и вообще огонь будет)
+
avatar
  • Fover
  • 18 ноября 2018, 01:16
0
Подскажите, пожалуйста, как залить прошивку в NodeMcu V3? Вроде прошивается, ошибок нет, но лента не работает. Лента исправна, пины не спутал.
Мне нужна гирлянда на 150-200 светодиодов, поэтому ардуино отпало.
+
avatar
  • Saloed
  • 18 ноября 2018, 01:43
+2
Я заливал на 200 светодиодов только немного удалил кода ) чуть выше картинка. И у меня NodeMcu V2
Пин D4
+
avatar
  • Fover
  • 18 ноября 2018, 10:33
0
Удалил часть кода — ничего не изменилось, пины тоже менял — не работает. Заливал мигалку светодиода — она работает, значит есп рабочая
+
avatar
  • Saloed
  • 18 ноября 2018, 11:05
+1
Даже не знаю
Брал этот скетч github.com/Vasil-Pahomov/ArWs2812/tree/before_bluetooth
Удалял строчки
Менял количество светодиодов
Управляющий пин не менял и все заработало.
Сейчас попробовал залить на 100 светодиодов все залилось и работает.
+
avatar
  • Fover
  • 18 ноября 2018, 12:04
0
Этот скетч заработал! Спасибо
+
avatar
  • Lvr
  • 22 ноября 2018, 14:35
+1
Народ, помимо прикрутки управления по Bluetooth есть идея, как заставить скетч управлять большим количеством светодиодов (в теории даже 500 должен потянуть) на Arduino? Есть ли смысл это делать, или же лучше смотреть в сторону ESP? В этом случае думаю самым оптимальным будет контрибутить в какой-нибудь готовый проект, например github.com/Aircoookie/WLED. Т.е. туда добавлю свои эффекты.
+
avatar
  • Saloed
  • 22 ноября 2018, 17:43
+2
Я за esp (потому-то она у меня есть))). Было бы неплохо возможность управления длительностью и скоростью каждого эффекта по отдельности. И ещё добавить стартовую анимацию в список эффектов уж очень она мне нравится.
+
avatar
  • Fover
  • 23 ноября 2018, 01:47
+1
+
тоже за esp
+
avatar
  • Jaster
  • 24 ноября 2018, 20:57
+1
ESP, однозначно!
+
avatar
0
или же лучше смотреть в сторону ESP?
Поправьте меня, если я ошибаюсь, но ESP, вроде, к питанию более требовательный. Только 3.3 и не сантиметра…
И, хоть убейте, не понимаю, для чего тут нужен Bluetooth? Что за манера за столом телефон доставать и пальцами тыкать?
Все таки с точки зрения повторения, ардуинка предпочтительней. А если еще и дофига светодиодов будет…

Извините, наболело… Высказался.
+
avatar
  • Saloed
  • 24 ноября 2018, 22:07
+3
+
avatar
  • Lvr
  • 24 ноября 2018, 22:30
+3
На бордах с ESP типа NodeMCU стоят стабилизаторы, как впрочем на всех ардуинках. Питать их можно свободно от 5 вольт.
А насчёт ESP vs Arduino… Сам мечусь между повторяемостью на Arduino и гибкостью и настраиваемостью ESP. Сам склоняюсь к ESP, чтобы детям развлекаловку делать (им прикольно управлять гирляндой с телефона), ну и народ больше за ESP как-то. И то, и другое точно не сделаю, тут хотя бы что-то одно успеть.
Прошу понять и простить…
+
avatar
0
Прошу понять и простить…
Хозяин — барин :-)
+
avatar
+1
На есп памяти больше.
+
avatar
  • SD19863
  • 24 декабря 2018, 10:54
0
конечно ESP.
+
avatar
  • Frolv
  • 23 ноября 2018, 10:36
0
Совсем запутался — какой скетч заливать в нано (мини)?
+
avatar
  • Lvr
  • 23 ноября 2018, 12:04
+1
Тот же, что и в Pro Mini :)
github.com/Vasil-Pahomov/ArWs2812/tree/before_bluetooth точно рабочий
+
avatar
  • Frolv
  • 23 ноября 2018, 12:57
+1
ЗАРАБОТАЛО!!!
+
avatar
  • Lvr
  • 25 ноября 2018, 14:06
+5
Всем, кто на ESP заливает — в этой ветке буду выкладывать для ESP сборку: github.com/Vasil-Pahomov/ArWs2812/tree/esp
Уже пару фиксов есть, сейчас скетч вроде как на ESP работает нормально
+
avatar
0
Отлично!
А не подскажите «чайнику»(сам так и не понял)… у ESP01 с какого пина управление снимается? Или его самому можно/надо прописывать?
+
avatar
  • Lvr
  • 26 ноября 2018, 12:40
+1
GPIO2 должен работать, у ESP01 он выведен.
Вообще пин можно поменять в строке 6 файла anim.h (https://github.com/Vasil-Pahomov/ArWs2812/blob/esp/anim.h#L6)
#define PIN 2 // WS2812 pin number

Но у ESP01 сильно не разбежишься, только GPIO0 и GPIO2 выведены, как я понял.
+
avatar
0
Спасибо… попробую. А «PIN 2» это и будет «GPIO2»?
А про ESP01 — она как раз без дела валяется,… и много «ног» для Вашего проекта не требуется :)
+
avatar
  • Lvr
  • 26 ноября 2018, 13:47
+1
Да, PIN 2 это GPIO2 на ESP
+
avatar
0
Спасибо ещё раз
+
avatar
  • kollj
  • 27 ноября 2018, 10:59
0
подскажите пожалуйста. для ESP, есть какая-то внешняя возможность управлять лентой? так же в коком месте можно поменять логин и пароль вай-фай модуля?
+
avatar
0
Как я понял на данный момент там вообще без вайфая работает, тупо как микроконтроллер замена ардуине.
+
avatar
  • kollj
  • 27 ноября 2018, 12:05
0
ну не знаю у меня точка доступа поднята и даже зайти могу (через браузер) но пустой экран. возможно это хвосты от старой прошивки где была точка доступа.
+
avatar
  • Lvr
  • 27 ноября 2018, 16:48
0
Да, верно, сейчас в ветке ESP ничего c WiFi нет. Поднятая точка — это издержки прошлой прошивки.
+
avatar
  • Lvr
  • 02 декабря 2018, 20:42
+2
Залил первую версию с web-интерфейсом. Пока работает только с существующей точкой доступа, только по IP-адресу. Позволяет менять анимации и палитру. Адаптирована для мобилок.
Для запуска:
1. В arws2812.ino меняете WIFI_SSID и WIFI_PASS на данные вашей сети WiFi.
2. После запуска в мониторе порта выводится IP-адрес ESP.
3. Заходите IP-адрес_ESP/
В интерфейсе пока два выпадающих списка — анимация и палитра. Пока открыт интерфейс, эффекты не меняются (за исключением стартового).
Жду конструктивной критики, пожеланий, предложений :)
+
avatar
  • kollj
  • 02 декабря 2018, 21:40
0
веб морда появилась. два списка.
Если не трудно пояснения как это отрабатывает. К примеру выбрал режим. а как его запустить?
при открытой веб морде эфекты меняются в автомате по своему алгоритму.

моя хотелка и думаю другие тоже поддержат. что мы в веб морде была кнопка включить выключить гирлянду.
+
avatar
  • Lvr
  • 02 декабря 2018, 22:04
0
Работать должно так: при входе в морду текущий эффект должен «замораживаться», и при изменении в списках сразу соответственно меняться. Можно в браузере нажать F12, затем открыть морду, поменять эффект и потом скинуть скрин (лучше в личку)? Спасибо!
Про выключение понял, беру на заметку.
+
avatar
  • kollj
  • 02 декабря 2018, 22:51
0
скрин экрана с ф12


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

еще скрин ф12 нажата после смены эфекта


+
avatar
  • Lvr
  • 03 декабря 2018, 09:10
+1
Да, накосячил я немного, залил исправление.
А статический IP лучше, как мне кажется, прописать на роутере в настройках DHCP.
+
avatar
  • Lvr
  • 08 декабря 2018, 22:43
+1
Новая версия для ESP. Добавлена возможность выключения гирлянды из web-морды, исправлены баги.
ВАЖНО: теперь гирлянду нужно подключать к GPIO2, поскольку GPIO2 теперь используется для вывода отладочной информации.
Жду обратной связи :)
+
avatar
0
нужно подключать к GPIO2, поскольку GPIO2 теперь используется для вывода отладочной информации
Ээээ… Кто на ком стоял? ©
И гирлянду и отладочную — все на 2?
+
avatar
  • Fover
  • 09 декабря 2018, 10:16
+1
Опечатался автор, а на гитхабе все правильно написал (!) default LED strip pin now is GPIO0, not GPIO2
+
avatar
  • Lvr
  • 09 декабря 2018, 10:25
0
Извиняюсь, конечно гирлянда на GPIO0… :(
+
avatar
  • Andrey31
  • 09 декабря 2018, 12:09
0
Тоже ошибка компиляции:
Дополнительная информация
C:\Users\Andrey\AppData\Local\Temp\arduino_build_361921\sketch\anim.cpp.o:(.text._ZN4Anim7setAnimEh+0x44): undefined reference to `Anim::animOff_SetUp()'

C:\Users\Andrey\AppData\Local\Temp\arduino_build_361921\sketch\anim.cpp.o:(.text._ZN4Anim7setAnimEh+0x48): undefined reference to `Anim::animOff_Run()'

collect2.exe: error: ld returned 1 exit status

Используем библиотеку Adafruit_NeoPixel версии 1.1.7 из папки: C:\Users\Andrey\Desktop\arduino-1.8.5\my sketch\libraries\Adafruit_NeoPixel
Используем библиотеку ESP8266WiFi версии 1.0 из папки: C:\Users\Andrey\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.2\libraries\ESP8266WiFi
Используем библиотеку ESP8266WebServer версии 1.0 из папки: C:\Users\Andrey\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.2\libraries\ESP8266WebServer
Используем библиотеку ESP8266mDNS в папке: C:\Users\Andrey\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.2\libraries\ESP8266mDNS (legacy)
exit status 1
Ошибка компиляции для платы NodeMCU 1.0 (ESP-12E Module).

Ps^Предыдущий релиз компилился нормально
+
avatar
  • kollj
  • 09 декабря 2018, 10:44
0
не получается скомпилировать выдает ошибку
Дополнительная информация


а по поводу GPIO2, тут просто описка нужно понимать что по умолчанию вывод на ленту происан GPIO, на странице загрузки про это несколько раз написано.
+
avatar
  • Lvr
  • 09 декабря 2018, 12:49
0
Прошу простить, делаю урывками, спешу и косячу. Добавил отсутствующий файл, сейчас должно нормально компилироваться. Впредь буду стараться перепроверять всё.
+
avatar
  • kollj
  • 09 декабря 2018, 13:03
+1
логин и пароль свой затрите в скетче.
+
avatar
  • Andrey31
  • 09 декабря 2018, 18:17
+1
Да не переживайте так! Спасибо и за это! Сейчас всё работает!
+
avatar
  • Lvr
  • 11 декабря 2018, 20:26
+5
Исправил ошибку с эффектом «Полёт»
+
avatar
  • Lvr
  • 10 декабря 2018, 17:27
0
Кто заливал скетч на ESP, отпишитесь плиз, наблюдаются ли у вас периодические сбросы контроллера? Внешне выражается в том, что внезапно опять запускается стартовая анимация. У меня есть такая проблема, и я не могу понять, дело в моей ESP или же это программная ошибка. Спасибо!
+
avatar
  • kollj
  • 10 декабря 2018, 18:15
+1
у меня если и наблюдается только из за питания. тоесть питанию должно хватать и на ленту и на еспешку, если не хватает то и будет сбрасываться.
еще вариант плохие контакты.

как вариант запитать еспешку от одного БП, а ленту от другого и сразу будет понятно.
+
avatar
  • Saloed
  • 10 декабря 2018, 19:25
+1
Работает нормально вроде. Залил с полчаса гонял сбросов не наблюдал.

Я так и не понял зачем два списка?
+
avatar
  • Lvr
  • 10 декабря 2018, 20:45
+1
Первый список выбирает эффект, второй — палитру цветов для эффекта
+
avatar
  • Saloed
  • 10 декабря 2018, 21:05
0
А как во втором сделать случайный? Или если в первом выбираешь случайный то везде он?
+
avatar
  • Lvr
  • 10 декабря 2018, 22:50
0
Задумка была такая — когда гирлянда работает автономно (web-морда не открыта), эффекты и палитра меняются случайно каждые 30 секунд, как это было в «оригинальном» скетче для Arduino. При открытии web текущие эффект и палитра удерживаются, и есть возможность их поменять.
Других идей по управлению не приходит в голову, буду рад любым мыслям.
+
avatar
  • Saloed
  • 10 декабря 2018, 23:23
+1
Мне все нравится. Отлично сделано.
Мой багрепорт
Если включаешь полет
Выскакивает ошибка и при переключении нижней вкладки ошибка повторяется

И мои пожелания.
Возможность регулировать длительность эффектов.
И может сделать галочку как для выключения, чтоб оставался выбранный эффект и после закрытия вебморды.
+
avatar
  • Fover
  • 10 декабря 2018, 19:52
+1
Гоняю гирлянду уже давно, сбросов не было, питание есп и гирлянды от разных источников (землю объединил ессно). Однако заметил интересную вещь — пару раз было что горели только зеленый, белый и синий цвета. Из эффектов пропадали остальные цвета, но после ребута есп все приходило в норму.
+
avatar
  • Lvr
  • 10 декабря 2018, 20:58
0
Можно подробнее — закономерность в проявлении? Анимация сохранялась, но цвета были не все? Похоже на пропадание красного цвета, но почему такое может быть — ума не приложу.
+
avatar
  • Fover
  • 11 декабря 2018, 12:17
0
Да, анимация сохранялась. Появлялось сразу при включении, и было пару раз, уже вот с неделю все без глюков работает.
+
avatar
  • Andrey31
  • 11 декабря 2018, 09:26
0
Работает и не сбрасывается, но на «полёт-рождество» пишет ошибку соединения, хотя эффекты работают
+
avatar
  • ezocon
  • 12 декабря 2018, 13:39
+2
Спасибо за проект.
Не знаю насколько грамотное от меня решение, но если запускать без wifi точки, то она будет до скончания веков её ждать. Добавил такой вот код. Все работает.

while ((WiFi.status() != WL_CONNECTED) && !(millis() - lastMillis > 10000) ) {
    delay(500);
   Serial1.print(".");
  }
+
avatar
  • Fover
  • 12 декабря 2018, 20:31
0
Спасибо! Полезная вещь
+
avatar
  • Lvr
  • 13 декабря 2018, 10:39
+2
Да, штука нужная, спасибо! Я думал в перспективе сделать fallback в режим точки доступа при отсутствии соединения. Внёс в свой код.
+
avatar
0
Блин, уже 5-6 часов убил на прошивку arduino NANO
Скетч ArWs2812-master не прошивается — пишет ошибку
Дополнительная информация
Arduino: 1.8.7 (Windows 10), Плата:«Arduino Nano, ATmega328P (Old Bootloader)»

sketch\animGlow.cpp: In member function 'void Anim::glowForEachLed(int)':

animGlow.cpp:11:16: error: 'sint8_t' was not declared in this scope

int bra = (sint8_t) (braPhase + i * braFreq);

^

exit status 1
'sint8_t' was not declared in this scope

Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
«Показать подробный вывод во время компиляции»

Скетч ArWs2812-before_bluetooth прошивается без проблем, но при подключения платы к питанию и светодиодной ленты WS2811 IC RGB только раз тускло моргает красным цветом и все.
По подключению вроде тоже все верно — плюс — 5v, минус — GND, управление — D2.
Уже и не знаю куда копать. На сегодня, пожалуй, хватит — спать пора.
Буду признателен за любую помощь и подсказки.
Дополнительная информация

+
avatar
  • Lvr
  • 26 ноября 2018, 09:24
+1
В мастер-ветке я накосячил, извиняюсь, уже исправлено.
Насчёт же работы самой гирлянды — можно попробовать поиграть третьим параметром в конструкторе Adafruit_NeoPixel в строке 8 файла anim.cpp:
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(LEDS, PIN, NEO_GRB + NEO_KHZ800);

Например, попробовать понизить частоту (NEO_KHZ400 вместо NEO_KHZ800), попробовать другой порядок цветов (NEO_RGB вместо NEO_GRB).
Если не поможет, для верности можно попробовать загрузить примеры из Adafruit_NeoPixel. Если и они не пойдут, значит проблема аппаратная (плохой контакт, питание гирлянды или Arduino, или же их неисправность).
+
avatar
0
Спасибо. Качал вчера ночью. Я так понимаю, что если скачать сейчас архив — все должно залиться без проблем? К сожалению ссылку неудобно добавлять — сижу с телефона. Буду дома — попробую ещё.
+
avatar
  • Lvr
  • 26 ноября 2018, 10:45
0
Да, так и есть, сейчас должно всё компилироваться нормально. Но если не планируете использовать bluetooth, то разницы с веткой before_bluetooth никакой не будет.
+
avatar
0
Спасибо за оперативные ответы и помощь. Про Bluetooth увидел только в выходные, поэтому модуль пока ещё в пути. Пока попробую прошить с его поддержкой, а как придёт — допаяю все необходимое.
+
avatar
  • Lvr
  • 26 ноября 2018, 11:25
0
Хочу сразу предупредить, андроидное приложение для Bluetooth ОЧЕНЬ сырое :(
Но режим управления акселерометром эффектный.
+
avatar
0
Попробовал сменить частоту и порядок цветов — не помогло. Теперь встал вопрос — как взять примеры из библиотеки для загрузки?
Как проверить саму ленту? Что-то подозрения на нее. Когда откидываю + или — от ленты — загорается красный светодиод на ардуино. При подключении обратно — гаснет и больше не загорается.
+
avatar
  • Lvr
  • 26 ноября 2018, 12:57
0
Какой именно светодиод, питание или встроенная «мигалка»? Если светодиод питания то однозначно какая-то проблема с питанием. Он должен всегда гореть.
+
avatar
0
Спасибо за помощь. Разобрался наконец. Проблема оказалась в кривых перемычках. При достаточно тугом ходе контакт постоянно пропадал или напрочь отсутствовал, к тому же, провода этих перемычек нифига не лудятся. В итоге распотрошил 3-х жильную ВВГшку и подпоялся напрямую к плате ардуино. После этого все заработало с первого раза. Кстати, такая проблема только с перемычками мама-папа. Папа-папа с WAGOвскими клемниками и разъемами ленты работают пока без нареканий. Теперь жду, когда bluetooth модуль и переключатель придут.
Дополнительная информация
+
avatar
  • Fover
  • 26 ноября 2018, 11:45
0
Можно ссылочку на гирлянду с зелеными проводами?
+
avatar
+2
Конечно. Вот.
+
avatar
  • Fover
  • 26 ноября 2018, 14:03
0
Спасибо!
+
avatar
  • kollj
  • 26 ноября 2018, 13:08
0
два варианта:
— проблема с прошивкой
— не хватает питания.
+
avatar
0
Оказалась третья — плохой контакт.
+
avatar
0
Скажите, а в итоге нет мерцания «вырви глаз», как в китайских дешевых гирляндах? Я имею ввиду не переходы между эффектами, а само по себе свечение как на 50Hz
+
avatar
  • Saloed
  • 27 ноября 2018, 18:25
+1
За что мне понравился данный скетч, это именно, что плавные переходы между эффектами. Конечно можно придраться к переходам, но это если хотеть.
Вроде мерцания особого нет, если я правильно понял про 50Hz
+
avatar
0
Доброго времени суток! Пока комплектующие на подходе, хотелось бы узнать. Bluetooth HC-06 надо ли как то настраивать или ардуина сама все сконфигурирует?
+
avatar
  • Lvr
  • 06 декабря 2018, 10:25
+1
Не надо настраивать никак, просто подключить.
+
avatar
0
Спасибо! Осталось дождаться ардуину, надеюсь к НГ успеет.
+
avatar
  • alex_dir
  • 13 декабря 2018, 19:47
+2
Спасибо автору за проект.
Как раз к НГ, в том году не успел, так сделал в этом.
Удачи, творчества и успехов в НГ!!!
+
avatar
0
Помогите!
Использую arduino nano (три разных из Китая); Среда arduino 1.8.7;
Прошивка ArWs2812-before_bluetooth.zip — устанавливается и запускается;
Прошивка ArWs2812-master.zip — устанавливается и запускается только с при установке на 99 светодиодов;
Но в обоих случаях по кругу работает только один эффект (первый из видео), как включаются остальные...?
+
avatar
0
Добавлю, стоит Adafruit NeoPixel by Adafruit Версия 1.1.7 INSTALLED может нужна версия ниже….
+
avatar
  • kollj
  • 16 декабря 2018, 21:23
+2
А чем запитываети ленту?
Попробуйте указать к примеру 10 светодиодов.
+
avatar
+1
Лента запитана от лабораторного блока питания (5А не импульсный), ардуина от повербанка. Прошивал под 50 светодиодов..., без изменений.

Все, проблема решилась с «посыла» kollj. Повербанк из дешовых и видно дает наводку по питанию. Подал нормальные 5 вольт и все побежало!
Спасибо.
+
avatar
  • Saloed
  • 16 декабря 2018, 22:25
0
Поди минуса банкисилы и бп не соединили.
+
avatar
0
Общий провод (-) был прогнан стразу, причина именно в повербанке.
+
avatar
  • hunter59
  • 16 декабря 2018, 23:53
0
К сожалению моих знаний не хватает разобраться, как менять режимы и включать/выключать при помощи http запроса. Например, http/ip адрес/? команда выключения или http/ip адрес/? режим=2.
Подскажите как будет выглядеть http строка в браузере. Спасибо
+
avatar
  • kollj
  • 17 декабря 2018, 09:01
0
http/ip адрес/ вот так и выглядит. Главное вместо ip адрес вписать айпишник модуля. (Он может после каждого нового подключения к блоку питания меняться). Должна открыться страница с надписями.
+
avatar
  • hunter59
  • 17 декабря 2018, 09:34
0
Это понятно. Мне нужно, чтобы управление было без открытия страницы. Например, http/ip адрес/,?cmd=off, и она выключается.
+
avatar
  • kollj
  • 17 декабря 2018, 10:54
0
ip/set?a=0&p=2 это включить
ip/set?a=-1&p=2 это отключить
по крайней мере у меня типа так
+
avatar
  • Lvr
  • 17 декабря 2018, 11:16
0
Да, всё верно. Запрос /set устанавливает заданную анимацию и палитру. Анимации нумеруются с 0 до 7 (0 — стартовая анимация), анимация -1 означает выключение. Палитры нумеруются с 0 до 7.
А если не секрет, в каком сценарии планируете управлять запросами напрямую? Я планирую переделать управление на websockets, но если http-управление надо, то конечно оставлю его.
+
avatar
  • hunter59
  • 17 декабря 2018, 12:04
0
Спасибо! Планирую прикрутить ее к Majordomo. Там хоть кнопкой, хоть голосом можно включать/управлять. Для меня проще http управление. ))
+
avatar
  • kollj
  • 17 декабря 2018, 11:19
+1
насколько я понял первая цифра это от 0 до 8 это эффект, а -1 отключение эффектов
а вторая цифра это вторая строка от 0 до 7

я бы тоже сделал бы ряд кнопок типа не выпадающих а сразу кнопка с эффектом и второй ряд кнопки с палитрами и кнопка включения и вторая кнопка выключения. хорошо бы что бы кнопки подсвечивались после нажатия
+
avatar
  • m5a3x6
  • 19 декабря 2018, 08:36
0
добрый день! подскажите пожалуйста, какая ветка на гите сейчас актуальная (для esp)? Liana или ArWs2812?
+
avatar
  • kollj
  • 19 декабря 2018, 10:31
0
+
avatar
  • m5a3x6
  • 19 декабря 2018, 13:42
+1
в том то и дело, что есть сомнения насчет актуальности, ибо вот по этой ссылке github.com/Vasil-Pahomov/Liana/tree/master обновления проводились позже, чем по ArWs2812 (изменения всего неделю назад, против трех с лишним недель у ArWs2812), есть подозрение что проект Liana продолжение ArWs2812, но заточенный именно под esp. Хотелось бы услышать комментарии автора на этот счет
+
avatar
  • Lvr
  • 20 декабря 2018, 11:02
+2
Заведомо работающая (не только у меня) версия находится в старом репозитории: github.com/Vasil-Pahomov/ArWs2812/tree/esp
И да, я создал новый репозиторий для проекта под ESP (github.com/Vasil-Pahomov/Liana/), но пока там особо ничего готового нет, поэтому и не говорил.
В мастер-ветке этого репозитория (github.com/Vasil-Pahomov/Liana/tree/master) находится теоретически работающий код, в котором заменена библиотека работы со светиками. Использованная ранее Adafruit_Neopixel периодически вызывала Soft WDT reset на моей плате, хотя больше никто не жаловался.
Новая библиотека (NeoPixelBus) такой проблемы не вызывает. Внешне отличий в функционале со старой веткой нет, но гирлянда теперь опять цепляется на GPIO2, это ограничение NeoPixelBus.
Если кто проверит у себя работоспособность новой версии с NeoPixelBus, буду благодарен :)
+
avatar
  • m5a3x6
  • 20 декабря 2018, 11:40
0
спасибо за развернутый ответ :) и за проделанную работу!
на днях заберу ленту с почты и буду тестить, попробую лиану)
а еще вопрос вебсокет контрол чем лучше?
+
avatar
  • Lvr
  • 20 декабря 2018, 12:56
0
Хочу попробовать, что такое websockets и с чем их едят :)
Вообще делаю эффект, которому нужна быстрая асинхронная передача данных с клиента на ESP, по HTTP это было бы сложно.
HTTP-эндпоинты оставлю, по крайней мере /set (@hunter59 просил для автоматизации управления).
Визуально почти ничего не поменяется при переходе на websockets
+
avatar
  • m5a3x6
  • 20 декабря 2018, 13:14
+1
здорово, будем ждать :) надо тоже подумать над тем, чтобы прикрутить к умному дому) правда openhab

з.ы.: эффекты можно вот тут еще подсмотреть :) youtu.be/jOywT-22yaA
+
avatar
  • kollj
  • 20 декабря 2018, 12:18
+1
Если кто проверит у себя работоспособность новой версии с NeoPixelBus
залил уже полдня работает, специально не контролирую но вродибы без проблем
+
avatar
  • m5a3x6
  • 20 декабря 2018, 23:06
0
что-то лыжи не едут… не могу понять в чем причина, на ардуине все без проблем завелось, а на wemos d1 mini (esp) ни в какую, ни ArWs2812, ни Liana, ни на D0, ни на D2… не могу сообразить в чем дело. при том вебка стартует можно выбрать режим, к вифи цепляется, а вот лента молчит :(
прошу помощи!
+
avatar
  • kollj
  • 21 декабря 2018, 00:52
0
Что-то изменяли в скетче?
Проверте до ленты подходят от модуля два провода (с сигналом и землей. Как запитана сама лента 5В или сразу от модуля?
+
avatar
  • kollj
  • 21 декабря 2018, 00:54
0
Что-то изменяли в скетче?
Проверте до ленты подходят от модуля два провода (с сигналом и землей. Как запитана сама лента 5В или сразу от модуля?

С правильной стороны подаетте сигнал.
+
avatar
  • m5a3x6
  • 21 декабря 2018, 08:28
0
в скетче менял только SSID и pass

с подключением все ок, питание общее, Din пробовал и на д0 и на д2, даже пробовал переназначить в скетче вообще на другой порт — ничего. Повторюсь, на ардуино все работает, такое ощущение, что на пин ничего не приходит по какой-то причине(
+
avatar
  • Lvr
  • 21 декабря 2018, 09:45
0
Попробуйте какой-нибудь тестовый пример. У ESP уровни 3.3В, у большинства Ардуин — 5В, возможно просто ленте не хватает уровня. Если так, то поможет любой преобразователь уровней 3.3В -> 5В, благо интерфейс односторонний. Схемы на транзисторе легко гуглятся, например chipenable.ru/index.php/how-connection/91-soglasovanie-logicheskih-urovney.html
+
avatar
  • m5a3x6
  • 21 декабря 2018, 13:45
0
что интересно, тестовый код из библиотеки NeoPixelBus вот с таким кодом работает отлично

const uint16_t PixelCount = 4;
const uint8_t PixelPin = 2;
NeoPixelBus<NeoGrbFeature, NeoEsp8266Uart800KbpsMethod> strip(PixelCount, PixelPin);

а вот liana не работает с таким

NeoPixelBus<NeoGrbFeature, NeoEsp8266Uart800KbpsMethod> strip(LEDS, 2)


порт один и тот же gpio2 (на вемосе d4), библиотека одна и так же. непонятно :(
+
avatar
  • m5a3x6
  • 21 декабря 2018, 14:14
0
загорается только один первый диод желтым цветом и все(
+
avatar
  • m5a3x6
  • 22 декабря 2018, 01:24
+1
я не знаю что это было, но оно починилось и работает) лента из 300 диодов, однако в некоторых режимах работают только (примерно) 50 диодов, в каких чуть позже отпишу если надо, речь про скетч liana. самсунговская 2а зарядка тащит это все дело с большим трудом, отдает 2.3-2.5а, иногда вемосу видимо не хватает напряжения (хотя зарядка видимо умная и завышает напряжение на выходе до 5.5в вместо 5.2 вхолостую) и начинается стартовая анимация. видео на ёлке на днях выложу) спасибо огромное!)

З.Ы.: пожалуй, на конец ленты надо еще один такой же бп повесить…
+
avatar
+2
У вемос D2 и GPIO2 это не одно и то же. гпио2 на самом деле D4
Остальные выводы тоже не совпадают. Короче, пробуй перекинуть ленту на д4, а в скетче 2 пин оставить.
+
avatar
  • m5a3x6
  • 21 декабря 2018, 12:14
0
ага, да, спасибо большое, с этим разобрался пока игрался с тестовыми скетчами… но со скетчем автора все равно не работает( пробовал по разному, пробовал и перетыкать и в самом скетче менять, пока продолжаю тыкаться
+
avatar
  • ACKET
  • 31 августа 2019, 17:11
0
Справились? У меня вообще не компилируется. Для нано нормально — работает, а на 8266 компилиться не хочет — что не так?
+
avatar
  • Andrey31
  • 22 декабря 2018, 21:53
0
liana почему-то вообще не стартует(( Еэспишка на wemos D1 борде, индикатор сразу загорается и больше никаких движений( кстати из другой ветки последняя сборка от 11 декабря тоже виснет — когда сама ребутнётся, когда приходится передёрнуть и сети.
+
avatar
  • Lvr
  • 22 декабря 2018, 22:51
0
Может с питанием проблема? Попробуйте уменьшить число диодов.
А ветку websocket_control лучше не смотреть, там нестабильная версия :)
+
avatar
  • Beer100
  • 19 декабря 2018, 13:15
0
Подскажите, как можно убрать ненужные эффекты?
скетч по ссылке автора: github.com/Vasil-Pahomov/ArWs2812
+
avatar
  • Lvr
  • 20 декабря 2018, 11:12
0
1) В anim.cpp нужно убрать из switch (https://github.com/Vasil-Pahomov/ArWs2812/blob/master/anim.cpp#L102) ненужные эффекты, при этом сдвинув метки case так, чтобы они шли последовательно. Например, если убираете эффект Stars, то switch будет выглядеть так:
switch (animInd) {
        case 0: 
            setUpImpl = &Anim::animRun_SetUp;
//пропущено для наглядности
        break;        
        case 3: 
            setUpImpl = &Anim::animRandCyc_SetUp;
            runImpl = &Anim::animRandCyc_Run;
            setUpOnPalChange = true;
        break;   
/* закомментирован выбор эффекта Stars 
        case 4: 
            setUpImpl = &Anim::animStars_SetUp;
            runImpl = &Anim::animStars_Run;
            setUpOnPalChange = false;
        break;    
*/
/ *обращаю внимание - раньше эффект Spread был под меткой case 5, стал под case 4. Остальные эффекты ниже тоже сместили метки, чтобы метки шли последовательно. */
        case 4: 
            setUpImpl = &Anim::animSpread_SetUp;
            runImpl = &Anim::animSpread_Run;
            setUpOnPalChange = false;
        break;     
        case 5: 
            setUpImpl = &Anim::animFly_SetUp;
            runImpl = &Anim::animFly_Run;
            setUpOnPalChange = false;
        break;                       
        case 6: //special
            setUpImpl = &Anim::animBT_SetUp;
//пропущено для наглядности
    }


2) В главном скетче пропорционально уменьшаете количество анимаций: github.com/Vasil-Pahomov/ArWs2812/blob/master/arws2812.ino#L9

Правда, после этих изменений управление через Bluetooth будет работать не всегда некорректно, в приложении для Android тоже нужно обновить список эффектов.
+
avatar
  • Beer100
  • 20 декабря 2018, 11:51
0
Спасибо! А как называется эффект, где лампочки хаотично моргают?
+
avatar
  • Lvr
  • 20 декабря 2018, 16:12
0
Догадываюсь, что это эффект 3 (RandCyc). Лучше посмотрите видео в обзоре, там есть программные имена для всех эффектов
+
avatar
+4
Автору спасибо за отменную идею и разложенное по полочкам руководство! С ардуинами и прочим практически не знаком, провозился целый день — но она РАБОТАЕТ! Сижу не нагляжусь)) Еще раз спасибо!
+
avatar
  • sepryn
  • 25 декабря 2018, 10:07
+1
Большое спасибо автору!
+
avatar
  • misteryo
  • 25 декабря 2018, 13:29
0
сделал, но у меня 50 ламп. Anim.h исправил на 50. но все равно мигают как то быстро и хаотично.совсем непохоже на демо автора(
+
avatar
  • Lvr
  • 26 декабря 2018, 13:44
0
А лента какая? Может поиграть настройками при инициализации (800khz/400khz для начала)
+
avatar
  • sax-ru
  • 02 апреля 2019, 11:44
0
Так же собрал на 50 ламп и лампы моргают быстро и хаотично. лампы вот такие: aliexpress.com/item/50-12-WS2811/32957179920.html менял в настройках 800khz/400khz. Питане ESP от usb, гирлянда от +5V внешнего.
От nano гирлянда работает. Можете помочь с проблемой?
+
avatar
  • sax-ru
  • 03 апреля 2019, 22:02
0
Отвечу сам, вдруг кому пригодится. Если ESP питается от USB, а гирлянда от внешнего источника, то надо объединить земли ESP и гирлянды.
+
avatar
+1
Прежде всего огромное спасибо автору. Именно увидев эту елку я начал эксперименты с ардуино. Вопрос — кто нибудь пробовал приладить в скетч простой ардуиновский ИК пульт?
+
avatar
  • Lvr
  • 26 декабря 2018, 13:45
+1
Я планировал, но ESP меня совратила…
+
avatar
0
И еще… Я тут заказал и получил вот такую примочку к ленте https://ru.aliexpress.com/item/5V-12V-14-Key-Mini-RF-Remote-LED2013-X-Controller-For-LED-RGB-Strip-WS2812B-WS2811/32831162039.html Эффекты там конечно так себе, но пульт уже не IR а радио. Вроде отдельно таких не встречал. Может его оттуда «Выковырять»? )))
+
avatar
  • Lvr
  • 26 декабря 2018, 13:43
0
Можно попробовать, если радиочасть и контроллер физически разнесены. Но это точно будет непросто.
+
avatar
0
Здравствуйте. Возможно ли запустить данный скетч на attiny85? Диодов у меня немного — всего 25 штук. Управление по бл не нужно, нужно лишь красивое мигание.
Последние деньги со степухи потратил на тиньку и ленту, уж очень хочется новогоднего настроения((
+
avatar
  • kollj
  • 25 декабря 2018, 22:22
0
Данный наврялли нужно куча памяти. А вот другую без проблем. Ради интереса в гугле набрал. attiny85 иws8212. И выдало кучу ответов и примеров.
+
avatar
  • Lvr
  • 26 декабря 2018, 13:44
0
Да, на tiny совсем мало памяти, просто так скетч не пойдёт. Нужно хорошо так оптимизировать. Согласен с kollj, проще поискать готовые проекты.
+
avatar
  • Connar
  • 27 декабря 2018, 19:51
0
100 диодов потолок для китайской нано?

youtu.be/8JA_mj-Q3EU?t=80 вот этот режим красивый, не могу найти оригинал видео, там автор писал что он конвертировал спецом мод контролер эти режимы. я в прошлом году такую ставил себе красота, на этот год подарил.
а сам мучаюсь с ардуиной :( хотел на 200 диодов сделать
+
avatar
  • Lvr
  • 28 декабря 2018, 10:15
0
Этот скетч на 2кБ ОЗУ больше 100 диодов не потянет :(
Эффект красивый, возьму на заметку, спасибо!
+
avatar
  • Lvr
  • 28 декабря 2018, 20:37
+5
Доделал до уровня альфа-версии управление под WebSocket, а также добавил управление акселерометром.
В списке появился новый эффект — «Магия». При его выборе при наклоне телефона гирлянда подсвечивается, вращение вдоль «длинной» оси меняет цвет, а резкий «бросок» вперёд подсвечивает всю гирлянду.
Скетч здесь: github.com/Vasil-Pahomov/Liana/tree/websocket_control
Примерно так это выглядит.

Периодически подтормаживает, пока не разобрался, почему. Предполагаю, что из-за связи (слабый WiFi).
+
avatar
  • Lvr
  • 29 декабря 2018, 22:22
0
Перенёс изменения в мастер-ветку: github.com/Vasil-Pahomov/Liana
+
avatar
  • Vovan_a
  • 29 декабря 2018, 21:19
0
А на ESP32 будет работать?
+
avatar
  • Lvr
  • 29 декабря 2018, 23:21
+1
В теории должно, на практике проверить не на чем…
+
avatar
  • OleoMac
  • 04 января 2019, 17:20
0
Доброго дня. Гирлянды улиткой располагаются на ёлке или зиг-загом?
+
avatar
  • Lvr
  • 04 января 2019, 21:39
0
Спиралью, т.е. улиткой. Но на самом деле большой разницы нет.
+
avatar
0
Lvr, в anim.cpp есть такие строки:
bool Anim::run()
{    
    if ( millis()<=nextms) {
        digitalWrite(LED_BUILTIN, LOW);
        return false;
    }
    digitalWrite(LED_BUILTIN, HIGH);
    nextms=millis() + period;

Долго не мог понять, почему 13-я нога не работает :)
Остатки дебага или какой-то сакральный смысл заложен?
+
avatar
  • Lvr
  • 08 января 2019, 22:42
0
Это ещё остатки от Arduino. Там я по «свечению» встроенного светодиода хотел оценивать загрузку процессора, что-то типа ШИМ-а должно было получиться (при работе светится, при простое погашен). В итоге оказалось малоинформативно, и убрать забыл :(
+
avatar
0
Ага. Это в ардуиновской прошивке. В ЕСП — закомментировано.
Просто я рылся у себя в закромах, и нашел парочку Pro mini. А к ЕСП пришлось бы преобразователь уровня прикручивать.
+
avatar
  • Lvr
  • 09 января 2019, 09:41
+1
Да WS2812 и без преобразователя от ESP работает, у меня и не только.
Ну а вообще если Pro Mini лежали без дела, то можно их и использовать, это правильно.
+
avatar
0
Приветствую!) Не знаю, может, только у меня такое: прочитал всё, что нашёл по вашей прошивке, но никто с этим не сталкивался. Добрая половина анимаций в доброй половине палитр работает с жуткими артефактами. Использую ардуину мега, в цепочке 73 диода на внешнем блоке 5В 40А. Такое происходит на всех ШИМ-пинах. В чём может быть проблема?(((
+
avatar
  • kollj
  • 09 января 2019, 18:43
+1
скорее всего проблема в ленте (гирлянде). если не трудно укажите что за диоды у Вас. может не на 5 вольт а не 12 или еще варианты.
+
avatar
0
Диоды на 5В. Сторонние скетчи работают идеально, примеры работают тоже идеально. А именно Ваша прошивка не хочет работать правильно почему-то
+
avatar
  • Lvr
  • 09 января 2019, 21:01
+1
Согласен с kollj. Также — земли питания ленты и контроллера объединены?
+
avatar
0
Питание ленты и ардуинки на одной шине
+
avatar
  • kollj
  • 10 января 2019, 19:01
+1
все таки ваши симптомы больше показывают на качество питания. попробуйте от своего блока питания отдельным проводом запитать саму ардуину и отдельным проводом запитать ленку.
+
avatar
0
Эту прошивку в контроллер т1000s можно как-нибудь примастырить?
+
avatar
  • Lvr
  • 11 января 2019, 13:01
+1
Не скажу, не сталкивался с таким контроллером. Насколько смог нагуглить сходу, он закрытый и позволяет только видосики загружать. Т.е. теоретически, наверное, можно. Но практически скорее всего проще заказать Arduin-у или ESP и подключить к ним :)
+
avatar
0
Так и не разобрался ещё даже. С питанием порядок, просадка 0,15В, питание в трёх точках идёт, но, по-прежнему, без изменений
+
avatar
  • Lvr
  • 11 января 2019, 13:02
+1
Какие примеры работают нормально? Возможно там параметры инициализации другие, например частота шины.
+
avatar
0
Неверно работает стартовая, спаркр, пиксельдаст и ещё несколько. Смена частоты 400<->800 не даёт результата
+
avatar
  • kollj
  • 11 января 2019, 18:27
+1
так все таки что за светики у Вас. может фото поможет определить?
+
avatar
0
Светики 2812 с али)
Это просто магия какая то
+
avatar
  • kollj
  • 11 января 2019, 21:24
+1
вопрос задавался уже второй раз какие у вас светики, ответ примерно угадай сам светики от туда светики 5 вольтовые светики 2812. по мне информации очень мало. по этому очень трудно догадаться в реальных причинах, что у вас происходит.
+
avatar
0
Не хотят админы ссылки тут оставлять) в общем, обычные на белой подложке на матрице 10*10
+
avatar
  • kollj
  • 12 января 2019, 19:03
+1
попробуйте сначала по 10 подпаивать и запускать. возможно что то с пайкой или партия такая. тоесть если по середине один не работает то дальше будет ерунда
+
avatar
0
Хорошо, я попробую:)
+
avatar
+1
Проблема закралась там, где её никто не ждал: выходной каскад китайского ИБП «шумит» на частоте 1кГц-это и даёт сбой в работе скетча, причём не только указанного в этой статье
+
avatar
  • Lvr
  • 13 января 2019, 12:25
+1
Очередное подтверждение тому, что чудес не бывает :)
kollj говорил, что похоже на проблему с питанием, так и оказалось.
Но хорошо что всё разрешилось!
+
avatar
+1
Так же могу добавить, что неободимо подрегулировать напругу потенциометром) не должно быть более 5,1В-тоже артефакты будут)))
Но всё же опыт как никак) потому всем спасибо за участие)))
+
avatar
  • zigenna
  • 14 января 2019, 23:14
0
Запустил скетч на Ардуино Нано все работает, но постоянно горит первый светодиод зеленым. Что может быть?
+
avatar
0
может непропай какой. у меня все ок.
или брак светодиода, хотя сам в этой теме только недавно… но глюки уже были во всяких поделках, когда цвета не те и не так горели. но там был плохой контакт и коротило на землю именно пина данных.
+
avatar
  • Lvr
  • 15 января 2019, 14:52
0
Возможно действительно брак светодиода. Попробуйте пустить линию данных на второй, в обход первого. Если второй не будет гореть зелёным — значит явно проблема в светодиоде.
+
avatar
  • zigenna
  • 15 января 2019, 17:04
0
На другом скетче работает как надо. «Железо» тоже самое.
+
avatar
0
Рекомендую проверить напряжение питания. Более 5,1 вольта быть не должно. Я уже сталкивался с этой проблемой
+
avatar
  • zigenna
  • 17 января 2019, 18:50
0
Спасибо за советы. Жду другую ленту и попробую с этим же «железом» и БП.
+
avatar
  • zigenna
  • 24 января 2019, 17:39
0
Получил другую ленту. Первый светодиод зеленым горит по-прежнему. Менял блоки питания и пробовал от USB. Вот такая заковыка.
+
avatar
0
так если центральную жилу к след светодиоду перенести. то он зеленый будет? значит ардуинка что то шалит с сигналом на первый… либо наводки какие на сигнальный провод… с GRN-дом его обмотайте, если они длинные у вас до гирлянды от ардуинки…
+
avatar
  • zigenna
  • 25 января 2019, 19:50
0
Вы читали мои сообщения? Почему на других скетчах первый светодиод не горит зеленым? Пробовал несколько скетчей.
+
avatar
  • Lvr
  • 27 января 2019, 17:18
0
Уже был случай, когда скетчи-примеры работали нормально, а мой барахлил. Правда, там проблема была в качестве питания. Но всё равно, работа других скетчей не 100% указывает на исправность аппаратуры.
Какие у вас светодиоды?
Также попробуйте уменьшить количество светодиодов до, допустим, 10, и в основном скетче в строке
anim.setPeriod(20);
(https://github.com/Vasil-Pahomov/ArWs2812/blob/master/arws2812.ino#L55) поменять 20 на 500. Это уменьшит скорость обновления светодиодов. Есть смутное предположение, что проблема может быть в этом.
+
avatar
  • zigenna
  • 28 января 2019, 20:00
0
Первая лента -https://ru.aliexpress.com/item/DC5V-WS2812B-1-4-5-30-60-74-96-144-s/32832420003.html?spm=a2g0s.9042311.0.0.747833edWIU5j7
Задействовано 60шт
Вторая эта -https://ru.aliexpress.com/item/DC5V-WS2812B-1-4-5-30-60-74-96-144-s/32832420003.html?spm=a2g0s.9042311.0.0.747833edWIU5j7
задействовано 40 шт,
Изменение параметра 20 на 500 не повлияло на работу.
Спасибо за долготерпение и внимание ко мне, на этом всё.
+
avatar
0
А какой именно скетч глючит?
+
avatar
  • Dzedun37
  • 27 сентября 2019, 17:27
0
Какой пин ардуино использовал для управления лентой? На 13 пине будет именно такая беда.
+
avatar
+1
Купил 2 гирлянды по 50 светодиодов, на 5В. Прошил нано на 100 диодов. При прошивке написало, что мало памяти. Но все заработало. Два часа работает, полет нормальный. Скоро Новый год. Готовь сани летом.
+
avatar
  • Onegin45
  • 11 октября 2019, 23:42
0
Очень давно не заходил в эту ветку. Был приятно удивлен внедрением в проект esp, благо есть в наличии. Осюда два вопроса — где в данный момент лежит актуальная версия проекта под esp, и нет ли в ней готовых файлов прошивки, чтоб не ставить ИДЕ и не копились самому, а просто залить флешлоадером. Автору спасибо за труд, на белой елке смотрится изюмительно :)
+
avatar
  • Lvr
  • 12 октября 2019, 17:00
0
Актуальная версия находится тут: github.com/Vasil-Pahomov/Liana
Файлов прошивки выкладывать пока не планировал, т.к. прошивка очень сырая. В частности, SSID и пароль сети вбиты в прошивку, т.е. нужно перекомпилировать её, чтобы подключиться к другой сети WiFi.
Вот всё же бинарник для NodeMCU: github.com/Vasil-Pahomov/Liana/raw/master/Liana.ino.nodemcu.bin
Он работает автономно (как и для Arduino), а также допускает подключение для управления в режиме точки доступа.
+
avatar
  • Onegin45
  • 12 октября 2019, 17:52
0
Спасибо, приедет гирлянда, буду пробовать.
+
avatar
+1
ТС, спасибо за труд, залил бинарник — все отлично заработало. Обновления прошивок ждать стоит? Отписывайтесь, пожалуйста в этой теме?
+
avatar
  • ezocon
  • 12 ноября 2019, 10:07
0
Добрый день, а как то можно поставить пароль на точку доступа, что прошивка создает? Я думаю залить эту версию на гирлянду для родителей и для них будет сложно все эти приколы с роутером, а тут по сути всегда известный адрес)
+
avatar
+1
В скетче это все можно настроить.
+
avatar
  • Lvr
  • 13 ноября 2019, 20:06
0
Можно, для этого в строке 36 файла wifi.ino (https://github.com/Vasil-Pahomov/Liana/blob/master/wifi.ino#L39) вместо
WiFi.softAP(WIFI_AP_SSID);

нужно вписать
WiFi.softAP(WIFI_AP_SSID,"XXX");

где XXX заменить на нужный пароль
Нескромный вопрос: а зачем пароль? Гирлянда работает и без подключения к роутеру.
Разве что застраховаться от соседей, чтобы не пугали родителей :)
+
avatar
  • ezocon
  • 05 декабря 2019, 14:41
0
Ну примерно так. Без подключения к роутеру она работает в режиме все подряд, а иногда хотят какой то один режим или изменить палитру.) Спасибо за помощь.
+
avatar
  • Lvr
  • 05 декабря 2019, 14:52
0
С палитрой баг был, она не менялась в процессе работы. Уже исправлен (меняется случайно, в соответствии с начальной задумкой)
+
avatar
  • Saloed
  • 30 октября 2019, 18:55
0
Скоро Новый год! Обновляю всю гирлянду и так поняла что у меня в WS2811 не правильные цвета получаются.
Как я понимаю менять надо в этой строчке
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(LEDS, PIN, NEO_GRB + NEO_KHZ800); 

А как правильно для 2811 или методом тыка.
+
avatar
+1
В этой строке GRB меняй на RGB
+
avatar
0
Раз уж оживились, подскажите.
Залил на ESP-01, лента работает, web морда не открывается. В роутере выставил статический айпи, не помогает. Захожу с браузера — лента замирает, но страница не открывается. В роутере айпи пингуется. Скетч из темы, с раздела esp. Где покопать?
+
avatar
  • Lvr
  • 02 ноября 2019, 20:44
+1
Скорее всего что-то в настройках компиляции. Скетч из мастер-ветки github.com/Vasil-Pahomov/Liana?
Плата верная выбрана? Можно попытаться настройками платы поиграться. У меня на китайский LoLin nodemcu v3 настройки такие:

Другие скетчи с web-сервером работают нормально?
+
avatar
0
Скетч отсюда: https://github.com/Vasil-Pahomov/ArWs2812/tree/esp компилируется без ошибок.
Вот настройки платы:

Лиану не смог скомпилировать, ругается на кучу библиотек.
+
avatar
  • Lvr
  • 03 ноября 2019, 17:27
+1
Ту ветку я поддерживать не буду больше, теперь всё в лиане. Но ради интереса попытался скомпилить — работает, web открывается.
Можно попробовать бинарник: github.com/Vasil-Pahomov/Liana/raw/master/Liana.ino.nodemcu.bin
По крайней мере так можно отсеять аппаратную проблему от проблем компиляции.
Так а плата-то какая?
+
avatar
0
Так а плата-то какая?

Нарисовалась другая проблема — переустанавливал arduino-1.8.10, почистил всё где нашёл. Сейчас менеджер плат не ставится, не грузится архив, браузер тоже не скачивает архив. А вот опера через впн скачивает архив esp8266-2.5.2.zip. Как им дальше воспользоваться не пойму, что бы платы в списке появились? Куда его подсунуть? Гугл внятного ответа не дал. И да, шью пока через Arduino Uno, USB — UART что то долго едет.
+
avatar
  • Lvr
  • 04 ноября 2019, 19:53
+1
Извиняюсь, проглядел в исходном сообщении, что у Вас ESP-01. К сожалению с такими не работал, ничего не могу сказать.
Чтобы менеджер плат скачать через Arduino, можно попробовать VPN системного уровня, например protonvpn.
+
avatar
0
попробовать VPN
Благодарю, платы установились
+
avatar
0
теперь всё в лиане
Подскажите по ошибке при компиляции, вроде и по русски написано, но не могу победить
+
avatar
  • flopic
  • 07 ноября 2019, 18:11
0
У меня такие же проблемы
+
avatar
  • Lvr
  • 07 ноября 2019, 22:01
0
Очень странно, ESP8266WiFi.h — это часть пакета для ESP. Возможно где-то с путями проблема. Попробуйте может полностью переустановить Arduino и пакет board для ESP.
+
avatar
0
может полностью переустановить Arduino
Трижды переустанавливал, не помогает.
+
avatar
  • MaBo
  • 08 ноября 2019, 20:17
0
такой же глюк ловлю.
Пути ес-но другие.
Вопрос к автору. Скажите какая версия Arduino IDE у вас. И какая версия пакета плат для ESP.
+
avatar
  • Lvr
  • 08 ноября 2019, 22:27
0
Arduino 1.8.10, ESP 2.5.2
Буквально вчера обновил версию ESP, была 2.4.2. При этом потребовалось обновить NeoPixelBus до последней версии. Но компилировалось и работало успешно как с ESP 2.4.2, так и с 2.5.2.
А если попробовать скомпилить пример File->Examples->ESP8266WebServer->HelloServer? Там тоже подключается ESP8266WiFi.h. По крайней мере поймём в чём проблема — в установке Arduino/ESP или всё же в скетче.
+
avatar
  • flopic
  • 09 ноября 2019, 06:58
+1
Решил проблему так:

1. очистил папки
C:\Users\user\Documents\Arduino\libraries
C:\Users\user\AppData\Local\Arduino15

2. прописал в настройках ссылку для менеджера плат
arduino.esp8266.com/stable/package_esp8266com_index.json

3. Через менеджер плат установил ESP8266 community v2.5.2

4. установил библиотеки WebSockets и NeoPixelBus by Makuna v2.5.2

5. В файл C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\libraries\SoftwareSerial\src\SoftwareSerial.h
дописал #include <sys/types.h>

И у меня всё скомпилилось без ошибок
Но не заработало на втором компе

6. скопировал все библиотеки из C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\libraries
и вставил в C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries

И опять всё скомпилилось на ура

Да и не забудьте выбрать свою плату перед компиляцией!
+
avatar
0
попробовать скомпилить пример File->Examples->ESP8266WebServer->HelloServer? Там тоже подключается ESP8266WiFi.h.
+
avatar
0
Кто силён в arduino-1.8.10, подскажите — при удалении где всё почистить и в какой последовательности всё правильно установить?
+
avatar
  • MaBo
  • 09 ноября 2019, 11:32
+2
1.Сохраняете все свои скетчи. По дефолту лежат здесь: C:\Users\Maxim\Documents\Arduino
2. запускаете uninstal. По дефолту лежит здесь C:\Program Files (x86)\Arduino
3. удаляете всю папку C:\Users\Maxim\AppData\Local\Arduino15
4. Перезагрузка.
5. Скачиваете последний Arduino IDE с сайта
6. Прописываете путь к платам ESP в настройках IDE arduino.esp8266.com/stable/package_esp8266com_index.json
7. Выбираете свою плату в менеджере плат
8. Ставите необходимые библиотеки

У меня ошибки про несколько библиотек ушли. Как мне показалось, это связано с обновлением компонентов Python. По дефолту это должно происходить без участия пользователя. Но если вдруг будут такие ошибки попробуйте поставить на комп Python.
+
avatar
  • Lvr
  • 09 ноября 2019, 13:27
+1
Спасибо за совет! Тоже раздражали ошибки про несколько библиотек. Сделал по инструкции, но установил последнюю версию плат ESP (2.6.0). Компиляция начала валиться с ошибками unknown type name 'uint32_t'. Поменял версию плат на 2.5.2 — всё стало хорошо, и ошибки про несколько библиотек тоже пропали.
Только ещё нужно не забыть исправлять `ssize_t` на `size_t` в c:\Users\XXX\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\libraries\SoftwareSerial\src\SoftwareSerial.h
+
avatar
  • Lvr
  • 09 ноября 2019, 17:02
+2
Виноват, в SoftwareSerial.h не нужно исправлять ssize_t, правильно будет добавить #include <sys/types.h> в самое начало файла. Хотя у меня работает и с исправленным на size_t :)
+
avatar
  • Lvr
  • 09 ноября 2019, 12:40
+1
Похоже, много кто смотрит за обновлениями Лианы здесь, буду отписываться. Недавно залил в master несколько новшеств:
— при подключении в режиме точки доступа включается Captive Portal (запрос на авторизацию в сети, как часто делают в публичных сетях). По открытию запроса сразу показывается web-морда, не надо вбивать в браузере 192.168.4.1
— поиск сети происходит параллельно с анимацией, т.е. нет задержки при включении.
Также буду рассматривать хотелки, просьба писать здесь или на гитхабе.
+
avatar
0
1. Выполнил:
1.Сохраняете все свои скетчи. По дефолту лежат здесь: C:\Users\Maxim\Documents\Arduino
2. запускаете uninstal. По дефолту лежит здесь C:\Program Files (x86)\Arduino
3. удаляете всю папку C:\Users\Maxim\AppData\Local\Arduino15
4. Перезагрузка.
5. Скачиваете последний Arduino IDE с сайта
6. Прописываете путь к платам ESP в настройках IDE arduino.esp8266.com/stable/package_esp8266com_index.json
7. Выбираете свою плату в менеджере плат
8. Ставите необходимые библиотеки
2. Проверил
скомпилить пример File->Examples->ESP8266WebServer->HelloServer
компилируется без ошибок.

3. Пробую лиану:

… не знаю что ещё сделать?
+
avatar
  • flopic
  • 09 ноября 2019, 16:03
+1
скопировать все библиотеки из C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\libraries
и вставить в C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries
+
avatar
0
скопировать все библиотеки
скопировал с заменой

Спасибо, парни, что отвечаете. Не помогло.
Добавлю информации на всякий случай: дополнительно поставил Python, ос — Win10.
Менеджер плат все грузят через впн?
Ещё добавлю:
4. установил библиотеки WebSockets и NeoPixelBus by Makuna v2.5.2
из этого поставил только NeoPixelBus by Makuna, WebSockets — не совсем понимаю что ставить, в поиске менеджера библиотек такой не вижу
5. В файл C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\libraries\SoftwareSerial\src\SoftwareSerial.h
дописал #include <sys/types.h>
это действие тоже не выполнял, автор скетча про него не упоминает.
+
avatar
  • Lvr
  • 09 ноября 2019, 17:04
+1
Для установки WebSockets нужно качать zip отсюда: github.com/Links2004/arduinoWebSockets/archive/master.zip и добавить его в Adruino через меню Скетч -> Подключить библиотеку -> Добавить .ZIP библиотеку.
C SoftwareSerial.h всё верно, нужно добавить #include <sys/types.h>, иначе будет ругаться на ssize_t (https://github.com/esp8266/Arduino/issues/6482)
+
avatar
0
добавить его в Adruino через меню Скетч -> Подключить библиотеку -> Добавить .ZIP библиотеку
пошёл на второй круг — вернулся к тому с чего начинал несколько дней назад

C SoftwareSerial.h всё верно, нужно добавить #include <sys/types.h>
можно по подробней, для чайников?
+
avatar
  • MaBo
  • 09 ноября 2019, 18:20
+2
открываете файл SoftwareSerial.h любым текстовым редактором.
Файл лежит здесь C:\Users\Maxim\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\libraries\SoftwareSerial\src

В начале файла будет блок

#include <inttypes.h>
#include <Stream.h>
#include #include вот после него надо вставить
#include <sys/types.h>

и файл сохранить.
после этого пробуйте загрузить файл. Компилятор будет ругаться, но это warning, а не error. Т.е. скетч должен загрузиться.
+
avatar
+1
открываете файл
исполнил
компилирую
Уррраааа!

Вроде как всё благополучно.
+
avatar
  • flopic
  • 09 ноября 2019, 19:35
0
web интерфейс работает?

у меня при попытке зайти в веб происходит ресет платы и запускается приветственная анимация((
+
avatar
  • MaBo
  • 09 ноября 2019, 20:16
0
А что при этом монитор порта говорит? А то у меня и приветствия нет.
+
avatar
  • flopic
  • 09 ноября 2019, 20:21
0
Exception (3):
epc1=0x4021653c epc2=0x00000000 epc3=0x00000000 excvaddr=0x4024affb depc=0x00000000

>>>stack>>>

ctx: cont
sp: 3ffffca0 end: 3fffffc0 offset: 01a0
3ffffe40: 4024affb 3fff0d84 00000000 40210abc
3ffffe50: 00000000 fffee9fc 3fff0d5c 40201116
3ffffe60: 00000000 00000000 ffff0d5c 402068d0
3ffffe70: 00000000 402068e0 3fff0d5c 401000a9
3ffffe80: 3fff0d5c 3ffeea44 3ffffeb0 402074d2
3ffffe90: 00000000 00000000 fffeea00 402105ec
3ffffea0: 3fff0d5c 3ffeea44 3ffeea00 4020755d
3ffffeb0: 0000002f 00000000 00000000 00000000
3ffffec0: ff2f5054 3ffef06c 3fff0f78 4010015b
3ffffed0: 3ffeea28 3ffeeab4 00000001 40209fc1
3ffffee0: 00000001 4bc6a7f0 00000000 0000000f
3ffffef0: 00000000 00000000 4bc6a7f0 3ffe84dc
3fffff00: 00000001 3ffeea28 3ffeea00 402077b0
3fffff10: 00000000 00000001 3ffef0dc 4020905a
3fffff20: 00000000 4bc6a7f0 d126e978 00000000
3fffff30: 3ffee82c 00000001 3ffef34c 40201a18
3fffff40: 3ffeeaf0 3ffeeaf0 401004ac 40201a51
3fffff50: 00000000 c080fdf4 3ffe856c 00000000
3fffff60: 00440611 3ffef37c 4021149c 3fffefa0
3fffff70: 3ffe872c 00000014 3ffef34c 3ffe84dc
3fffff80: 3ffeeaf0 00000000 3ffef34c 40201bcb
3fffff90: 00000000 00000000 00000001 3ffef37c
3fffffa0: 3fffdad0 00000000 3ffef34c 4021154c
3fffffb0: feefeffe feefeffe 3ffe856c 4010087d
<<<stack<<<

ets Jan 8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v8b899c12
~ld
Entering setup
(start)Setup done
IP address: 192.168.0.54
mDNS responder started

Приветствие я имею в виду стартовую анимацию
+
avatar
  • MaBo
  • 09 ноября 2019, 20:41
0
У меня аналогично. Если меняете режимы в вебморде в мониторе порта что-то меняется?
+
avatar
  • flopic
  • 09 ноября 2019, 20:44
0
в вебморду не могу попасть совсем, всё виснет как только я набираю ip в адресной строке.

сейчас пробую расшифоровать, на что ругается
+
avatar
  • flopic
  • 09 ноября 2019, 20:51
0
Decoding stack results
0x40210abc: String::equals(String const&) const at C:\Users\������\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\cores\esp8266\WString.cpp line 498
0x40201116: std::_Function_handler ::_M_invoke(const std::_Any_data &) at C:\Users\Андрей\Desktop\Liana/webserver.ino line 11
0x402068d0: String::operator!=(String const&) const at C:\Users\������\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\cores\esp8266/WString.h line 188
0x402068e0: FunctionRequestHandler::canHandle(HTTPMethod, String) at C:\Users\������\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\libraries\ESP8266WebServer\src\detail/RequestHandlersImpl.h line 20
0x401000a9: std::function ::operator()() const at c:\users\������\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2/functional line 2465
0x402074d2: FunctionRequestHandler::handle(ESP8266WebServer&, HTTPMethod, String) at C:\Users\������\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\libraries\ESP8266WebServer\src\detail/RequestHandlersImpl.h line 44
0x402105ec: String::String(String const&) at C:\Users\������\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\cores\esp8266\WString.cpp line 41
0x4020755d: ESP8266WebServer::_handleRequest() at C:\Users\������\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\libraries\ESP8266WebServer\src\ESP8266WebServer.cpp line 599
0x4010015b: esp8266::polledTimeout::timeoutTemplate >::expiredOneShot() const at C:\Users\������\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\cores\esp8266/PolledTimeout.h line 216
0x40209fc1: esp8266::MDNSImplementation::MDNSResponder::_updateProbeStatus() at C:\Users\������\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\libraries\ESP8266mDNS\src\LEAmDNS_Control.cpp line 1121
0x402077b0: ESP8266WebServer::handleClient() at C:\Users\������\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\libraries\ESP8266WebServer\src\ESP8266WebServer.cpp line 308
0x4020905a: esp8266::MDNSImplementation::MDNSResponder::update() at C:\Users\������\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\libraries\ESP8266mDNS\src\LEAmDNS.cpp line 1124
0x40201a18: webRun() at C:\Users\Андрей\Desktop\Liana/webserver.ino line 52
0x401004ac: millis() at C:\Users\������\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\cores\esp8266\core_esp8266_wiring.cpp line 186
0x40201a51: wifiLoop() at C:\Users\Андрей\Desktop\Liana/wifi.ino line 30
0x4021149c: esp_yield() at C:\Users\������\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\cores\esp8266\core_esp8266_main.cpp line 91
0x40201bcb: loop() at C:\Users\Андрей\Desktop\Liana/Liana.ino line 105
0x4021154c: loop_wrapper() at C:\Users\������\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\cores\esp8266\core_esp8266_main.cpp line 125

Что это значит и как с этим бороться ХБЗ ((
+
avatar
  • Lvr
  • 09 ноября 2019, 23:46
+2
Внезапно и у меня начала проявляться такая же проблема. После шаманств с откатом изменений, переустановкой Arduino и библиотек, полной чисткой флеша ESP и медитаций на stacktrace пришло озарение. Фикс залит в мастер-ветку, мне помогло.
flopic просьба проверить.
+
avatar
  • flopic
  • 10 ноября 2019, 06:46
+2
Шаман!
Всё заработало с новым скетчем без дополнительных манипуляций.
Жму руку!
+
avatar
0
web интерфейс работает?
Не прошивал, только скропилировал. Завтра прошью, сегодня нет возможности, но хотя бы добился компиляции без ошибок
+
avatar
  • MaBo
  • 09 ноября 2019, 20:10
+1
Раз автор предложил этот топик, то пишу сюда :-)
У меня такая проблема. Веб морда грузится. Гирлянда не горит. Выбираю в веб морде режимы- наблюдаю в консоли:

[0] Connected from 192.168.1.221 url: /
Text: SFF00, data:65280, a:255, p:0Text: S0, data:0, a:0, p:0(start)Text: S100, data:256, a:1, p:0(run)Text: S101, data:257, a:1, p:1(run)

и всё. Как я понимаю должен запуститься anim->(run), но этого не происходит.
Раз можно писать хотелки, может сделать отдельный тестовый режим?

Библиотека Websokets от Link2004 есть в менеджере библиотек. Я ставил оттуда (вдруг это важно)
пробовал лить бинарник- ВебСокетс не поднимается. В мониторе порта Connecting…

to andronnag Попробуйте выбрать другую плату и настройки как у автора выше скрин был.
+
avatar
  • Lvr
  • 09 ноября 2019, 23:56
0
В консоли всё верно, при управлении с морды anim-> не пишется (пишется только при переключении по времени). Возможно что-то с гирляндой (питание на неё не идёт, или к неправильному пину подключена, или обрыв где-то). Скетч судя по всему работает нормально.
Другие скетчи гирлянду заводят?

С бинарником тоже странность, не знаю как объяснить. Плата у вас такая же, Lolin NodeMCU v3?

Спасибо за указание на WebSockets, действительно можно ставить из менеджера. Исправлю в readme.
+
avatar
  • MaBo
  • 10 ноября 2019, 23:40
0
У меня гирлянда типа WS2811 на 12 вольт. 100 светодиодов. Плата такая же. Для теста попробовал запустить пример из NeoPixel (NeoPixelTest и NeoPixelCylon)- загораются первые 5 светодиодов в белый цвет и все. Тот же скетч на UNO запускает гирлянду без проблем.Стал курить wiki к библиотеки. Пока безрезультатно…
+
avatar
  • Lvr
  • 11 ноября 2019, 17:49
0
Выглядит странно. Я бы попробовал поиграться методами «доступа» в светодиодам github.com/Makuna/NeoPixelBus/wiki/NeoPixelBus-object#neo-methods
+
avatar
  • MaBo
  • 11 ноября 2019, 19:13
+1
Всё взлетело! Сначала полная очистка через ESPTool. Потом залил скетч. Всё супер.
Василь, вам огромное спасибо.
Наверное стоит указать, что взлетело на версии плат для ESP 2.5.2. На 2.6 у меня тоже не компилится.
В качестве стариковского брюзжания. Разобраться с параметрами плат, тот ещё квест. У меня прошилось и как для Generic, так и для NodeMCU (0.9). А вот некоторый параметры к этим платам я так и не понял.
+
avatar
  • Lvr
  • 10 ноября 2019, 14:58
0
И что за тестовый режим? Не совсем понял идею…
+
avatar
0
web интерфейс работает?
Спасибо всем!
Всё работает, web тоже работает. Пока гоняю на макетке, буду корпус думать.
+
avatar
0
Ребят, проконсультируйте.
Методом проб определил, что ESP запускается только до подключения ленты:
1. если одновременно подать питание — не запускается, если сначала ленту подключить, потом ESP — не запускается, вернее запускается — диод горит, ресет срабатывает, но к сети не подключается и на пин ничего выводит;
2. если сначала на ESP подать питание, а затем на ленту — то всё работает штатно.

Всё запитано от одного импульсника 5 В, 5А, параллельно лента и ESP, ESP через стабилизатор 5В-3,3В, земли стабилизатора и ленты объединены. Понятно, что проблемы по питанию, но как решить?
+
avatar
0
Скорее всего просадка по питанию, тк лента при включении рандомно зажигает диоды… Пробуйте другой блок питания. Мне замена помогла победить подобный глюк.
+
avatar
  • Lvr
  • 13 ноября 2019, 20:09
0
Согласен с Onegin45, похоже на проблемы с питанием. В идеале померять напряжение на ESP до и после подключения ленты.
+
avatar
  • Lvr
  • 24 ноября 2019, 18:32
+2
Обновил версию на Github: добавлена возможность задавать настройки WiFi из web-интерфейса.
Также перевёл интерфейс на английский (прошу прощения, это моя слабость), и по умолчанию установил 150 светодиодов в гирлянде, т.к. недавно докупил себе ещё кусочек.
Буду признателен за обратную связь
+
avatar
0
Спасибо :)
Есть возможность в веб интерфейс добавить число светодиодов в ленте?
+
avatar
  • Lvr
  • 24 ноября 2019, 23:33
0
Это в ближайших планах
+
avatar
+1
Фидбек:

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

Алгоритм был такой:
1. Прошил через ардуино. Плата не стала точкой доступа а сразу пошла стучаться в роутер. У меня она была привязана жестко к айпи. Попробовал зайти на айпи — тайм-аут.
2. Прошил через бин файлы, естественно то же самое, но в какой то момент смог достучаться до платы по айпи и переключить ее в настройках в точку доступа.
3. Ещё раз прошился через ардуино иде, так как кол-во светодиодов у меня не дефолтное и бин файл пока не мой вариант.
4. Плата таки стала точкой доступа, но при попытке зайти на 192.168.4.1 происходит бесконечный 302 редирект.

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

Конечно можно было выключить вайфай и по идее ап на плате появилась наверно (как это было на предыдущем релизе), но это немного геморно :)

Не знаю, возможно эксперимент не чистый, но когда на шаге 2 достучался до платы, показалось, что интерфейс стал менее отзывчив. Как будто дольше загружается.
+
avatar
  • Lvr
  • 25 ноября 2019, 16:09
0
Я знаю только как это сделать через Arduino IDE — при прошивке в Tools выбрать Erase Flash: Sketch + WiFi Settings или All flash contents. Как при прошивке бинарника затереть настройки не знаю. Разузнаю — обязательно впишу.
Про задумчивость интерфейса не знаю что сказать. Сам иногда наблюдаю, что после рестарта платы долго грузится начальная страница, но после вроде всё работает адекватно.
+
avatar
+1
Насколько я понимаю, можно или прошить бланк в память, который просто затрет все, что там есть или через esptool.py очистить eprom командой
python esptool.py -p com6 erase_flash

А вот тут есть метод как очистить конкретно участок памяти где данные о сети.

Вчера уже не было времени все это проверять, вечером затестю и отпишусь.
+
avatar
  • Lvr
  • 25 ноября 2019, 17:09
0
Спасибо, буду благодарен за решение!
А инструкцию я специально делал для Flash Download Tools, а не esptool, чтобы она была проще.
Но если по-другому никак, переделаю для esptool (сам-то им и пользуюсь).
+
avatar
0
Вот какой итог.
1. Все три способа очистки памяти работают, что через IDE, что через прошивку бланка (не важно, esptool или esp8266 download tool), что через команду выше erase_flash. Для кого-то я думаю это не новость, но наверняка в топике найдутся те, кому пригодится.
2. Если заливать в esp bin файлы c гитхаб-инструкции, то все корректно работает.
3. Танцы начинаются, если заливать прошивку через arduino ide, на тот момент я пробовал лить уже на «чистую» esp. После заливки прошивки точка доступа появляется, при коннекте к ней открывается сайт _msftconnecttest.com и виснет в бесконечном редиректе (с разных браузеров и устройств).



Если же вручную перейти на 192.168.4.1, то и там начнется 302 редирект на саму себя, вот он:



Настройки в ардуино иде стоят такие:


Получается, что или код предкомпилированного гитхабовского bin отличается или при сборке в ардуино что-то идет не так.
+
avatar
  • Lvr
  • 26 ноября 2019, 12:08
0
Прошу прощения, моя вина. В readme не описал, что нужно загрузить файлы в SPIFFS. Для этого нужно поставить плагин github.com/esp8266/arduino-esp8266fs-plugin, в меню Tools появится пункт ESP8266 Sketch Data Upload. Его и нужно выбрать при загруженном скетче.
Добавил в readme.
+
avatar
0
Спасибо, на этот раз уже у автора плагина проблемы, которые коснулись и меня.
Ждем исправления целой толпой: github.com/esp8266/arduino-esp8266fs-plugin/issues/64
+
avatar
  • Lvr
  • 27 ноября 2019, 09:12
0
Я так понял проблема с версией плат 2.6.1. Рекомендую поставить 2.5.2, у меня с 2.6.0 не компилировалось, похоже какая-то из библиотек не обновлена была. Пока разбираться не стал.
+
avatar
+1
Только что скомпилил на 2.6.2 и ардуино иде 1.8.10
Прошивал на NodeMCU
Плагин тоже обновился и работает.
Веб морда работает. Андроид сам нашел плату нормально.
Через настройки подключил к своему роутеру почему-то со второй попытки.
Ленту не подключал.
PS Проблем как у народа выше не наблюдал, иде установлена давно, обновлял много раз.
+
avatar
  • alext11
  • 04 декабря 2019, 22:37
0
У меня такая же проблема как у Dude_Skywalker. Прошивал на NodeMCU v3 версия плат 2.5.2, ардуино 1.8.10, залил скетч после этого ESP8266 Sketch Data Upload с результатом «SPIFFS Upload failed!», но Веб морда неработает. скетч —
«04 декабря 2019, 21:59

Выложил обновление — теперь количество светодиодов можно задавать из web-морды. Правда после установки плату нужно рестартануть.»
+
avatar
  • alext11
  • 04 декабря 2019, 23:17
0
Проблема решена по примеру — KarlikNos, на версии плат 2.6.2
+
avatar
0
В моём случае проблема в том, что ошибка на любой версии плат, так что я среди тех, кто ждёт апдейт :)
+
avatar
0
Сам плагин генерит bin файл для заливки во spiffs. Нужно взять этот файл (он лежит в папке temp, путь до него пишется в логах) и залить его вручную в есп через например есптул. Указать при этом адрес в памяти куда его заливать, адрес тоже пишется в логах, которые выдаёт плагин, чуть выше ошибки. Костыли, конечно, но работает.
+
avatar
  • alext11
  • 04 декабря 2019, 23:30
0
Спасибо за ответ, но проблему я уже решил таким макаром — скачал плагин отсюда: github.com/esp8266/arduino-esp8266fs-plugin/releases/tag/0.5.0
обновил версии плат на 2.6.2 и все залилось через ардуино иде. Все стартануло с первого раза.
+
avatar
0
У вас в настройках 5 строка меню no SPIFFS
Копать тут.
+
avatar
  • Lvr
  • 25 ноября 2019, 22:43
0
Напутствие всем, кто будет повторять: внимательно проверяйте полярность включения гирлянды! Сеголня неудачным эксперимента и сжёг 22 диода. Хоть и говорят что WS2812b защищена от переполюсовки, но китайцы такие китайцы…
Утешаю себя тем, что теперь в гирлянде круглое число светодиодов — 128. :)
+
avatar
0
У меня только первый диод сгорал при переполюсовке.
+
avatar
  • Lvr
  • 04 декабря 2019, 21:59
+1
Выложил обновление — теперь количество светодиодов можно задавать из web-морды. Правда после установки плату нужно рестартануть.
+
avatar
  • alext11
  • 05 декабря 2019, 01:00
0
Спасибо. Возник вопрос — в режиме точки доступа работает полный функционал web-морды, а при подключении к локалке работают только «LEDs settings» и «WiFi settings», сверху место чекбокса «вкл» и выборов режимов — строка «Connecting...» или «No Connecting...Retry.....»
И скажите есть возможность добавить управление яркостью через web?
+
avatar
  • Lvr
  • 05 декабря 2019, 15:00
0
Виноват, забыл убрать отладочный «костыль». Исправил, но проверить не могу сейчас, платы нет. Буду благодарен, если проверите и отпишитесь.
+
avatar
  • alext11
  • 05 декабря 2019, 15:28
0
Спасибо, заработало.
+
avatar
  • raffden
  • 05 декабря 2019, 13:19
0
Ребят. Прошу помощи, как решить данную траблу. Хотел загрузить скетч в СТМ а вылазит такая бяка.
+
avatar
  • Lvr
  • 05 декабря 2019, 15:27
0
Явно какая-то проблема с Adafruit Neopixel. Они заявляют поддержку Adafruit STM32 Feather @ 120 MHz, у вас такая же (или совместимая) плата?
Сам я с STM не работал, поэтому только предположения…
+
avatar
  • raffden
  • 05 декабря 2019, 16:26
0
у меня плата STM32F103C8T6 но тут до загрузки в плату дело не доходит вылетает в ошибку при компиляции
+
avatar
  • vovka36
  • 06 декабря 2019, 01:47
0
Залил прошивку из бинарника, анимация работает, а вот точки доступа не вижу…
+
avatar
  • Lvr
  • 06 декабря 2019, 10:28
0
Можете посмотреть что в логах по последовательному порту?
+
avatar
  • vovka36
  • 06 декабря 2019, 11:26
0
В Arduino ide запустил монитор com порта, перезапустил nodemcu кнопкой на плате, в логе появилось это.
+
avatar
  • vovka36
  • 06 декабря 2019, 11:30
0
upd. поменял настройки в этом окне, появилось следующее:

Entering setup
(start)Setup done
Connected, local IP:192.168.1.212
anim->(pixiedust)


То есть он присоединился к моей AP с SSID и паролем, которые я задавал ранее в предыдущем скетче!

Доступ по http по указанному адресу из браузера есть…

А еще заметил, что первый светодиод в цепочке с этой прошивкой, залитой из бинарника, всегда светится только белым, остальные все правильно мигают. Проблема не аппаратная, с другими скетчами, и с вашими в том числе, он мигает корректно.
+
avatar
+1
Вам нужно сделать вот это: mySKU.me/blog/aliexpress/58913.html#comment3375061
+
avatar
  • vovka36
  • 06 декабря 2019, 12:03
0
С белым первым светодиодом проблема решилась, это я балбес. Забыл подключить общую землю у гирлянды и nodemcu (она у меня не шьётся почему-то, когда общая земля подключена, даже если питание на гирлянду не подано)

Еще одно дополнение. В прошивке из бинарника перепутаны красный и зелёный местами (но это в случае с моей гирляндой) То есть тут без подстройки под себя и перекомпиляции не обойтись…
+
avatar
0
Подскажите. Собрал, скомпилил, залил — все работает, за исключением режима Магия.
+
avatar
  • vovka36
  • 09 декабря 2019, 19:56
0
Магия только с телефона и не со всех браузеров. С Mozilla работает, Via, CM Browser — не работает.
+
avatar
  • vovka36
  • 09 декабря 2019, 20:18
+1
На гитхабе появилась обновлённая версия с регулировкий яркости из веб-интерфейса (Liana, для ESP).
Один недостаток заметил — яркость по умолчанию равна нулю, это нехорошо. Лучше дефолтное значение таки указать, к примеру 100 или 256 (на усмотрение Lvr)
+
avatar
  • Lvr
  • 12 декабря 2019, 09:58
0
Да, добрые люди уже контрибутить начали, спасибо им. Дефолтную яркость поправлю вместе с другими изменениями.
+
avatar
  • Fover
  • 11 декабря 2019, 11:21
0
Здравствуйте! Можно как-то отключить некоторые эффекты?
+
avatar
  • Lvr
  • 12 декабря 2019, 09:59
+1
Пока только редактированием скетча. Есть планы делать отключение эффектов и палитр через web-интерфейс, правда про сроки реализации сложно что-то сказать…
+
avatar
0
Подскажите пожалуйста что нужно закомментировать в коде чтоб отключить какой-нибудь. Пытался отключить стартовую анимацию, не нашел где.
Пытался в файле anim.h закоментить строки:
void animStart_SetUp();
void animStart_Run();

не сработало, анимация не отключилась
+
avatar
  • Lvr
  • 17 декабря 2019, 07:11
0
Если нужно отключить только стартовую анимацию при запуске, то достаточно в github.com/Vasil-Pahomov/Liana/blob/master/Liana.ino#L34 поменять 0 на любое число от 1 до 7 — это будет индекс анимации, которая будет работать сразу после запуска.
int animInd = 0;
+
avatar
+1
Добрый день!
Что имею:
Arduino Mega, лента на 100 светодиодов ws2811 5V (https://ru.aliexpress.com/item/32791781404.html?spm=a2g0s.9042311.0.0.274233ed1OlPio), блок питания от стационарного компа.
Была проблема — во время запуска при первой анимации пробегают огоньки по всей ленте, дальше все должно загореться ярким светом. Начинают все светится и видимо доходя до пика яркости белого света блок питания вырубается как при коротком замыкании.
Если первым подать питания на Arduino, подождать пару секунд пока пройдет стартовая анимация, потом подключаем ленту все работает, но через какое-то время опять вырубается. Я так понял цикл начинается с начала.
Все подключаю к 1 блоку питания. Ардуино 12V, лента 5V. Также пробовал разделить питание. Ардуино от телефонной зарядки подключал, лента оставалась на том же БП. Результат такой же, вырубается.
Подключено все по феншую, GND и на ленту и на Ардуино, на провод DI резистор 330 Ом.
В итоге поменял на БП покачественее, все запустилось нормально. Только почему-то последний, сотый светодиод не горит.
Это так для инфо, может кто с таким же столкнется.
+
avatar
  • MaBo
  • 14 декабря 2019, 21:17
0
Коллеги, кто уже запустил и повесил на елку. Ну или тестите. Можете посмотреть есть ли моргание светодиодов на режиме RUN палитра ICE?
+
avatar
  • alext11
  • 14 декабря 2019, 21:29
0
Вечер добрый. В данном режиме моргание не замечено.
+
avatar
+1
Имею две гирлянды, одна с того года на ардуине. В этом сделал на esp. Так вот когда они лежали рядом было заметно, что герлянда на esp как бы «подмаргивает», вообщем выглядело хуже. Изменил в anim.cpp строку 7 на
NeoPixelBus<NeoRgbFeature, NeoEsp8266Dma800KbpsMethod>* strip;
Стало хорошо. Разницы теперь не вижу.
+
avatar
  • Lvr
  • 24 декабря 2019, 11:20
0
Возможно нюансы таймингов конкретных светодиодов или лент. Я у себя не замечал помигивания. Спасибо за совет!
+
avatar
  • Onegin45
  • 17 декабря 2019, 07:08
0
Обновил прошивку загрузив бинарники. Из непонятного — перестал работать режим Magic. От слова совсем. Попытался подключить к своему WiFi — Liana из списка сетей пропадает, но по DHCP ничего не получает и вообще пропадает с горизонта. Помогает отключение роутера и перезагрузка ЕСП-хи с переключением в режим АР.
Немного не понятен сам принцип — что дает подключение к Wifi? Как-то нужно узнавать какой получен айпишник — не лазить же каждый раз в админку роутера? Может все же сделать настраиваемую АР с паролем, что сосед не баловался.
А в целом грузится шустрее, работать начинает практически сразу в сравнении с первой прошивкой.
+
avatar
  • Lvr
  • 17 декабря 2019, 07:24
0
Странное поведение. А есть возможность посмотреть, что пишет контроллер в COM-порт при запуске, будучи подключённым к WiFi? Скорость порта 115200.
Подключение к WiFi даёт защиту от несанкционированного подключения, возможность управлять с телефона, не пеиеключая сети и не теряя интернет, а также в перспективе возможность синхронизации времени и включения/выключения по расписанию и других фишек вроде интеграции с умными домами.
Вообще задумка была, что режим AP — временный, основной как раз в сети. Но пожелание насчёт пароля постараюсь учесть.
+
avatar
  • Onegin45
  • 17 декабря 2019, 09:36
0
В компорт пишет свой айпишник, и начинает перечислять очередной эффект:
Connected, local IP:192.168.10.2
anim->(randCyc)
pal->(randCyc)0
pal->(randCyc)4
При этом из под Win не заходит на liana.local. По айпишнику пускает.

И до кучи теперь если есть wifi сама не включается в режим АР. Перепрошивать чтоль?
+
avatar
  • Lvr
  • 17 декабря 2019, 12:25
0
Если заходит по ID, можно зайти в настройки WiFi и там включить режим AP. Или именно он не включается?
+
avatar
  • Onegin45
  • 17 декабря 2019, 15:02
0
Включаю АР — появляется АР. Перезагружаю ЕСП, если она видит настроенный ранее WiFi, она опять вяжется к нему. Сейчас вышел из ситуации сделав кривой пароль к своему WiFi. Она не может соединиться и включает АР.
Скажите, почему перестал работать magic (хотел дочку порадовать), и второй вопрос — можно ли в терминале порулить какими-либо командами?
+
avatar
  • Lvr
  • 18 декабря 2019, 10:08
0
С переподключением к сети после ребута в режиме AP есть баг, это похоже в используемой библиотеке. Разберусь при возможности.
Magic должен работать, но не из Chrome. Google зарезали доступ к сенсорам без https.
Через COM-порт приём команд не делал, только web, только хардкор
+
avatar
  • Onegin45
  • 18 декабря 2019, 10:32
0
По поводу Magic-a и хрома я в курсе. Не работает из встроенного в телефон браузера, с которым все отлично работало на первой прошивке.
+
avatar
  • Lvr
  • 18 декабря 2019, 11:03
0
Ничего не ломал в этом эффекте… У меня на последней версии работает.
В терминале контроллер что показывает при переключении в режим и при «махании» телефоном?
+
avatar
  • Lvr
  • 18 декабря 2019, 10:21
+1
Очередное обновление:
1. Переделал UI управления эффектами и палитрами, теперь вместо выпадающих списков кнопки, и палитры отображаются цветами, а не названиями. Так мне показалось лучше. Также вернул русский язык.
2. Добавилась настройка конфигурации светодиодов (RGB/GRB и т.п.)
+
avatar
  • Onegin45
  • 19 декабря 2019, 13:44
0
Прошил последнюю прошивку.
Magic заработал. Не знаю, что это было, возможно глюк конкретной ЕСП-шки.
В целом все отлично. не совсем понятно, для чего настройка конфигурации RGB/GRB — визуально это выглядит как выбор с какого цвета стартует эффект, красного, или зеленого :) Подозреваю, что есть какие-то эффекты, где это критично?
Еспшку затолкал в корпус, можно вешать гирлянду на елку :)
+
avatar
  • alext11
  • 19 декабря 2019, 13:58
+1
Конфигурации RGB/GRB для правильной передачи ветов, у меня на WS 2811 порядок RGB, а на WS2812B — GRB
если неправильно выбрана конфигурация то вместо красного горит зеленый и на оборот, раньше приходилось в скетч лезть и там править, а теперь очень удобно взял и с телефона поправил как надо.
+
avatar
  • vovka36
  • 19 декабря 2019, 22:11
0
это критично для палитры, например я выбираю fire, а у меня всё зелёным сверкает, а не оттенками красного.
+
avatar
  • hunter59
  • 27 декабря 2019, 21:48
0
Здравствуйте! Поставил актуальную версию программы. Все супер отлично! Большое спасибо автору за труд. Особенно впечатляет детишек режим «Магия». Но у меня возник аналогичный прошлому году вопрос. Как через http запрос управлять гирляндой? К сожалению websocket к Мажордомо привязывать не умею :(, поэтому могу только запросы дергать.
Спасибо.
+
avatar
0
Подскажите, как сделать чтобы режимы фиксировались? Скажем, выбрал я бег и палитру и чтобы она такой и оставалась. Сейчас происходит переключение на следующую через некоторое время
+
avatar
  • shmili
  • 03 января 2020, 21:38
0
Случайно натолкнулся на проект. Очень понравилось, хочу реализовать, теперь уже к следующему Новому году. Вопрос к реализовавшим проект на esp. Какой конкретно модуль приобрести у луноликих? Много вариантов NodeMcu. Есть версии V2 и V3
и все на ESP8266.
+
avatar
  • alext11
  • 03 января 2020, 21:43
0
Использую NodeMcu V3 отлично работает.
+
avatar
  • shmili
  • 04 января 2020, 16:42
0
Спасибо, заказал уже лампочки и подходящий б.п. в стране восходящего солнца, сейчас выберу что-нибудь из esp. Автору большой респект и уважуха :))) Сам в кодинге ни бум-бум, хотя несколько раз пытался освоить. Видимо не мое. Ну и всех, с Новым Годом!!!
+
avatar
  • alext11
  • 05 января 2020, 06:29
+1
почитал отзывы, разница между V2 и V3 только в ширине платы и драйвере у V3 драйвер CH341SER
+
avatar
  • shmili
  • 06 января 2020, 12:22
0
Ну, не знаю. Мне удалось найти NodeMcu v3 на CP2102.
+
avatar
  • alext11
  • 06 января 2020, 13:02
0
Брал у этого продавца, «Беспроводной модуль NodeMcu v3 CH340» и к плате сразу взял «NodeMcu Breadboard» очень удобная плата, отправили и доставили заказ в Батайск за 12 дней.
ссылка
+
avatar
  • shmili
  • 07 января 2020, 13:30
0
Я заказал этот ссылка На CP2120 модули подороже будут.
+
avatar
0
Глупый вопрос. Пытаюсь прошить такой контроллер aliexpress.ru/item/32879758161.html?spm=a2g0s.9042311.0.0.274233edDqkk5q бинарниками по инструкции. Процесс вроде проходит успешно. Но, появляется на короткое время сеть WiFi Liana, подключиться не удается, после этого сеть исчезает.
+
avatar
0
Разобрался. Похоже, плата не совсем совместима с NodeMCU (даже дизайн немного отличается). С компилированным бинарником от автора при попытке подключения к точке доступа WiFi Liana сеть пропадает (зависает плата?).
При компиляции из исходников с рекомендованной автором версией платы 2.5.2 вылезла ошибка на отсутствующую библиотеку SPIFFSReadServer. После добавления библиотеки компиляция все равно не завершилась с жалобами на дубли разных версий библиотек (лог не сохранил, но если надо, то можно повторить).
После обновления версии платы ESP8266 до последней (2.6.3) все успешно скомпилировалось. В качестве платы использовался generic ESP2866 (не nodemcu). После прошивки (и заливки SPIFFFS) все успешно заработало.
+
avatar
  • mitel
  • 17 октября 2020, 14:44
0
Здравствуйте. Скачал bin установил все работает, но как сделать чтобы эффекты сами переключались? Понял надо просто уйти со страницы. Мне не подошло, 600 диодов не тянет, какой максимум?
+
avatar
  • Lvr
  • 17 ноября 2020, 13:21
0
Не знаю какой максимум, но 600 кажется должен тянуть. Как проявляется то, что не тянет?
+
avatar
0
При попытке прошить NodeMCU v3 выдало ошибку:
C:\Users\...\Новая папка\ArWs2812-esp\ArWs2812-esp\arws2812\arws2812.ino: In function 'void setup()':
arws2812:58:3: error: 'ticker' was not declared in this scope
exit status 1
'ticker' was not declared in this scope
Что делать?
Прошивал эту-же NodeMCU версией прошивки из «папки ардуино» прошилась и работает гирлянда, при прошивке из «папки ESP» выдает ошибку…
+
avatar
0
Никто не поможет? Я непонимаю что от меня хотят. При попытке компиляции, даже без устройства выдает эту ошибку.

+
avatar
  • Lvr
  • 17 ноября 2020, 13:25
0
Если Вы используете NodeMCU, лучше использовать проект github.com/Vasil-Pahomov/Liana. Версия для Arduino не будет работать на ESP8266,
+
avatar
  • Dzedun37
  • 09 декабря 2020, 17:45
0
Припилил изменение яркости с помощью переменного резистора.Хочется кнопками управлять режим работы гирлянды.В последнем варианте для ардуино добавлена кнопка для переключения режимов, можете подсказать как сделать управление одной кнопкой режимом анимации, второй палитрой ну и третьей возвращать демо режим.
+
avatar
  • shmili
  • 31 декабря 2020, 16:04
0
У меня эффект «Магия» так и не заработал. Пробовал через Opera, Firefox, Yandex. Ну ничего, и так шикарно. Всех С Новым Годом!!!
+
avatar
  • Lvr
  • 05 января 2021, 17:23
0
С наступившим Новым Годом!

Все браузеры подхватили стандарты безопасности и запрещают доступ к датчикам устройства на не-https сайтах. Поэтому эффект и не работает.
Единственный более-менее нормальный вариант обхода этого ограничения, который я нашёл — в мобильном Chrome зайти в настройки (chrome://flags) и включить флаг --unsafely-treat-insecure-origin-as-secure, прописав в нём адрес web-интерфейса.
+
avatar
0
С последнего обновления перестала нормально грузиться веб-морда. Причину нашел — в файле index.html в 8-9 строках надо правильно задать переменную ESP_WS.
+
avatar
0
ну и написали-бы что именно нужно… я например не программист и незнаю…
+
avatar
0
В Platformio открыть папку с проектом, в подпапке data выбрать файл index.html.
Закомментировать строку 8.
Раскомментировать строку 9 и добавить в конце точку с запятой, строка должна выглядеть как const ESP_WS = «ws://» + location.hostname + ":81/";
Затем пересобрать и перезалить образ файловой системы. В меню задач (морда инопланетянина) Build Filesystem Image, Download Filesystem Image.
+
avatar
  • Lvr
  • 08 января 2021, 15:50
0
Простите меня, случайно запушил версию для отладки. Исправился. Заодно залил последние бинарники.
+
avatar
+1
Нашел еще пару ошибок в index.html
В строке 42 вместо onAnimPalChange(); должна вызываться функция onAPChange(); иначе анимация после снятия и установки флажка «вкл» не запустится.
В строке 84 вместо substring(4,6) должно быть substring(3,5) иначе из номера палитры считается только последняя цифра.
+
avatar
  • Lvr
  • 10 января 2021, 17:01
0
Огромное спасибо за найденные дефекты! Исправил.
+
avatar
0
Еще немного ошибок в программе.
В anim_sparkr вместо glowForEachLed(i) в строке 42 лучше использовать glowForEachLed(pos), иначе картинка дергается.
Функция getPalColor в palette.h дает неверный результат, переписал код.

if (i<1) {
int i0 = (int)(i*(numColors-1));
float t0 = i*(numColors-1) — truncf(i*(numColors-1));
return colors[i0].interpolate(colors[i0+1], t0);
}
else {return colors[numColors-1];} //avoid t0==0 when i==1

Также желательно убрать потенциально бесконечный цикл при выборе нового цвета в anim_pixiedust в строке 42 (похоже, в строке 31 тоже должен быть аналогичный цикл) и anim_sparkr в строке 58. Пока переписал этот кусок, но возможно решение поудачнее найдется.
int j=0;
while (prevColor.isCloseTo(curColor)) {
curColor = palette->getPalColor((float)rngb()/256);
if (j++>50) break;
}
+
avatar
0
UPD В файле anim_run надо добавить в конце после pos=pos+1 дополнительно if(pos>255) {pos=pos-256}. Иначе в функцию getPalColor начинает передаваться значение > 1.
+
avatar
  • Lvr
  • 16 января 2021, 22:30
0
Ещё раз огромное спасибо! Исправления внёс.
С одной стороны стыдно за код (плохой принцип «работает и ладно»). С другой — приятно что кто-то ещё разбирается :)
+
avatar
  • Vadoskan
  • 13 февраля 2021, 18:56
0
Подскажите, пожайлуста, как указать другой пин для ленты? Проект этот github.com/Vasil-Pahomov/Liana
+
avatar
  • Lvr
  • 14 февраля 2021, 21:03
0
Продублирую здесь из личной переписки.

Пин задаётся последним аргументом конструктора NeoPixelWrapper здесь: github.com/Vasil-Pahomov/Liana/blob/master/src/anim.cpp#L111
Но нужно иметь в виду, что у меня используется режим NeoEsp8266Uart1800KbpsMethod, который работает только с этим пином. Т.е. если будете менять пин, то нужно в github.com/Vasil-Pahomov/Liana/blob/06112e3b74599ae37042286a454d6a80f7fbcf0a/src/NeoPixelWrapper.cpp заодно поменять режим на подходящий для пина. Поначалу я экспериментировал и методом научного тыка нашёл этот режим. Пин 2 меня устроил, поэтому дальше не ковырял.
Про режимы и совместимые пины рассказано здесь: github.com/Makuna/NeoPixelBus/wiki/ESP8266-NeoMethods
+
avatar
  • Vadoskan
  • 15 февраля 2021, 10:15
+1
Спасибо! Все получилось! Режим NeoEsp8266BitBang800KbpsMethod, пин 15, работает!
+
avatar
  • timurius
  • 06 декабря 2021, 02:15
0
Подскажите, пожалуйста, как сделать так, чтобы после каждой перезагрузки не нужно было заново подключаться к точке доступа Liana и вводить данные своей сети. Почему-то не сохраняются изменения и приходится каждый раз вводить заново.
+
avatar
  • Lvr
  • 07 декабря 2021, 20:09
0
Да, проблему такую подтвердили. Пока не могу заняться и разобраться. Как временное решение советуют два раза подряд подключаться к WiFi (https://github.com/Vasil-Pahomov/Liana/issues/32)
+
avatar
  • lawr
  • 08 декабря 2021, 00:27
0
В мониторе порта при старте пишет «Error starting MDNS» — может это что-то подскажет
+
avatar
  • Lvr
  • 12 декабря 2021, 22:57
0
Вроде исправил проблему в последнем обновлении, просьба проверить.
+
avatar
  • lawr
  • 14 декабря 2021, 01:28
0
После обновления, к сети WIFI подключаться не желает от слова совсем.
Вот кусок лога:
Entering setup
SPIFFS started
PWM: _fresh, ssid=
(start)RGB
Setup done
PWM: force AP, status=0, _fresh=1, sinceStartMS=13
AP MODE
anim->(pixiedust)
NF: /
NF: /
[0] Connected from 192.168.4.100 url: /
NF: /wifi.htm
[0] Disconnected!
NF: /ncsi.txt
Not found: '/ncsi.txt'
NF: /ncsi.txt
Not found: '/ncsi.txt'
NF: /stable/package_esp8266com_index.json
Not found: '/stable/package_esp8266com_index.json'
PWM: Begin(home,password)
PWM: ssid=home
anim->(static)100
PWM: force AP, status=1, _fresh=0, sinceStartMS=30001
AP MODE
pal->6…
+
avatar
  • Lvr
  • 14 декабря 2021, 10:46
0
По логу можно предположить, что неверный пароль, или по другой причине не подключает к WiFi (фильтр MAC-адресов например).
Для чистоты эксперимента можно попробовать залить тестовый скетч (например WiFiClientBasic в ArduinoIDE) и попробовать подключить плату к сети им.
+
avatar
  • lawr
  • 14 декабря 2021, 12:52
0
Да! Это моя ошибка. Перекомпилировал проект, обновил ESP и все работает.
Спасибо ув. Lvr.
Вас и всех с наступающим Новым годом. Удачи в Новом году, новых прошивок и новых гирлянд)))