Как и всякая уважающая себя сорока, я обожаю разные блестяшки.
И конечно же электрические гирлянды попадают в эту категорию.
Относительно недавно в продаже появились LED супер-гирлянды на основе чипов WS2811.
В этих гирляндах цвет и яркость каждого LED может устанавливаться индивидуально. Чип WS281x может быть имплантирован непосредственно в LED. Такие LED выглядят как обычные RGB LED с 4 выводами. Их можно найти на www.aliexpress.com по имени APA106.
Но приобретать их надо с большой осторожностью — не редки случаи, когда продавец присылает вместо APA106 обычные RGB, а их цена в 2-3 раза меньше! Поэтому я рекомендую приобретать внешние WS2811 к которым подключен обычный RGB LED или проверять покупку перед подтвержденим доставки. Такие гирлянды имеют различные формы и размеры.
Общее у всех их одно — они не будут работать без внешнего конторллера.
Существуют модификации подобных чипов (WS8208\WS2801 — если не ошибаюсь), которые работают без контроллера.Они меняют цвет случайным образом. Но нам такие LED не интересны, тк их нельзя программировать.
К сожалению, я наткнулся на эти гирлянды уже после Нового Года.
Но это лишь оставляет больше времени чтобы лучше приготовиться к следующему!
Были заказаны и постепенно приползли следующие части:
1) 2 x 50-LEDs WS2811 гирлянды в водозащитном исполнении.
Эти гирлянды могут включаться одна в другую для увеличения длины.
Сами по себе они светиться не будут, поэтому нужен контроллер:
2) ESP8266 в очень удобном исполнении: WeMos D1 mini
Мне очень нравится этот форм-фактор. Он компактный и с ним легко работать.
3) Необязательные части:
— IR приемник TL1838
— Плата расширения WeMos D1
— Плата скнопкой для WeMos D1.
4) Хорошей идеей будет приобрести мощный 5в блок питания. Особенно если будет подключаться несколько гирлянд.На ярких режимах эти гирлянды довольно прожорливы.
Вот такой подойдет с запасом: Power supply 5v 8A. Конечно, это китайские амперы, но и гирлянда китайская ;)
Я разрабатывал этот проект пользуясь блоком от телефона с током 1А.
Он работал нормально, пока не поднималась яркость — а потом начинал проседать и гирлянда начинала мерцать.Тем не менее все части проекта такое издевательство пережили нормально.
И вот наконец все части прибыли. Но что с ними делать?
Запрограммировать несколько эффектов и все?
Слишком просто. В чем отличие от контроллеров, имя которым — легион?
Как вы могли видеть из моего предыдущего проекта PasswordKeeper — я не ищу легких путей.
Поэтому гирлянда должна быть усложнена — надеюсь не до полной непригодности к использованию ;)
Хорошо бы нам как-нибудь управлять поведением огоньков.
Почти все сегодня имеют при себе какой-нибудь смартфон, который может выходить в интернет.
ESP8266 — это модуль с поддержкой WiFi. Отсюда следует идея, что гирляндой надо управлять через Web.
Но, к сожалению, не все еще компьютерные гики (Какая жалость!). Поэтому добавим возможность проигрывать BMP файлы, переключать эффекты кнопкой или любым IR пультом управления. Правда вам все равно нужен будет карманный гик, чтобы настроить гирлянду.
Быстрый поиск не обнаружил похожих проектов в сети.
Видимо люди заняты более важными делами, чем изобретение очередного бесполезного чиндогу.
Это упущение нужно срочно исправить!
Основная идея — создать устройство, которое может воспроизводить различные эффекты. Эффекты задаются текстовым скриптом. Этот скрипт может меняться OnLine через WEB интерфейс и тут же включаться в работу. Конечно, этот же результат можно получить используя обычный язык программирования. Но вам нужен будет компилятор и загрузчик, чтобы сменить эффект. А если вы не хотите включать большой комп и тащить к нему контроллер? Проблема!
Поэтому контроллер был реализован как интерпретатор текстового скрипта.
Проект вдохновлялся моей внутренней сорокой, поэтому и язык скрипта получился птичьим — чтобы сорока была рада. Ну и в конце концов есть язык программирования Brainfuck — а я чем хуже? Кто-то может сказать — «Используй LUA или что-то подобное», но я скажу — «Это слишком просто!»
Предоставляемые операторы скрипта позволяют создавать довольно сложные алгоритмы переключения. Кроме того, для облегчения создания эффектов, контроллер может проигрывать BMP файлы. Просто накидайте разноцветные линии в картинку в любом графическом редакторе, загрузите ее через WEB интерфейс, выберите режим проигрывания BMP и она будет проигрываться — линии из BMP файла будут загружаться последовательно в гирлянду с заданной задержкой. Нарисуйте диагональную линию — и получите пробегающий по гирлянде огонек. Нарисуете линию, меняющую цвет — огонек будет менять цвет. ESP8266 уже имеет встроенную файловую систему, размером чуть меньше 3 Мб. Так что эффектов можно запихать много.
Вот эта картинка дает эффект: красная полоска бежит слева-направо, синяя — справа-налево и в центр, зеленая — мечется туда-сюда. Пример видео проигрывания файла прилагаю.
Я не буду вдаваться в подробности установки и конфигураци среды Arduino IDE для ESP8266.
Существует множество сайтов, где это расписано во всех деталях. Требуемые библиотеки перечислены в документе WebLights_Ru.rtf и предоставлены в каталоге WebLights\libraries\.
Схема крайне проста.
Кнопка и IR приемник не обязательны, но могут пригодится.
Длинное нажатие (6+ sec) кнопки сбрасывает устройство в состояние по умолчанию и загружает демонстрационный скрипт. Нажатие и удержание кнопки при подключении питания производит форматирование файловой системы. Обычные нажатия переключают эффекты — если вы запрограммировали переключение в скрипт или положили несколько картинок.
Если подсоединен IR приемник, то можно принимать команды и назначать им разные события.
Просто нажмите кнопку на пульте, обновите страницу и в строке IR-CODE вы увидите 4 знака, соответствующих нажатой кнопке. Этот код можно поместить вместо xxxx в команде (LLxxxxDescr) и при нажатии на кнопку будет вызываться процедура LL.
Полный код проекта и описания птичьего языка скрипта выложен на github.
Поместите каталог WebLights в каталог проектов Arduino, переместите туда же все из WebLights\library\, откройте Weblights.ino.
Затем соберите проект и загрузите его в ESP8266.
По умолчанию устройство запускается в режиме AccessPoint и создает WiFi сеть с именем WebLights и паролем weblights. В устройство загружается простой скрипт — 2 точки бегают из конца в конец меняя цвет при смене направления движения. Все эти параметры можно поменять через WEB интерфейс.
В описании приведено несколько простых скриптов, которые вы можете загрузить в контроллер и посмотреть как они работают.
Устройство было протестировано на бедных беззащитных котиках и доказало свою безопасность. Светодиоды были попробованы на вкус, но до конца отгрызены не были, тк были своевременно отобраны. Ни одно животное при этих тестах не пострадало ;)
Было бы здорово, если еще какие-нибудь сороки разработали скрипты или картинки, производящие
интересные эффекты для этого устройства и поделились ими с остальными в этой нитке или на masterclub.
Сороки не стайные птицы, но почему бы им не поменяться блестяшками (или скриптами) здесь?
UPD2: После загрузки кода в ESP8266 переключите ее на питание от БП для светодиодов.
Мы с comrade Parsek целый день ошибки в коде искали — не работали светодиоды как положено.
А проблема оказалась в раздельном питании ESP и светодиодов.
После переключения питания ESP с USB на внешний БП все заработало.
Планирую купить+76Добавить в избранноеОбзор понравился+53
+118
Тащусь от ваших обзоров. Вы воплотили мою одну давнюю задумку, которую все никак не доходили руки добить до ума. Жаль, что можно поставить только один плюсик.
Не видел таких. У меня, например, версия на 12 вольт собрана на WS2801, а это немного другой чип в управлении — там data отдельно от clock. Самый просто способ определить — WS2811/12 идут с тремя проводами (vcc, data, gnd), а WS2801 уже с четырьмя (vcc, data, clock, gnd).
У WS2811 комбинированный вход (data+clock) как и у WS2812, поэтому три провода.
WS2811 отличается тем, что это голый чип, а WS2812 — светодиод с чипом.
У меня вопрос напрямую обзора не касается. Кто то из жителей Украины заказывал из этого магазина
Магазин:
GREAT WALL Electronics Co., Ltd ru.aliexpress.com/store/731260?
добавляю в корзину и там пишет «этого товара больше нет в наличии»
Так я в этом магазине ничего и купить то не могу))
Написал продавцу.
Посмотрим что ответит.
Для Украины у него доставка Новой поштой и бесплатная) точнее SF express.
Наверно то глюки али.
Я помню захотел товар но в магазине его не было. Но продавец сказал «подожди 30 минут и я добавлю».
Когда товар появился с надписью " наличии 5000 штук" я его добавлял в корзину и он становился " нет в наличии". Продавец сказал что то глюки али и надо ждать пока они исчезнут.
В итоге на следующий день — я смог нормально купить.
А вчера наблюдал другой глюк. В отзывах " о магазине" есть отзыв на товар. Но если перейти к товару — отзыва нет, но есть другой…
Посылка начала трекаться, отпишусь еще после получения.
Собственно, новой почтой с али уже с десяток заказов получил, причём 12-значный код SF express (начинается с 9-ки и еще был с 6-ки) можно трекать на сайте НП в разделе международная доставка/доставка по всему миру. Со временем там появляется уже внутренний трек НП (Дополнительные номера:) вида 206000хххххххх, который уже хавается приложением НП
Чую проект классный, но как все программеры вы не смогли наглядно, с примерами показать результат.
Например, вот смотрите скрипт, вот видео эффекта. Вот BMP картинка, вот мигает гирлянда.
+ за статью и в карму однозначно.
Я просто запилил порядка 20 понравившихся мне эффектов в ардуину со случаным перебором режимов.
Если честно — с видео неохота связываться.
Я тот еще оператор.
Я надеюсь, что кто-нибудь повторит и создаст красивые эффекты в скрипте или картинках :)
И поделится ими.
И рассчитана на 3.3В. О чем ничего не сказано в посте. Вот если бы кто мог запостить схемку целиком, рассчитанную на 100 диодов ws2812b, было бы здорово…
Разницы в WS2811 и WS2812В насколько я понял — нет. Отличаются форм-фактором только, а протокол передачи тот же — по 3 байта на диод.
Библиотека NeoPixel поддерживает разные форматы передачи.
Мой проект поддерживает до 256 светодиодов.
Те 5x50 можете последовательно подключить. Так что требуемые вам 100 перекрывается с запасом.
Могу приделать к WEB отдельный переключатель типа кристаллов — если кто поможет в отладке.
У меня только WS2811 есть.
Вемос тоже можно. По большому счету, напряжение выше 3.3 вольт плохо переносит только единственный аналоговый вход А0, а цифровые прекрасно пашут и с 5 вольтами. Где-то об этом сами разработчики esp8266 писали.
Добавьте в схему кардридер для SD карты, разработайте формат паттернов для эффектов (если таковых еще нет), в скетче переделайте так, чтобы алгоритм работы читался из паттерна. И тогда для обмена «алгоритмами» нужно будет меняться только паттернами, а не перепрошивать контроллер
Так его и не надо перепрошивать!
Я же в статье писал.
В ESP8266 есть встроенная файловая система 3гб, в нее можно через WEB грузить произвольные картинки в BMP.
Что в картинке нарисуете — то и будет.
Те все уже украдено до нас ;)
Нужно только наделать BMP картинок с красивыми эффектами и поделиться ими.
Ну или если еще мегамозг найдется — то скриптами :)
Да, вы правы, встроенная ФС там есть, причем размер у нее бывает не только 3 Мб, но и побольше (например, у вот этого wemos d1 mini pro общий объем памяти не 4 мегабайта, а 16).
Но у встроенной файловой системы, насколько я понял, есть особенности, которые не позволят ее использовать так же легко и свободно, как полноценную флэшку в кардридере. Много где встречал упоминания о том, что встроенная файловая система ЕСПшки больше смахивает на CDFS — дополнить существующий файл нельзя, изменить вроде бы можно, но только если новый размер не превышает длину старого файла. Кроме того, максимальная длина полного имени файла ограничена всего 32 байтами.
Кстати, почему вы сделали шаблоны страничек в виде текстовых констант, а не поместили их во встроенной ФС?
Для простоты запуска проекта.
Папку скопировал — запустил сборку и все.
А так надо будет еще объяснять как данные в файловую систему поместить.
Ну и попробовать хотелось — как это в работе будет (размещение во flash вместе с кодом).
Изменений файлов в этом проекте нет.
Через WEB загрузили — и проигрываем. Грузятся файлы нормально. 32 знаков вполне достаточно для данного приложения. Мы же не будем там полноценную OC разворачивать. А десяток-другой файлов и так видны будут.
Да, именно так.
BMP редактор, конечно, можно запихать в ESP8266 — но надо ли?
Гораздо удобнее навертеть чего-нибудь на большом компе — и тут же передать в контроллер посмотреть на эффект. Загрузка проходит мухой.
Потом сохранить эффекты в файлах — и переключать их по желанию.
Именно это мой проект и делает.
всем доброго времени суток, подскажите кто разбирается, на работе отрыл два блока питания LEA50F-12 для чего они могут сгодится? хотелось бы использовать с диодной лентой, но не хватает знаний
я к тому, что никто тут понятия не имеет, что за блок питание такой Cosel LEA50F-12
если бы ты просто сказал, что он дает 12в и 4.3а, то тебе бы сразу сказали, что он пойдет для ленты
Не все ленты 12-вольтовые, так что не стоит человека сразу так обнадеживать))) Пусть бы кроме параметров блока питания еще и модель ленты озвучил, для начала.
Главное с такими котейками — чтобы они не улетели на зиму в тёплые края!
А ленты — что ленты, я уже 3 штуки адресуемых накупил, одну давно, с дискретными чипами и на 5050, другую такую же, как и обозреваемая, для ёлки (и тоже пришла после НГ, ЛОЛ), а третья полноценная 2812, с чипами в диодах, буду делать семисегментные часы.
Я сделал кусочек этого проекта — воспроизведение картинок.
Если добавить автоматическое позицирование конкретного LED в пространстве — оно и получится.
В принципе это возможно сделать в программе для телефона, но заниматься телефоном пока лень.
Я и так с PasswordKeeper дорогу Mooltipass перебежал :)
Они 80$ хотят а мое устройство 8 стоит.
Правда у них функционал пошире.
Они хитрую вещь сделали:
— на елку как попало вешается лента из диодов APA106 или подобных (я их упоминал в обзоре)
— далее выполняется процедура синхронизации
включаем по одному диоду и через камеру фиксируем его положение
— потом отрисовываем треугольник на экране и проецируем на него эффекты + редактор в приложении.
Понятно все.
G-Sensor прикрутили.
И на его данные эффекты повесили.
Там все не слишком сложно.
Это очень нишевое решение.
У меня знакомых с бордами нет — не для кого и делать.
Я балансирующего робота делал — но до конца пока не довел.
Механику и железо с G-сенсором спаял-собрал.
Надо ПО написать — но все вдохновения нет.
У меня еще охотник на котов лежит в таком же состоянии — механика и железо собраны. Надо ПО писать. Ща как мелочь начнет лезть куда не надо — может разозлюсь и допишу. Идея — отслеживание кота в запрещенной зоне и расстрел водой. Здорово выглядеть должно — как он осматривается и брызгается.
За этот проект меня здесь точно забанят и распнут :)
А касательно проекта — с g-sensor'ом это само собой. На идею со сноубордом, правда, подзабил, проектирую теперь для лонгборда (но суть та же). Пока что основная проблема с питанием и защитой блока с железом от внешних воздействий (вода, постоянные вибрации и удары).
Делаю на WS2812, gy-521, взял еще попутно такой корпус: ebay.com/itm/371760734385 Думаю напихать вовнутрь каких-нибудь губок, залить это дело термоклеем и как тестовый вариант покатит. Но опять же как это закрепить на доске? На саморезы не хочется, а скотч 3M ненадежно. Как быть?
Корпус хороший и герметичный — если не забыть резинку уплотнения проложить.
Можно еще попробовать залить прозрачным силиконом.
К доске крепить можно временно — использовать ленту для гипсокартона
А окончательно — без винтов не обойтись.
Либо плоский корпус под низ доски и подсунуть крепление корпуса под крепление колесиков. Так более эстетично будет.
Если питание взять от плоской LiPo батареи — все можно сделать очень компактно и запихать под доску. Правда на доске по рейлингам кататься стремно будет :)
Так можно и не понимать.
Спаять десяток проводов — а дальше через WEB грузить BMP картинки и проигрывать их.
В paint нарисовали, браузером на страничку зашли — загрузили.
Оно и мыргает — как нарисовали.
А полный проект будет со схемами и программами. Тоже Не хрена не понимаю в этих ардуинках, скетчах, скриптах,, но сделать на ёлочку красиво было бы. www.twinkly.com/en/ --эфекты понравились
Как обратно переключить wemos в режим AP? Включил режим Client и теперь ничего сделать не могу… К сети не подключается, повторная заливка скетча не помогает…
Камрад, мое почтение! Еще не скомпилил, но по описанию это то, что я искал )
Тут тебе и автономность, и возможность графического создания эхвектов (бмп), и даже скриптовый язык свой есть )
Если получится завести у себя сей ништяк, то отпишусь об ощущениях и чего хватает\нехватает.
На данный момент смущает максималка в 256 пикселей. Мож имеет смысл сделать версию без «скриптов», но с большим кол-вом пикселей? Или без поддержки bmp, но только тогда скрипты непонятно как пользовать, ибо описание вообще не в дугу (без обид, но правда непонятно вовсе.) Хотя бы расписать примеры пошагово, мол тут мы делаем то, а вот тут — то. Посимвольно, книгу писать я не прошу )
Hi!
Да получится, там ничего сложного нет.
Ограничение 256 взято чтобы в 1 байт влезал адрес LED — просто с потолка.
Реально памяти в контроллере достаточно. Можно и больше LED подключить. Цена — снижение скорости обновления.
Где проходит предел — я особо не исследовал. Но 1024 потянет без тормозов — я так думаю.
Если у кого будет _реальная_ нужда в бОльшем количестве LED — пишите — сделаю.
Скрипты — это для Гикнутых ;)
Есть работающие примеры. Их можно модифицировать — чтобы не совсем с 0 писать.
По сути — это язык программирования для сорок ;). Сродни Brainfuck.
Нормальным людям проще BMP рисовать и проигрывать.
Закогтил я код со своей ESP8266-12E NODEMCU и лентой. Предыдущие попытки оказались неудачными. Пиксели дергались как сумасшедшие по сути рандомно. Автор предлагал поставить кондеры и прочие манипуляции. Но причина оказалась банальнее — я просто поменял USB шнурок, которым когтил модуль к компьютеру.
Всё заработало славно.
Что заметил:
1. Не пофиксен порядок RGB. В этих лентах он идет GRB, Это довольно известная особенность и более менее крупные проекты/библиотеки это учитывают. Зашил BMP, но цвета оказались на ленте не те. Поменял при помощи IrfanView порядок на GRB. Цвета на ленте стали похожими на цвета в файле. Считай что доказано )
2. ИМХО было бы неплохо сделать интерполяцию между строками. Это в некоторых случаях позволит сэкономить место. Если мы захотим воссоздать на ленте плавно бегущую радугу например, то для плавности BMP должна будет быть большого размера (много строк). А за счет встроенной интерполяции — плавность перехода между каждой итерацией (строкой в BMP) будет обеспечивать сам контроллер. Можно сделать несколько уровней пересчета, тем самым добиваясь нужной плавности.
3. Для тех, у кого нет фотошопа или навыков работы в оном — рекомендую замечательный ресурс patterncooler.com
Находите нужный паттерн, бегунком PatternSize (по центру снизу) регулируете нужный размер (по количеству пикселей в вашей ленте) и загружаете кнопкой справа внизу.
Файл загрузится в формате PNG, поэтому его нужно будет пересохранить в BMP. Можно воспользоваться для этого встроенный в Windows редактор PAINT. Откроете сохраненный файл в PAINT и сохраните в 256-ти цветный BMP. Ну и далее при помощи вэб-морды прошитого контроллера подгрузите файл и поставьте его на воспроизведение.
Сайт позволяет менять цветовые схемы для каждого из паттерна. По сути паттерны отображены столбиками. В каждом столбце — просто три варианта данной текстуры. Редактируются кнопочкой внизу каждого столбца. Там уже сами разберетесь что к чему ;)
Все текстуры на сайте бесшовные, поэтому можно не переживать о том, что не регулируется количество строк (высота). Если играть эту текстуру по кругу — перехода не заметите.
Вроде всё сказал, что собирался. Если еще чего замечу — то отпишусь.
Стенсняюсь спросить, но все же попробую: а реально ли модуль SD прикрутить?
Я попробовал BMP на 256 пикселей, и размер файла получился в районе 200кб. Для 3-х Мб выходит, что у нас может быть 10-15 BMP размером 256x256 пикселей. Как бы маловато )
Вернее, не то чтобы мало, но и не много )
Ведь для «плавности» переходов у нас должно быть довольно много «строк».
В качестве мозгового штурма могу обратить внимание автора на неплохую библиотеку WS2812FX
Понимаю, что лезу в чужой монастырь со своим уставом, но имхо проще прикрутить эту библиотеку, чем объяснять людям как пользоваться встроенным в проект языком ))
Таким образом функционал расширится весьма. Ведь простому смертному из этого проекта доступно управление только с помощью BMP.
Может быть есть энтузиасты, которые смогут прикрутить библиотеку?
Сделать еще одну вкладку, и туда внедрить нужные куски кода из этого иливот этого проектов.
И получим функциональный гаджет, применимый как для обычного неподготовленного юзера, так и для «гикнутого программера».
Обоймем все слои, так сказать! )
p.s. но лимит в 256 пикселей в этом случае желательно бы снять.
Собрал в Arduino прошивку, прошить получилось ESP8266Flasher
После появилась сеть ESP_******
Подключился, появилась веб морда, но поменять на клиента и указать wifi ssid и pass не получается
что пошло не так?
Hi!
Что-то странное.
А морда как в статье? Желтенькая?
Я бы сказал, что это не мой проект загрузился.
На всякий случай возьмите последнюю версию с github — там несколько ошибок поправлено.
И загружайте прямо из среды IDE
Кстати, плату я устанавливал NodeMCU 1.0 (ESP-12E)
Я только что скачал с github архив, mWF_Mode=1 — такой строки в файле web.cpp нет.
Сохранить ничего в веб морде не могу.
может руки не оттуда растут!!))??
Пробовал зажать 6 сек кнопку — не помогло,
Пробовал FlashWr(); — тоже 0
Потом взять плату NodeMCU 1 — прошился, но настройки поменять не могу
help sos,AAAAAAA
В какой версии Arduino лучше собирать?
Может дело в библиотеках которые инсталируются со средой IDE?
В COM консоли при старте должна появится строка с разными значениями вокруг знаков ==
Если там с обеих сторон написано WebLight — Ж…
Не работает запись\чтение в EEPROM
Почему — хз.
Может битый ESP, но скорее всего проблема где-то в софте\библиотеках
Самое простое — снести все и поставить заново.
ESP ставить через WEB из менеджера библиотек.
Передвигая по коду строчку Serial.print( "***" ) найдите вызов функции, которая приводит к падению. Наверняка это доступ к WiFi.
Строка
«WebLights v1.01. SPIFFS:Ok
LEDs:50, SSID:WebLights, Pwd:weblights, » говорит о том, что СОМ порт работает, файловая система OK.
Добавьте тест на EEPROM перед WebInit. Если падает в WebInit — надо глянуть параметры вызова процедуры, на которой падает.
Кристалл точно 12E? может другой, с меньшим размером памяти?
Похожая проблема, только вот более точно установил:
Запускается нормально, но потом падает при обращении в веб серверу.
Пробовал и запись\чтение EEPROM, всё ок работает.
Самое интересное, что после нескольких таких падений, начинает писать что LEDs: 256.
Пробовал переключить в WiFi-клиента, переписав код, не подключается:(
Платка Lolin NodeMCU v3. Пробовал разные скетчи примеры заливать, всё работает нормально, и WiFi-клиент и AP, запись чтение EEPROM.
Поможете с дебагом?
сделал, среднюю ножку гирлянды подключил к gpio3, прошил.
при прошивке загораются все огни, белым.
после перезапуска гаснут.
само не бегает ничего… корочу на 0 gpio0 (сброс) снова не бегает скрипт по умолчанию
появляется точка Веблайт, захожу, подключаюсь.
захожу на 192.168.4.1 вижу интерфейс, загружаю графический файл с этой странички.
возвращаюсь в настройки, включаю bmp:one
жму set params и опять ничего…
помогите, НГ на носу :)
на RX не шевелится ничего… возможно я чет подпалил…
хотя, как я понимаю, на эти же ноги идет при прошивке код в чип? значит нога живая…
мне не понятно
#define PIN_BUTTON D3 // I GPIO0 — D3 Button
#define PIN_LED D4 // O GPIO2 — D4 OnBoard LED
#define PIN_IRDA D5 // I GPIO14 — D5 IRDA receiver
может у моей платки ножки по другому расположены?
При старте по USB что приходит?
Файловая система инициализируется нормально?
загруженный файл в списке файлов виден?
Добавьте в процедуру void CGlobalData::LedSetPxl( uByteLong clr ) вывод данных в USB Serial.print(clr);
если мусор в консоли побежит — значит какие-то цвета пишутся на вывод. И если на Rx так ничего и нет — что-то с библиотекой вывода.
Попробуйте установить точно те компоненты, что я выложил.
Это недостаток Arduino — бывает что новые версии не совместимы со старыми проектами.
Перейдите на вкладку скрипта, загрузите один из скриптов и нажмите сохранить. если и после этого ничего дрыгаться не будет — значит чем-то эта плата отличается.
Надо wemos D1 брать. Ее можно попробовать в offline купить — чтобы побыстрее.
при старте (после ресет) пишет:
(непередаваемая и не копируемая абракадабра) и потом
LEDs:50, SSID:WebLights, Pwd:weblights, Mode:AccessPoint 192.168.1.1/255.255.255.0/192.168.1.1, IP:192.168.4.1
нашел в закладке main
void LedSetPxl( uByteLong clr )
в какую закладку мне добавить строчку
void CGlobalData::LedSetPxl( uByteLong clr )
{
Serial.print(clr);
}
и правильно я всё пишу?
wemos D1 я заказал на прошлой неделе, в середине декабря должно прийти.
скачиваю версию 1,6,9 как у Вас, была у меня была установлена 1,8,5
сделал так:
// Set pixel color and select next LED 00RRGGBB
void CGlobalData::LedSetPxl( uByteLong clr )
{ TStack &s = mCtx[mCtxCur];
int i = s.mPosLed; Serial.print(clr); //добавил эту строчку
switch( s.mNxtMode )
{ case '>': mLeds.ShiftRight( 1, i, i+s.mNxtStep ); break;
case '<': mLeds.ShiftLeft( 1, i, i+s.mNxtStep ); i += s.mNxtStep; break;
}
выдает ошибку sketch\led.cpp: In member function 'void CGlobalData::LedSetPxl(uByteLong)':
led.cpp:85: error: no matching function for call to 'HardwareSerial::print(uByteLong&)'
Serial.print(clr);
и ее много строк ссылок (мне кажется не существенно)
В понедельник, на работе, попробую с осцилографом проверить.
Bmp брал отсюда, просто сохранил к себе и закинул в ЕСП.
:) нажимал и плей и аплоад. Поищу вторую ЕСП, может брак какой с первой.
1) на главной странице Led play mode: выберите скрипт и нажмите «Set param»
2) Во вкладку скрипта поместите какой-либо тестовый скрипт
3) нажмите на ней же кнопку save
По идее должно заработать. Все скрипты в примерах — рабочие.
1) на главной странице Led play mode: выберите скрипт и нажмите сохранить
2) Во вкладку скрипта поместите какой-либо тестовый скрипт
3) нажмите на ней же кнопку save
По идее должно заработать. Все скрипты в примерах — рабочие.
1. Так и делаю
2. Перехожу по ссылке Script, там уже есть нейкая последовательность символов
3. Ни кнопка Save, ни кнопка Activate не приводит к каким-либо действиям. Светодиоды не загораются.
Вставляю скрипты из примеров — тоже «тишина»
Есть еще один нюанс, если на странице конфигурации указать 50 светодиодов, то последний светодиод в гирлянде не работает, если указать 51, то работают все.
Скорость проигрывания BMP файлов можно задавать.
По умолчанию задержка составляет 10мс.
Для задания скорости проигрывания в имя BMP файла должна входить последовательность #ddd, где ddd – задержка в миллисекундах между записью строк из файла в LED.
Те eff1#500.bmp будет выводить строку каждые 500 мс.
middle#100.bmp — каждые 100 mc
Собственно для этого операция переименования и сделана — чтобы поменять скорость файла без доп средств.
Ограничения максимальной яркости пока нет.
В принципе можно добавить — если нужно.
Но это отожрет прилично ресурсов. На точку надо будет выполнять одну операцию умножения и деления. Можно попробовать на сдвигах сделать. Те снизить яркость на 1/16, 1\8, 1/4, 1/2. — по идее на макс скорости сказаться не должно
понятно.
сейчас с другим разбираюсь — с IR командами. забивает FFFF в «IR Code» в веб-морде.
на одно нажатие на пульте выдает обработку два раза, результат с сериал:
вбил скрипты из .rtf — второй ребутит машинку. остальные ведут себя как-то странно. например — поставил первый из примеров. — тишина. загрузил 4-ый — все побежало. снова первый — перецвет нескольких диодов и тишина. третий — побежало, снова первый — бегает одна точка с хвостом туда-сюда. 5 — заболнение работает. снова 1-ый — а он теперь от 1 до последнего и обратно бегает, разными цветами…
ничего не понимаю )))
а для чего кнопки Prev и Next на закладке скриптов? отвечаю сам себе — файлы в режиме BMP переключают…
Если автор не против то пусть он добавит мои картинки в проект или поместит в статью, просто я через какое то время могу удалить их с яндексдика. Спасибо!
1) количество светодиодов теперь стало больше на 1 (65 при вводе 64 в веб-морде)
2) второй скрипт по-прежнему ребутит систему. начал вбивать его вручную частями, нажимая Save. после ввода система ушла в циклический ребут. вывод на сериал:
когда выложишь? и может обновишь под IRremoteESP8266 2.3.0?
из пожеланий — неплохо было-бы загружать bmp папкой, а не по-файлово. и в разных папках можно держать разные подборки bmp эффектов с разной скоростью. пока думаю — можно скрипт писать, на проигрывание определенной последовательности, но туда бы добавить регулировку скорости не из названия файла…
еще момент — не получается отформатировать зажатием кнопки при старте. просто не стартует…
Спасибо DenW за проект! Как и обещал, буду выкладывать красивые BMP для проекта. В программировании не силен, но рисовать BMP умею. Не судите строго, для себя рисовал. Если кому, что то надо, давайте обсудим эффект, может и получится, :) yadi.sk/d/meA87lcL3QZviY
Спасибо DenW за проект! Как и обещал, буду выкладывать красивые BMP для проекта. В программировании не силен, но рисовать BMP умею. Не судите строго, для себя рисовал. Если кому, что то надо, давайте обсудим эффект, может и получится, :) yadi.sk/d/meA87lcL3QZviY
P.S. Не называйте файлы ВМР кирилицей, они загружаются и работают, но не периименовываются и не удаляются
DenW тут люди задавали вопросы по поводу циклической перезагрузки есп, у меня такое было могу рассказать как вышел из ситуации если интересно кому нить, через попу конечно я сделал это, но сделал
Супер красиво!
Еще раз, огромное спасибо!
Если зиму без проблем переживет, то сделаю еще таких, шиуки три четыре по 100 светодиодов!
А то, каждый год 2-3 покупаем, остается 1 живая более менее. Эти должны на улице получше жить. vk.com/video783421_456239032?api_access_key=650ce2f5ddf74ef828
я думал это ваш скрипт :)
Хотя картинок тоже рисовал, но суетился и было впечатление что запустился скрипт. Скачаю и выложу картинки завтра-послезавтра, они на работе.
На скорую руку, запаралелил два старых блока зарядок от телефонов по 650мА
Интересный проект.
А вы не пробовали копать формат файлов *.led, которые поддерживаются готовыми контроллерами для RGB светодиодов, такими как T-1000S, например?
Для него (как я вчера узнал) существует готовый редактор, называется LedEdit:
Это понятно, что вы делали свой контролер, просто можно было бы использовать существующий формат файлов — чтобы применять готовый редактор. Вопрос конечно в том, есть ли по формату документация, и если нет — насколько его сложно расковырять.
А по поводу матрицы или линейки — там в начале вроде задаётся конфигурация светодиодов в проекте, тут просто такой пример выбран.
Все прошил, все ОК — версия 1.9 с гитхаба.
Гирлянда не работает, загрузил все файлы bmp. (от, изначально, купленного блутус контроллера — все ок) :(
подключился по wi-fi, потом сделал клиентом,
подключилось к домашнему файфаю, загрузил все картинки с гитхаба.
Все равно не моргает??
В чем проблема?
Загрузите бинарник — он точно рабочий.
Если вы видите меню — контроллер работает.
Вывод с контроллера правильный?
Есть возможность посмотреть что на выводе что на светодиоды происходит?
если там есть импульсы — дело в ленте или в согласовании уровней.
По светодиодам видел совет первый светодиод питать от контоллера а остальные от источника.
была как-то раз проблема с питанием — подключите ЕСП и гирлянду к одному источнику — для проверки.
Еще как-то была ошибка — не к той стороне гирлянды подключали ;)
выберите файл, поставьте точку на Play и нажмите EXEC
Спасибо за помощь в подключении :)
Но, не понял о чем это «с RX контроллера провод идет на сторону светодиода где чипа нет» ??
Там в каждом чипы есть :)
«пример от Neopixel в плату» — где такое взять :)?
Зайдите в каталог Examples библиотеки
загрузите проект NeoPixelTest
соберите его и загрузите в ЕСП
если 4 диода не замигают — проблема с лентой\уровнями сигнала
я встречал рекомендацию подключить питание первого ЛЕД через 1-2 диода.
ЕСП это 3,3v контроллер. А гирлянда — 5. те первый ЛЕД может видеть шину как всегда 0. Хотя обычно уровень лог единицы с 2,5v начинается и 3,3 с ЕСП хватает.
включив диод в цепь питания ЛЕД напряжение питания понизится на ~0,7v и будет около 4,3v
два диода на питании первого ЛЕД дадут ~3.6v — тогда 3,3 с ЕСП ЛЕД точно увидит.
В общем надо рыть в направлении согласования уровней контроллера и ЛЕД (предполагаем что сама гирлянда исправна)
Еще какой-нибудб скетч для WS2812 попробуйте собрать\загрузить.
Если есть 5в AVR (Arduino Uno,Nano итд) — на ней ленту проверьте.
по питанию все ОК, на дальнем конце гирлянды 4,99 В. Гирлянда исправна — от родного SP110E с блутусом все прекрасно работает.
Пробовал прошивать Ваш бинарник с гитхаба, вообще не работает сервер на есп.
про диоды: так один или 2, не понял и как включать??
Посмотрел на Али — у вас ESP8266 на плате а у WemosD1 модуль ESP12F распаян.
Хз чем они отличаются. Но видимо отличия есть.
У меня такой платы нет и проверить не на чем.
Возможно по этому и бинарник не работает.
Начинать надо с теста из NeoPixel. Заставить его работать. Возможно станет понятно что в проекте править.
Диоды 1 или 2 включите между +5в БП и гирляндой чтоб снизить напряжение питания гирлянды. Но дело скорее в контроллере.
В общем все заработало, но только питание нужно было подать на висящие в воздухе белый (-) и красный (+). А управление через черный разъем!
PS: где-то сегодня увидел такой тип подключения в нете и решил попробовать :) Все работает! Спасибо.
аналогично заработала RGB лента на 5050 диодах, питание, только на контакты висящие в воздухе! По другому не работала!
Спасибо за помощь.
Все прошил, все ОК — версия 1.9 с гитхаба.
Гирлянда не работает, загрузил все файлы bmp. (от, изначально, купленного блутус контроллера — все ок) :(
подключился по wi-fi, потом сделал клиентом,
подключилось к домашнему файфаю, загрузил все картинки с гитхаба.
Все равно не моргает??
В чем проблема?
Это вторая версия обзора.
Предыдущую кривую версию я случайно опубликовал — вместо того, чтобы занести ее в черновики.
Я думал будут глаза вылезать, а оказалось уши растут))))
Скажите, а библиотеки для Arduino, будут работать с ESP8266?
Хочу попробовать ESP8266, есть наработки для ардуино. Хочу их перенести на ESP8266.
Назначение периферии выводам в ESP8266 отличается.
WS2811 отличается тем, что это голый чип, а WS2812 — светодиод с чипом.
Самое простое — картинки рисовать и грузить.
У меня вопрос напрямую обзора не касается. Кто то из жителей Украины заказывал из этого магазина
Магазин:
GREAT WALL Electronics Co., Ltd ru.aliexpress.com/store/731260?
добавляю в корзину и там пишет «этого товара больше нет в наличии»
Написал продавцу.
Посмотрим что ответит.
Для Украины у него доставка Новой поштой и бесплатная) точнее SF express.
Я помню захотел товар но в магазине его не было. Но продавец сказал «подожди 30 минут и я добавлю».
Когда товар появился с надписью " наличии 5000 штук" я его добавлял в корзину и он становился " нет в наличии". Продавец сказал что то глюки али и надо ждать пока они исчезнут.
В итоге на следующий день — я смог нормально купить.
А вчера наблюдал другой глюк. В отзывах " о магазине" есть отзыв на товар. Но если перейти к товару — отзыва нет, но есть другой…
Нова Пошта… хм:)
Собственно, новой почтой с али уже с десяток заказов получил, причём 12-значный код SF express (начинается с 9-ки и еще был с 6-ки) можно трекать на сайте НП в разделе международная доставка/доставка по всему миру. Со временем там появляется уже внутренний трек НП (Дополнительные номера:) вида 206000хххххххх, который уже хавается приложением НП
Например, вот смотрите скрипт, вот видео эффекта. Вот BMP картинка, вот мигает гирлянда.
+ за статью и в карму однозначно.
Я просто запилил порядка 20 понравившихся мне эффектов в ардуину со случаным перебором режимов.
Я тот еще оператор.
Я надеюсь, что кто-нибудь повторит и создаст красивые эффекты в скрипте или картинках :)
И поделится ими.
Библиотека NeoPixel поддерживает разные форматы передачи.
Мой проект поддерживает до 256 светодиодов.
Те 5x50 можете последовательно подключить. Так что требуемые вам 100 перекрывается с запасом.
Могу приделать к WEB отдельный переключатель типа кристаллов — если кто поможет в отладке.
У меня только WS2811 есть.
Во всяком случае у меня она пока не сгорела.
Я же в статье писал.
В ESP8266 есть встроенная файловая система 3гб, в нее можно через WEB грузить произвольные картинки в BMP.
Что в картинке нарисуете — то и будет.
Те все уже украдено до нас ;)
Нужно только наделать BMP картинок с красивыми эффектами и поделиться ими.
Ну или если еще мегамозг найдется — то скриптами :)
Но у встроенной файловой системы, насколько я понял, есть особенности, которые не позволят ее использовать так же легко и свободно, как полноценную флэшку в кардридере. Много где встречал упоминания о том, что встроенная файловая система ЕСПшки больше смахивает на CDFS — дополнить существующий файл нельзя, изменить вроде бы можно, но только если новый размер не превышает длину старого файла. Кроме того, максимальная длина полного имени файла ограничена всего 32 байтами.
Кстати, почему вы сделали шаблоны страничек в виде текстовых констант, а не поместили их во встроенной ФС?
Папку скопировал — запустил сборку и все.
А так надо будет еще объяснять как данные в файловую систему поместить.
Ну и попробовать хотелось — как это в работе будет (размещение во flash вместе с кодом).
Изменений файлов в этом проекте нет.
Через WEB загрузили — и проигрываем. Грузятся файлы нормально. 32 знаков вполне достаточно для данного приложения. Мы же не будем там полноценную OC разворачивать. А десяток-другой файлов и так видны будут.
BMP редактор, конечно, можно запихать в ESP8266 — но надо ли?
Гораздо удобнее навертеть чего-нибудь на большом компе — и тут же передать в контроллер посмотреть на эффект. Загрузка проходит мухой.
Потом сохранить эффекты в файлах — и переключать их по желанию.
Именно это мой проект и делает.
если бы ты просто сказал, что он дает 12в и 4.3а, то тебе бы сразу сказали, что он пойдет для ленты
Может еще кто нибудь со сдвигом в мозгах найдется — кроме меня ;)
Можно BMP проигрывать — там такого выноса мозга нет.
Для WS2812B — nтот же формат передачи — те работать должны.
А ленты — что ленты, я уже 3 штуки адресуемых накупил, одну давно, с дискретными чипами и на 5050, другую такую же, как и обозреваемая, для ёлки (и тоже пришла после НГ, ЛОЛ), а третья полноценная 2812, с чипами в диодах, буду делать семисегментные часы.
Если добавить автоматическое позицирование конкретного LED в пространстве — оно и получится.
В принципе это возможно сделать в программе для телефона, но заниматься телефоном пока лень.
Я и так с PasswordKeeper дорогу Mooltipass перебежал :)
Они 80$ хотят а мое устройство 8 стоит.
Правда у них функционал пошире.
Они хитрую вещь сделали:
— на елку как попало вешается лента из диодов APA106 или подобных (я их упоминал в обзоре)
— далее выполняется процедура синхронизации
включаем по одному диоду и через камеру фиксируем его положение
— потом отрисовываем треугольник на экране и проецируем на него эффекты + редактор в приложении.
Как делать понятно, но лень
Вот еще как источник вдохновения. Может интересно будет?
G-Sensor прикрутили.
И на его данные эффекты повесили.
Там все не слишком сложно.
Это очень нишевое решение.
У меня знакомых с бордами нет — не для кого и делать.
Я балансирующего робота делал — но до конца пока не довел.
Механику и железо с G-сенсором спаял-собрал.
Надо ПО написать — но все вдохновения нет.
У меня еще охотник на котов лежит в таком же состоянии — механика и железо собраны. Надо ПО писать. Ща как мелочь начнет лезть куда не надо — может разозлюсь и допишу. Идея — отслеживание кота в запрещенной зоне и расстрел водой. Здорово выглядеть должно — как он осматривается и брызгается.
За этот проект меня здесь точно забанят и распнут :)
Делаю на WS2812, gy-521, взял еще попутно такой корпус: ebay.com/itm/371760734385 Думаю напихать вовнутрь каких-нибудь губок, залить это дело термоклеем и как тестовый вариант покатит. Но опять же как это закрепить на доске? На саморезы не хочется, а скотч 3M ненадежно. Как быть?
Можно еще попробовать залить прозрачным силиконом.
К доске крепить можно временно — использовать ленту для гипсокартона
А окончательно — без винтов не обойтись.
Либо плоский корпус под низ доски и подсунуть крепление корпуса под крепление колесиков. Так более эстетично будет.
Если питание взять от плоской LiPo батареи — все можно сделать очень компактно и запихать под доску. Правда на доске по рейлингам кататься стремно будет :)
Вообще очень интересный у вас проект получился, есть в чем поразбираться.
3 Мб
Спаять десяток проводов — а дальше через WEB грузить BMP картинки и проигрывать их.
В paint нарисовали, браузером на страничку зашли — загрузили.
Оно и мыргает — как нарисовали.
www.twinkly.com/en/ --эфекты понравились
Правда придется с BMP картинкой помучится.
Twinky сделали автоматическое преобразование расположения диодов в треугольник в приложении.
От отладки осталась строчка в web.cpp mWF_Mode=1;
Она и не дает подключиться в AP.
Ее прибить надо.
У этого продавца всякие гирлянды — и те, что требуют внешнего контроллери, и те что сами мигают. Не перепутайте!
Тут тебе и автономность, и возможность графического создания эхвектов (бмп), и даже скриптовый язык свой есть )
Если получится завести у себя сей ништяк, то отпишусь об ощущениях и чего хватает\нехватает.
На данный момент смущает максималка в 256 пикселей. Мож имеет смысл сделать версию без «скриптов», но с большим кол-вом пикселей? Или без поддержки bmp, но только тогда скрипты непонятно как пользовать, ибо описание вообще не в дугу (без обид, но правда непонятно вовсе.) Хотя бы расписать примеры пошагово, мол тут мы делаем то, а вот тут — то. Посимвольно, книгу писать я не прошу )
Да получится, там ничего сложного нет.
Ограничение 256 взято чтобы в 1 байт влезал адрес LED — просто с потолка.
Реально памяти в контроллере достаточно. Можно и больше LED подключить. Цена — снижение скорости обновления.
Где проходит предел — я особо не исследовал. Но 1024 потянет без тормозов — я так думаю.
Если у кого будет _реальная_ нужда в бОльшем количестве LED — пишите — сделаю.
Скрипты — это для Гикнутых ;)
Есть работающие примеры. Их можно модифицировать — чтобы не совсем с 0 писать.
По сути — это язык программирования для сорок ;). Сродни Brainfuck.
Нормальным людям проще BMP рисовать и проигрывать.
Всё заработало славно.
Что заметил:
1. Не пофиксен порядок RGB. В этих лентах он идет GRB, Это довольно известная особенность и более менее крупные проекты/библиотеки это учитывают. Зашил BMP, но цвета оказались на ленте не те. Поменял при помощи IrfanView порядок на GRB. Цвета на ленте стали похожими на цвета в файле. Считай что доказано )
2. ИМХО было бы неплохо сделать интерполяцию между строками. Это в некоторых случаях позволит сэкономить место. Если мы захотим воссоздать на ленте плавно бегущую радугу например, то для плавности BMP должна будет быть большого размера (много строк). А за счет встроенной интерполяции — плавность перехода между каждой итерацией (строкой в BMP) будет обеспечивать сам контроллер. Можно сделать несколько уровней пересчета, тем самым добиваясь нужной плавности.
3. Для тех, у кого нет фотошопа или навыков работы в оном — рекомендую замечательный ресурс patterncooler.com
Находите нужный паттерн, бегунком PatternSize (по центру снизу) регулируете нужный размер (по количеству пикселей в вашей ленте) и загружаете кнопкой справа внизу.
Файл загрузится в формате PNG, поэтому его нужно будет пересохранить в BMP. Можно воспользоваться для этого встроенный в Windows редактор PAINT. Откроете сохраненный файл в PAINT и сохраните в 256-ти цветный BMP. Ну и далее при помощи вэб-морды прошитого контроллера подгрузите файл и поставьте его на воспроизведение.
Сайт позволяет менять цветовые схемы для каждого из паттерна. По сути паттерны отображены столбиками. В каждом столбце — просто три варианта данной текстуры. Редактируются кнопочкой внизу каждого столбца. Там уже сами разберетесь что к чему ;)
Все текстуры на сайте бесшовные, поэтому можно не переживать о том, что не регулируется количество строк (высота). Если играть эту текстуру по кругу — перехода не заметите.
Вроде всё сказал, что собирался. Если еще чего замечу — то отпишусь.
Я попробовал BMP на 256 пикселей, и размер файла получился в районе 200кб. Для 3-х Мб выходит, что у нас может быть 10-15 BMP размером 256x256 пикселей. Как бы маловато )
Вернее, не то чтобы мало, но и не много )
Ведь для «плавности» переходов у нас должно быть довольно много «строк».
В качестве мозгового штурма могу обратить внимание автора на неплохую библиотеку WS2812FX
Понимаю, что лезу в чужой монастырь со своим уставом, но имхо проще прикрутить эту библиотеку, чем объяснять людям как пользоваться встроенным в проект языком ))
Таким образом функционал расширится весьма. Ведь простому смертному из этого проекта доступно управление только с помощью BMP.
Может быть есть энтузиасты, которые смогут прикрутить библиотеку?
Сделать еще одну вкладку, и туда внедрить нужные куски кода из этого иливот этого проектов.
И получим функциональный гаджет, применимый как для обычного неподготовленного юзера, так и для «гикнутого программера».
Обоймем все слои, так сказать! )
p.s. но лимит в 256 пикселей в этом случае желательно бы снять.
Если будет несколько запросов от сообщества — доработаю.
К тому же модуль SD карты покупать надо — у меня его нет.
А модуль покупать ненадо. Можно заколхозить из переходничка под микро карту.
nathan.chantrell.net/20111128/diy-micro-sd-shield-for-arduino/
пишу, вдруг кому на пользу будет )
После появилась сеть ESP_******
Подключился, появилась веб морда, но поменять на клиента и указать wifi ssid и pass не получается
что пошло не так?
Что-то странное.
А морда как в статье? Желтенькая?
Я бы сказал, что это не мой проект загрузился.
На всякий случай возьмите последнюю версию с github — там несколько ошибок поправлено.
И загружайте прямо из среды IDE
Кстати, плату я устанавливал NodeMCU 1.0 (ESP-12E)
Остальные параметры сохраняются?
Если да — у вас старые исхоники
Проверьте:
От отладки осталась строчка в web.cpp mWF_Mode=1;
Она и не дает подключиться в AP.
Ее прибить надо.
Сохранить ничего в веб морде не могу.
может руки не оттуда растут!!))??
Что-то с записью в EEPROM.
Попробуйте после включения нажать на 6 сек кнопку — это должно записать значения по умолчанию в EEPROM
Можно еще грубее сделать:
поставьте в void CGlobalData::Start(void) в самый конец
FlashWr();
прогоните 1 раз до активации WEB
потом FlashWr(); уберите
Пробовал FlashWr(); — тоже 0
Потом взять плату NodeMCU 1 — прошился, но настройки поменять не могу
help sos,AAAAAAA
В какой версии Arduino лучше собирать?
Может дело в библиотеках которые инсталируются со средой IDE?
ESP8266 одна из последних.
У вас почему-то не работает запись в EEPROM
В конец Start() допишите:
…
pinMode( PIN_LED, OUTPUT ); // Set OnBoad LED as an output
WebInit();
Serial.print( mWF_Id );
for( int k=0; k<8; k++ ) mWF_Id[k] ++;
FlashWr();
FlashRd();
Serial.print( "==" );
Serial.print( mWF_Id );
}
В COM консоли при старте должна появится строка с разными значениями вокруг знаков ==
Если там с обеих сторон написано WebLight — Ж…
Не работает запись\чтение в EEPROM
Почему — хз.
Может битый ESP, но скорее всего проблема где-то в софте\библиотеках
Самое простое — снести все и поставить заново.
ESP ставить через WEB из менеджера библиотек.
Диагноз один и тот же. Буду ковырять…
надо какого-то волгшебного пенделя дать)) и все заведется.
так, где мой бубен...?
Вот что получаю в консоли после старта
ґEь|Vс`fSKэ$јрGяяlз
ЉшD!ќ¤фЗ
В мониторе порта циклическая перезагрузка
WebLights v1.01. SPIFFS:Ok
LEDs:50, SSID:WebLights, Pwd:weblights,
Exception (3):
epc1=0x401002f0 epc2=0x00000000 epc3=0x00000000 excvaddr=0x4000630a depc=0x00000000
ctx: cont
sp: 3fff0e40 end: 3fff12e0 offset: 01a0
>>>stack>>>
3fff0fe0: feefeffe feefeffe feefeffe feefeffe
3fff0ff0: 00000000 00000000 0000001f 3fff10f0
3fff1000: 00000484 00000484 000003fe 401004f4
3fff1010: 00000000 00001000 000003fe 40107238
3fff1020: 40004b31 3fff1050 0000001c 402282d5
3fff1030: 40105e7a 402283bd 3fff4414 000003ff
3fff1040: 000003fd 3fff10f0 3fff4414 000003fd
3fff1050: ffffff01 55aa55aa 0000001b 0000001c
3fff1060: 0000001c 000000fb 000000f9 000003ff
3fff1070: 402287ac 3fff4414 3fff4414 000000ff
3fff1080: 00000001 3fff1110 40228933 00000008
3fff1090: 3fff4414 000000ff 3fff10f0 00000000
3fff10a0: 3fff44d4 3fff1151 00000001 402289c0
3fff10b0: 3fff10f0 3fff4414 3ffef454 3fff01fc
3fff10c0: 3fff1110 3fffa74c 3fff4414 3ffef454
3fff10d0: 402289fc 3ffeef54 00000000 3fff1140
3fff10e0: 4020a0a4 40226986 3ffeef54 3ffef520
3fff10f0: 3ffef400 00000870 3fff1170 00000000
3fff1100: 401072d5 00000000 00000000 3fff3bf8
3fff1110: 3fff2900 00000028 3fff1198 40210ac4
3fff1120: 00000008 00000018 00000018 3fff01fc
3fff1130: 3ffef454 3ffef520 3fff01fc 4020e771
3fff1140: 3fff1170 3ffe8568 00000032 3ffeef58
3fff1150: 3ffeef68 ff000000 3ffeef54 4020e784
3fff1160: 0000000c 3ffeff04 3ffeef54 402087d0
3fff1170: 44454c0a 30353a73 5353202c 573a4449
3fff1180: 694c6265 73746867 7750202c 65773a64
3fff1190: 67696c62 2c737468 00000020 00000030
3fff11a0: 3ffef550 3fff01fc 00000870 00000030
3fff11b0: 00000001 000000fc 3fff29c8 3fff29c8
3fff11c0: 3ffe84a0 00000008 3fff29c8 40202310
3fff11d0: 3fff01d8 000001f7 000001f7 4010020c
3fff11e0: 00000090 3fff437c 3fff2ac4 40100668
3fff11f0: 00000014 00000fb8 000001f7 000001f7
3fff1200: 3fff29c4 3ffe84a0 3fff1250 00000870
3fff1210: 00000090 3ffef514 3ffef514 4020ea84
3fff1220: 3ffe84b0 00000080 3ffef514 4020ead3
3fff1230: 00000007 00000007 00000001 40207090
3fff1240: 3ffeef58 3ffeef68 60000b28 4020ec7d
3fff1250: 4020d40a 00000003 4020d402 00000870
3fff1260: 3ffef454 3ffef520 3ffeef54 4020733c
3fff1270: 3ffe8e68 00000000 000003e8 feefeffe
3fff1280: 00000000 00000000 00000000 00000000
3fff1290: 3ffefe54 00000001 feefeffe feefeffe
3fff12a0: feefeffe feefeffe feefeffe 3fff02b8
3fff12b0: 3fffdad0 00000000 3fff02b2 4020735c
3fff12c0: feefeffe feefeffe feefeffe 4020f454
3fff12d0: feefeffe feefeffe 3fff02c0 40100718
<<<stack<<<
ets Jan 8 2013,rst cause:4, boot mode:(3,7)
wdt reset
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v3de0c112
~ld
Строка
«WebLights v1.01. SPIFFS:Ok
LEDs:50, SSID:WebLights, Pwd:weblights, » говорит о том, что СОМ порт работает, файловая система OK.
Добавьте тест на EEPROM перед WebInit. Если падает в WebInit — надо глянуть параметры вызова процедуры, на которой падает.
Кристалл точно 12E? может другой, с меньшим размером памяти?
Запускается нормально, но потом падает при обращении в веб серверу.
Пробовал и запись\чтение EEPROM, всё ок работает.
Самое интересное, что после нескольких таких падений, начинает писать что LEDs: 256.
Пробовал переключить в WiFi-клиента, переписав код, не подключается:(
Платка Lolin NodeMCU v3. Пробовал разные скетчи примеры заливать, всё работает нормально, и WiFi-клиент и AP, запись чтение EEPROM.
Поможете с дебагом?
Вы последнюю версию взяли?
После первой выкладки я мелкие баги правил и обновлял на github.
Ну и та же рекомендация — плз найдите точку, после которой падает и опишите, что делали.
Лучше в личке
при прошивке загораются все огни, белым.
после перезапуска гаснут.
само не бегает ничего… корочу на 0 gpio0 (сброс) снова не бегает скрипт по умолчанию
появляется точка Веблайт, захожу, подключаюсь.
захожу на 192.168.4.1 вижу интерфейс, загружаю графический файл с этой странички.
возвращаюсь в настройки, включаю bmp:one
жму set params и опять ничего…
помогите, НГ на носу :)
На вкладке Files файл и Кнопку Play нажали?
Prev-Next — тыкали?
bmp должен быть 24 бит
раз сеть появилась — значит esp работает.
Осциллограф есть?
посмотреть шевелится ли что на RX?
Обратите внимание — средняя нога светодиодов к выводу RX идет!
попробуйте VisPinger загрузить.
хотя, как я понимаю, на эти же ноги идет при прошивке код в чип? значит нога живая…
мне не понятно
#define PIN_BUTTON D3 // I GPIO0 — D3 Button
#define PIN_LED D4 // O GPIO2 — D4 OnBoard LED
#define PIN_IRDA D5 // I GPIO14 — D5 IRDA receiver
может у моей платки ножки по другому расположены?
При старте по USB что приходит?
Файловая система инициализируется нормально?
загруженный файл в списке файлов виден?
Добавьте в процедуру void CGlobalData::LedSetPxl( uByteLong clr ) вывод данных в USB Serial.print(clr);
если мусор в консоли побежит — значит какие-то цвета пишутся на вывод. И если на Rx так ничего и нет — что-то с библиотекой вывода.
Попробуйте установить точно те компоненты, что я выложил.
Это недостаток Arduino — бывает что новые версии не совместимы со старыми проектами.
Перейдите на вкладку скрипта, загрузите один из скриптов и нажмите сохранить. если и после этого ничего дрыгаться не будет — значит чем-то эта плата отличается.
Надо wemos D1 брать. Ее можно попробовать в offline купить — чтобы побыстрее.
(непередаваемая и не копируемая абракадабра) и потом
LEDs:50, SSID:WebLights, Pwd:weblights, Mode:AccessPoint 192.168.1.1/255.255.255.0/192.168.1.1, IP:192.168.4.1
нашел в закладке main
void LedSetPxl( uByteLong clr )
в какую закладку мне добавить строчку
void CGlobalData::LedSetPxl( uByteLong clr )
{
Serial.print(clr);
}
и правильно я всё пишу?
wemos D1 я заказал на прошлой неделе, в середине декабря должно прийти.
скачиваю версию 1,6,9 как у Вас, была у меня была установлена 1,8,5
я имею в виду библиотеку NeoPixel — надо ее из моего проекта взять
про абракадабру:
должна быть строчка «WebLights v1.01. SPIFFS:» и что-то далее. — а вот что у Вас?
LED итд позже идут.
отладку вот так поставьте:
…
int i = s.mPosLed;
Serial.print(clr);
switch( s.mNxtMode )
…
Ну и скрипт попробуйте — замигает что-то или нет.
сделал так:
// Set pixel color and select next LED 00RRGGBB
void CGlobalData::LedSetPxl( uByteLong clr )
{ TStack &s = mCtx[mCtxCur];
int i = s.mPosLed;
Serial.print(clr); //добавил эту строчку
switch( s.mNxtMode )
{ case '>': mLeds.ShiftRight( 1, i, i+s.mNxtStep ); break;
case '<': mLeds.ShiftLeft( 1, i, i+s.mNxtStep ); i += s.mNxtStep; break;
}
выдает ошибку
sketch\led.cpp: In member function 'void CGlobalData::LedSetPxl(uByteLong)':
led.cpp:85: error: no matching function for call to 'HardwareSerial::print(uByteLong&)'
Serial.print(clr);
и ее много строк ссылок (мне кажется не существенно)
Вот так надо:
Serial.print(clr.uL);
Bmp брал отсюда, просто сохранил к себе и закинул в ЕСП.
:) нажимал и плей и аплоад. Поищу вторую ЕСП, может брак какой с первой.
1) на главной странице Led play mode: выберите скрипт и нажмите «Set param»
2) Во вкладку скрипта поместите какой-либо тестовый скрипт
3) нажмите на ней же кнопку save
По идее должно заработать. Все скрипты в примерах — рабочие.
1) на главной странице Led play mode: выберите скрипт и нажмите сохранить
2) Во вкладку скрипта поместите какой-либо тестовый скрипт
3) нажмите на ней же кнопку save
По идее должно заработать. Все скрипты в примерах — рабочие.
2. Перехожу по ссылке Script, там уже есть нейкая последовательность символов
3. Ни кнопка Save, ни кнопка Activate не приводит к каким-либо действиям. Светодиоды не загораются.
Вставляю скрипты из примеров — тоже «тишина»
Есть еще один нюанс, если на странице конфигурации указать 50 светодиодов, то последний светодиод в гирлянде не работает, если указать 51, то работают все.
Режимы BMP: One и BMP: All работают нормально.
еще вопрос — общую максимальную яркость как-нибудь ограничить можно?
и по скорости проигрывания файлов — регулировку кнопками на веб-морде можешь добавить? и сохранять значение в имени файла при переходе на следующий…
Скорость проигрывания BMP файлов можно задавать.
По умолчанию задержка составляет 10мс.
Для задания скорости проигрывания в имя BMP файла должна входить последовательность #ddd, где ddd – задержка в миллисекундах между записью строк из файла в LED.
Те eff1#500.bmp будет выводить строку каждые 500 мс.
middle#100.bmp — каждые 100 mc
Собственно для этого операция переименования и сделана — чтобы поменять скорость файла без доп средств.
Ограничения максимальной яркости пока нет.
В принципе можно добавить — если нужно.
Но это отожрет прилично ресурсов. На точку надо будет выполнять одну операцию умножения и деления. Можно попробовать на сдвигах сделать. Те снизить яркость на 1/16, 1\8, 1/4, 1/2. — по идее на макс скорости сказаться не должно
сейчас с другим разбираюсь — с IR командами. забивает FFFF в «IR Code» в веб-морде.
на одно нажатие на пульте выдает обработку два раза, результат с сериал:
да, библиотека IRremoteESP8266 обновилась до версии 2.3.0, пришлось еще подключить IRrecv.h
длинное нажатие передает как FF
А может бибилиотека…
ничего не понимаю )))
а для чего кнопки Prev и Next на закладке скриптов? отвечаю сам себе — файлы в режиме BMP переключают…
Возьмите обновление.
Нарисовать картинку кажется просто — а это не совсем так.
Сделать что-то красивое не так уж легко.
Как известные скульпторы говорят — «Просто отсекаю все лишнее» ;)
А я просто рад, что мне спасибо говорят и мой проект используют.
2) второй скрипт по-прежнему ребутит систему. начал вбивать его вручную частями, нажимая Save. после ввода система ушла в циклический ребут. вывод на сериал:
В доке в примерах ошибка была.
Кнопки через () определяются а не через <>
из пожеланий — неплохо было-бы загружать bmp папкой, а не по-файлово. и в разных папках можно держать разные подборки bmp эффектов с разной скоростью. пока думаю — можно скрипт писать, на проигрывание определенной последовательности, но туда бы добавить регулировку скорости не из названия файла…
еще момент — не получается отформатировать зажатием кнопки при старте. просто не стартует…
читайте доки, они — рулез! :) ~tttFlName нашел )))
Пожелания учту. Во всяком случае — часть :)
Благодарю за помощь в поиске багов!
P.S. Не называйте файлы ВМР кирилицей, они загружаются и работают, но не периименовываются и не удаляются
А то, только сегодня на ёлку повесил :) все радуются!
В новой еще 2 серьезных клопа исправлено.
Это хорошо, что радуются!
Еще раз, огромное спасибо!
Если зиму без проблем переживет, то сделаю еще таких, шиуки три четыре по 100 светодиодов!
А то, каждый год 2-3 покупаем, остается 1 живая более менее. Эти должны на улице получше жить.
vk.com/video783421_456239032?api_access_key=650ce2f5ddf74ef828
Необычно на дереве смотрится.
Надо будет тоже на даче пару елок посадить.
Какой БП использовали?
Плз пришлите эффект — я его в проект включу.
И в видео ссылку на эту статью плз добавьте — может еще кто сделает!
А если разные картинки состыковать по первой и последней строке — еще лучше будет.
Хотя картинок тоже рисовал, но суетился и было впечатление что запустился скрипт. Скачаю и выложу картинки завтра-послезавтра, они на работе.
На скорую руку, запаралелил два старых блока зарядок от телефонов по 650мА
выделял файл, ставил «load» и exec. и ничего…
сижу на больничном, файлы на работе, смогу в понедельник перекинуть
yadi.sk/d/66_BfEL23QzfFy
А вы не пробовали копать формат файлов *.led, которые поддерживаются готовыми контроллерами для RGB светодиодов, такими как T-1000S, например?
Для него (как я вчера узнал) существует готовый редактор, называется LedEdit:
Не пробовал.
Готовых контроллеров у меня нет.
Судя по виду он рассчитан на матрицу — а мой проект на линию.
Хотя линию можно и сложить.
А по поводу матрицы или линейки — там в начале вроде задаётся конфигурация светодиодов в проекте, тут просто такой пример выбран.
Гирлянда не работает, загрузил все файлы bmp. (от, изначально, купленного блутус контроллера — все ок) :(
подключился по wi-fi, потом сделал клиентом,
подключилось к домашнему файфаю, загрузил все картинки с гитхаба.
Все равно не моргает??
В чем проблема?
установлен режим работы скрипт (LedPlayMode)
Надо на BmpAll или BmpOne переключиться
Все равно гирлянда молчит :(
Если вы видите меню — контроллер работает.
Вывод с контроллера правильный?
Есть возможность посмотреть что на выводе что на светодиоды происходит?
если там есть импульсы — дело в ленте или в согласовании уровней.
По светодиодам видел совет первый светодиод питать от контоллера а остальные от источника.
была как-то раз проблема с питанием — подключите ЕСП и гирлянду к одному источнику — для проверки.
Еще как-то была ошибка — не к той стороне гирлянды подключали ;)
выберите файл, поставьте точку на Play и нажмите EXEC
На фото мой временный проект :) На конце гирлянды 4,99 V :)
Все питается от одного источника на 5В 2А :)
На всякий случай проверьте — с RX контроллера провод идет на сторону светодиода где чипа нет
для проверки ленты соберите и загрузите какой-нибудь пример от Neopixel в плату
Но, не понял о чем это «с RX контроллера провод идет на сторону светодиода где чипа нет» ??
Там в каждом чипы есть :)
«пример от Neopixel в плату» — где такое взять :)?
выход RX с ЕСП должен идти на сторону платы где чипа нет
в библиотеках что нужны для сборки проекта есть NeoPixelBus_by_Makuna
в библиотеке есть папка с примерами
надо собрать любой и посмотреть что будет
И с RX туда идет!
На фото видно — зеленый провод!
Библиотеку подключена естественно.
загрузите проект NeoPixelTest
соберите его и загрузите в ЕСП
если 4 диода не замигают — проблема с лентой\уровнями сигнала
я встречал рекомендацию подключить питание первого ЛЕД через 1-2 диода.
ЕСП это 3,3v контроллер. А гирлянда — 5. те первый ЛЕД может видеть шину как всегда 0. Хотя обычно уровень лог единицы с 2,5v начинается и 3,3 с ЕСП хватает.
включив диод в цепь питания ЛЕД напряжение питания понизится на ~0,7v и будет около 4,3v
два диода на питании первого ЛЕД дадут ~3.6v — тогда 3,3 с ЕСП ЛЕД точно увидит.
В общем надо рыть в направлении согласования уровней контроллера и ЛЕД (предполагаем что сама гирлянда исправна)
Еще какой-нибудб скетч для WS2812 попробуйте собрать\загрузить.
Если есть 5в AVR (Arduino Uno,Nano итд) — на ней ленту проверьте.
Пробовал прошивать Ваш бинарник с гитхаба, вообще не работает сервер на есп.
про диоды: так один или 2, не понял и как включать??
Хз чем они отличаются. Но видимо отличия есть.
У меня такой платы нет и проверить не на чем.
Возможно по этому и бинарник не работает.
Начинать надо с теста из NeoPixel. Заставить его работать. Возможно станет понятно что в проекте править.
Диоды 1 или 2 включите между +5в БП и гирляндой чтоб снизить напряжение питания гирлянды. Но дело скорее в контроллере.
Вот ссылка на покупку: aliexpress.com/item/32972443664.html
надо ESP8266 ESP-12 ESP12 WeMos D1 Мини (без pro) — ссылка на него в обзоре есть
гирлянда на первый взгляд такая же что и у меня
практически не работает.
Рекомендации все те же — запустить на ней пример из NeoPixel.
Если он не заработает — искать почему.
Эта настройка влияет на _порядок_ цветов — а ща у вас вообще никаких цветов нет :)
PS: где-то сегодня увидел такой тип подключения в нете и решил попробовать :) Все работает! Спасибо.
аналогично заработала RGB лента на 5050 диодах, питание, только на контакты висящие в воздухе! По другому не работала!
Спасибо за помощь.
Гирлянда не работает, загрузил все файлы bmp. (от, изначально, купленного блутус контроллера — все ок) :(
подключился по wi-fi, потом сделал клиентом,
подключилось к домашнему файфаю, загрузил все картинки с гитхаба.
Все равно не моргает??
В чем проблема?
1) Я собирал в 1.8.9. До 1-8-10 не обновлялся
2) из среды надо обновить NeoPixelLib