Первым делом, поздравляю всех с наступающими праздниками и Новым Годом!
В связи с наступающим Новым Годом из дальних углов была вытащена на свет новогодняя ёлка.
Многим должен быть известен тот факт, что ёлка хочет быть наряжена новогодними игрушками, гирляндами и прочей бижутерией. Ведь иначе это не ёлка, а непонятно что, да ещё и с иголками.
Исследовательское
С игрушками вроде проблем нет, а вот со светящейся гирляндой была одна небольшая сложность в связи с её полным отсутствием.
Эту оплошность было решено уладить покупкой подходящей светодиодной ленты с управлением от микроконтроллера что бы сделать процесс веселее.
После небольших исследований и взвешиваний разных вариантов выбор пал на RGB ленту с индивидуальным управлением каждого светодиода.
Подготовительное
На просторах интернета был найден подходящий вариант с RGB светодиодами. Особенность его в том, что каждый светодиод выполнен в отдельном корпусе, который защищён от влаги и пыли. Всё это хозяйство висит на достаточно длинном проводе и как раз подходит на роль гирлянды для ёлки.
Все светодиоды висят на проводах 20 AWG если верить написанному. Провода достаточно мягкие для такого сечения.
Каждый светодиод выполнен в виде обычного RGB светодиода и 8-лаповой микросхемы, которая принимает управление в виде хитрого сигнала и зажигает соответственные цвета у светодиода.
Микросхемы не промаркирована, но очень похоже на WS2811.
Главная особенность этих светодиодов в том, что каждый из них имеет встроенный контроллер, который позволяет адресовать каждый светодиод индивидуально. То есть, каналы R/G/B и их яркость можно управлять на каждом светодиоде.
Единственный недостаток — такой лентой кто-то должен управлять. То есть, обязательно нужен управляющий контроллер. В данном случае в этой роли выступает недорогой микроконтроллер.
Как-то давным-давно я собирал нечто похожее на Teensy 3.1, но сейчас у меня этой Teensy нет (кстати, очень классный модуль), но есть ESP8266. По этой причине на ближайшем собрании и после короткого голосования управляющим контроллером был выбран ESP8266. Приятным бонусом можно получить управление по WiFi если есть желание. Спасибо, Espressif.
Железное
За вечер «прототип» был собран (в кавычках, потому что прототип, конечно же, будет финальным вариантом как обычно).
Для подключения светодиодной гирлянды были выбраны такие компоненты:
Гвоздь программы — светодиодная лента на базе WS2812
Управляющий модуль на базе ESP8266
Блок питания 12В, 2А
Понижающий DC-DC преобразователь на 5 вольт для питания ленты
Небольшая пластиковая коробка, что бы спрятать все «ужасы нашего городка»
Ответный 5.5mm/2.1mm разъём для блока питания с установкой внутри коробки
4-контактный разъём для подсоединения светодиодной ленты
Получилась такая непритязательная конструкция:
Тут всё просто: слева — вход для питания, а справа — выход для подключения светодиодной ленты.
Если собирать с нуля, то по ценам получается примерно так:
Разъём под светодиодную ленту: $1.00 (но можно и так впаять)
Для ESP8266 модуля я планировал использовать модуль NodeMCU, но нашёл более компактный Wemos D1 Mini и поэтому использовал его. Вообще люблю почти все штуки от Wemos, прямо как для меня делают.
Блок питания взял от какого-то маршрутизатора или чего-то аналогичного. 12 вольт — достаточно популярное напряжение и поэтому найти было не проблема.
С понижающим DC-DC было требования, что бы можно было эффективно запитать всю ленту. Конкретно я использовал SD200 с переделкой под 5 вольт (выкинуть стабилитрон и напаять 12К резистор). Этот модуль может питать нагрузку до 3 Ампер.
Рассматривался более популярный вариант KIS-3R33S (3A) или KIW-3312S (2 * 5A), но я их сходу не нашёл у себя в закромах.
Схема достаточно простая (я тут поставил KIS-3R33S в силу его большей популярности):
Все компоненты сложил в коробку, добавил немного проводов, залил тонким слоем олова и подождал пока остынет.
Получились такие «ужасы нашего городка»:
Программное
Особо в программную часть вдаваться не буду, так как это выходит за рамки этого топика, но опишу вкратце если кому интересно.
Для программной части использовал проект esp-open-rtos (FreeRTOS на ESP8266) с библиотеками libesphttpd (веб сервер для обновления по воздуху) и ws2812_i2s (управление WS2812 по DMA).
Я реализовал достаточно простой эффект падающей цветной волны. Код выложил на GitHub.
В директории «firmware» лежит три бинарных файла для прошивки и map.txt с адресами для них на случай если кто не хочет собирать прошивку самостоятельно.
Демонстрационное
Что тут вообще можно описать словами? Надо смотреть! Смотрите.
Хотя, на видео цвета и общая динамика плохо передаётся. Тогда только собирать самому.
Планирую купить+49Добавить в избранноеОбзор понравился+48
+87
Завидую прямо… лежит пачечка всяких модулей на ESP8266 и ленты, но ума не хватает всё это стартануть… вроде иногда смекалка збс работает, а тут не по детски туплю… Автору радость и респект!
не знаю назначений пинов, не понятно как править код, базы нет. Вроде что-то там накатил в прошивку но «не работает». Легче кому-то заплатить за пару занятий (и важно, что быстрее), чем самому время терять. День как-то потратил, потом плюнул.
я там пытался. Честно. Толи плохо смотрел, толи сунули в неявный раздел, но вводной статьи с вводной базовой инфо по типу «esp8266 для чайников» не нашел
По поводу спецэффектов.
Я в инете нашёл видео с очень крутыми эффектами для такой ленты.
Вот как это выглядит:
В данный момент автор выложил эффекты для скачивания только в виде LED-файла для ws2811-контроллера T-1000S. Но автор обещал уже к этому рождеству выложить исходный код и для ардуино. Жду с нетерпением.
Поддерживаю, очень простая в использовании библиотека для быстрой сборки гирлянды. 53 готовых эффекта, из них штук 20 очень понравились. Но вылезает минимум в атмега328 код 26 КБ.
Спасибо за репозиторий.
Добавил в свой код несколько эффектов оттуда. Проблем нет добавлять что-то новое в виде эффектов, не очень понимаю почему так налетели по этому поводу. Ограничение тут только фантазия.
Особенно приятно, что не надо снимать всё это дело с ёлки или сидеть с компом и проводами прямо на звезде что бы обновлять прошивку, так как это можно сделать по WiFi.
Arduino — это не железо, это платформа. Память зависит от железа.
На ESP8266 памяти для такого вполне достаточно. Так же не надо путать RAM и Flash.
А какие «эти 8 режимов» весят 10MB? Я вроде ничего такого не видел. В моём коде 5-6 режимов и там ещё полно места есть на несколько десятков режимов, а то и больше.
Все «режимы» сидят во флешке, которая достаточно большая (порядка несколько мегабайт).
Оперативная память нужна для адресации самих светодиодов, у ESP8266 должно хватить на несколько сотен.
Там примерно то же самое. Чем же проще? МК + лента. Тут уже проще некуда.
Только у меня питание 12В с понижайкой, а там сразу 5В. Паять у меня чуть меньше, так как модуль готовый.
Кстати, в плане софта у ESP8266 больше свободы. При желании можно по сети управлять и загружать новые эффекты. Для того МК — это уже слишком сложно будет.
Там «примерно» на 56+ эффектов больше, чем у вас, которые уже написаны и отлажены. Поддерживает любую длину гирлянд, насколько тока дадите и насколько светодиодов не жалко. Проще 1 ультрадешевого МК быть не может.
«Свободу» ЕСП-шки еще пилить и пилить, пока оно у вас не умеет почти ничего из перечисленного выше.
Допускаю, что вы можете догнать или возможно перегнать, но пока этого не наблюдаю т.е. у вас лишь полуфабрикат изделия.
Суммируя: по моему личному мнению там и проще и значительно лучше в плане собрал — и пользуйся — радуйся, и функционал шире.
Любую длину наврядли, так как надо ресурсы МК, а на Atmega больше ограничений, чем у ESP8266. Предполагаю, что при паре сотен светодиодов у Atmega просто память закончится.
ESP8266 — это тоже достаточно дешёвый МК, но мяса больше.
Эффекты — это ведь софт. Добавлю и их. Тот проект ведь не за два дня был сделан.
У меня требования были что бы можно запустить и этот эффект. Я пока не ставил цель сделать функционально копию того проекта.
Планирую возможность добавлять эффекты через загрузку по WiFi, а там уже каждый может своё придумать.
Даже при 24 битах на точку двух кило оперативки копеечной ATmega328 хватит на шесть сотен точек. А если свернуть до 8 бит (куда больше-то? Четыре бита ка цвет, четыре на яркость, а больше 8-битный линейный PWM у 2812 и не вытянет) — то, соответственно, втрое больше.
Там Atmega8, но это не сильно отличается в этом плане.
Не уверен, что можно легко так свернуть на меньше бит, так как светодиоды об этом не в курсе и ждут полную информацию.
Можно на ходу подставлять, но не думаю, что в том проекте так делается в виду излишней сложности.
По поводу памяти тут ведь надо место для переменных, да и мало какой МК потерпит когда память забита на 100%.
Единственный вариант — это отказаться от буфера вообще, но тогда надо рассчитывать каждый пиксель на лету. К счастью, многие алгоритмы это позволяют. Но скорее всего придётся забыть о других процессах если МК слишком слабый как та же Atmega8.
В сходной теме недавно я достаточно подробно рассказал, как это реализуется. Можно иметь загрузку процессора порядка 30% (на 16 MHz) при непрерывной загрузке цепочки диодов (50 fps для 600 точек, 30 fps для 1000 точек). И это — при распаковке 8-битного кода в 24-битный код загрузки WS2812 «на лету».
Но — принципиально использование процессора, у которого UART умеет SPI master, поэтому ATmega88, 168, 328 — да, а вот M8 — нет (это старичок предыдущего поколения, у которого много чего нет).
Такой вариант, возможно, неплох когда на руках только старые атмеги.
А так я не вижу особо сильной экономии если покупать atmega или esp8266. Плюс у esp8266 больше свободы действий.
Адресуемые многоцветные диоды это замечательная штука.
Но вот размер того что предлагается для обычной домашней елки на мой взгляд великоват, да и проводов слишком много.
Конечно для большой елки высотой более 3-5 метров наверное самое то, но небольшая, около 2м или менее, превращается в некое лабораторное пособие, тяжело маскировать и «дух праздника» немного теряется на мой взгляд.
Если сами «капсулы» с диодами наверное еще как-то можно обыграть — например засунуть в шары от настольного тенниса, то соединительные кабеля совсем не годятся и портят впечатление.
WS2812 — это микросхема совмещенная со светодиодом 5050.
В обзоре же микросхема WS2811 в SOP8 + внешний RGB светодиод
Все таки вы обозреваете товар, а не свои поделки, будьте технически грамотны
А если припаять микро юсби разъем и к нему подключить, скажем, блок зарядного устройства телефона (2А) и избавиться от DC-DC преобразователя в схеме, я думаю получится проще (универсальнее)?
За обзор +, очень понравилась поделка, попробую к новому году сделать, если конечно комплектующие доедут.
В прошлом году из двух таких гирлянд. Контроллер на atmega328 и дисплея собрал. В этом пока ёлку не дастали показать могу позже. Но все домашние в восторге были.
Я тоже собрал макет гирлянды ещё летом 40шт WS2812B + Arduino.
Но беда в том, что диоды на круглых «звёздах», которые надо отламывать друг от друга, как шоколадку.
Так вот: не могу придумать из чего сделать рассеиватели?
… На алиэкспресс есть и шарики и звёзды, куда это всё можно впихнуть, но дорого.
Может кто-то уже изобретал «велосипед» и есть решение из подручных материалов?
Продаются готовые линзы прямо на 5050. Например, я купил такие:
Я поставлю на «таблетку», и всё. Но если хочется красивых шариков, то полно дешёвых гирлянд с белыми рассеивателями. Например, недавно на распродаже они постоянно были.
По «5050 lens» сейчас «аукционных» предложений нет. И неделю назад тоже не было. Основная площадка? А продавец?
Вариант 60x90 тоже интересный. Уже пришли? Хоть какой-нибудь обзор будет? Ну хоть парой фоток в комментах… Почему-то в описаниях нет реальных картинок результата.
Да, я уже добрался до этого продавца (просто по миниатюре текст не читался, поэтому сразу и не понял). Аукционных у них сейчас нет. Ну, значит, это не я безрукий, а просто кончились…
Да, 5050 хорошо рассеиваются в белых шариках. Неплохо и «трухольные» 5-mm (применительно к обсуждаемой теме — PL9823), Неярко, но во многих случаях это, наоборот, достоинство.
А прикрыть монтаж можно белой крышечкой-толкателем для кнопок.
Даже прикрывать не нужно. Сверлим шар с двух сторон по полюсам сверлом чуть меньшим чем свернутый шлейф, канцелярским ножом прорезаем по радиусу от одного отверстия к другому, заводим шлейф с платой внутрь и разворачиваем чтоб диод светил ОТ разреза — профит. Шары из целлулоида отлично рассеивают и держат форму.
ЗЫ: есть один увесистый минус: целлулоид горит, горит как порох.
Заказана очередная партия — с десяток лотов sk6812, 2812b в лентах и модулях (в том числе уже на проводах).
50 нераспаянных модулей уже пришли, остальные жду.
Разница в том что у apa106 управляющий чип интегрирован викорпус светодиода и такая гирлянда смотрится намного выразительней чем монстр с платой и огромным корпусом увеличивающим размер «свечи» в четыре раза и отнюдь не украшающим елку. К тому же apa106 выпускается в 8мм и 5мм вариантах, последнее позволяет делать выразительные гирлянды для маленьких елок.
WS2812 продаются в одном корпусе так же. И они тоже есть разных размеров, сам светодиод ведь 5050, а это ещё компактнее.
Я не считаю свою ёлку такой уж и маленькой, что бы была заметна разница 12мм и 8мм. Я специально искал себе 12мм, по этому поводу и обзор.
Опять мимо кассы. 2812 ну ни как не компактнее apa106 по ширине, все те же 5мм, и на него нужно лепить диффузор чтобы получить свечу а на apa он уже есть, причем 2812 даже с диффузором будет менее похож на свечу чем apa т.к. у последнего кристалл открыт для бокового обозора.
В данном случае это бесполезная экономия на спичках и неоправданное увеличение цены.
Я специально искал крупные, но больше 12 мм уже слишком дороги.
За эти деньги я лучше добавлю WS2812, чем буду собирать короткую ленту из APA.
Изначальный комментарий безапелляционно утверждал что APA лучше. Я считаю что это не так и есть разные варианты и цели, где другие альтернативы могут быть даже лучше.
Если смотреть то, что в ролике, то там просто подготовленные мультфильмы крутятся. Для этого и стандартный контроллер пойдёт.
Просто в ролике написано:
3X Matrix 73*40 ws2812b + esp8266 controller
73*40=2920 пикселей. Шаг где-то P10. Панели P10 обычно 32х16. Если ближайшее большее, то 96*48, то есть 3*3 = 9 панелей. Каждая панель где-то по 20 баксов (реально меньше), то есть 180$. Ну контроллер ещё 100$ (возьмём хороший, дешёвый можно и за 40 взять). Итого 280$.
А 3000 пикселей на WS2812 обойдутся не меньше, чем в 400$, да еще и кучу управления клепать. Вот мне и интересно — ради чего.
В ролике мне показалось расстояние между точками больше, чем у P10. Но я не уверен.
Но если это не учитывать, то у WS2812 есть преимущество в виде одного сигнального провода вместо 10+ как у P10.
3 по 2920 = примерно 9000 пикселей
Найди такой подготовленный мультик :)))).
Мысли шире, это в ручную сделано и панель только для тестов.
Скоро будет елка, которая будет «единым целым» с этим экраном
А в чём проблема? Любой софт для контроллера LED экрана ест на входе любой видео файл и генерит из него файлы в нужном разрешении.
Интеграция ёлочной гирлянды в общую картину… Ну, в принципе, да, может и проще вручную. Но мне кажется было бы проще всё-таки управлять большим LED экраном нужного разрешения и параллельно управлять гирляндой. Тем более при работе с видео шаг в 10 мм даёт достаточно низкое качество, а LED панели сейчас достаточно дёшевы и можно занедорого собрать экран с приличным шагом.
Впрочем — я не знаю вашей финальной задачи, поэтому может быть такое решение и имеет смысл.
Кстати, для больших проектов на WS2812B есть же FadeCandy — управление до 512ти диодов через 1 USB. На комп их можно тучу навесить. www.adafruit.com/product/1689
Я писал под FreeRTOS и без (тогда FreeRTOS для ESP8266 был в очень зачаточной стадии). Стабильность всегда была на высоте.
Просто FreeRTOS даёт новые плюшки и удобство некой многозадачности. Я сейчас всё переношу на FreeRTOS.
Это от задач зависит сильно
Если навесить обработчиков прерываний, то очень часто WDT намертво вшитый в код перезагружает устройство. А так как весь код, связанный с WiFi и WDT идет с проприоретарной библиотекой, то бороться с этим очень тяжело
NeoPixel работает стабильно и без RTOS
Я еще летом начал делать диско-панельку для новогодней дискотеки. Но в моём случае нужен комп (или raspberry) для анализа входного сигнала. Там с алгоритмами еще поиграться можно, но времени жутко не хватает
Хотел бы уточнить — вам продавцы-китайцы с ebay дают треки?
Сам я предпочитаю такого рода мелочи заказывать на Али, там по крайней мере сразу понятно — будет трек или нет. Впечатление такое, что с треком как-то резвее доходит (может я не прав).
Изменение яркости не заметно на глаз. Я раньше две цепочки вместе соединял и разницы не было.
Если это очень критично, то можно уменьшить общую яркость и тем самым снизить потребление и потери. В моём коде это LEDS_LUMINANCE. Значения от 0-255.
Брал подобную в черном цвете проводов, хотел использовать в домашних условиях. Но оказалась довольно «благоухающей» клеем, которым залита микросхема. Пришлось перевесить на балкон. Пока за месяц работы аромат еще ощутим.
red@ubuntu:~/Downloads/esp-open-sdk/esp-tree$ sudo make flash
CC /home/red/Downloads/esp-open-sdk/esp-tree/src/main.c
/bin/sh: 1: xtensa-lx106-elf-gcc: not found
../esp-open-rtos/common.mk:217: recipe for target 'build/program//src/main.o' failed
make: *** [build/program//src/main.o] Error 127
red@ubuntu:~/Downloads/esp-open-sdk/esp-tree$ make flash
CC /home/red/Downloads/esp-open-sdk/esp-tree/src/main.c
/bin/sh: 1: xtensa-lx106-elf-gcc: not found
../esp-open-rtos/common.mk:217: recipe for target 'build/program//src/main.o' failed
make: *** [build/program//src/main.o] Error 127
red@ubuntu:~/Downloads/esp-open-sdk/esp-tree$ ESP_SPEED=115200 make flash
CC /home/red/Downloads/esp-open-sdk/esp-tree/src/main.c
/bin/sh: 1: xtensa-lx106-elf-gcc: not found
../esp-open-rtos/common.mk:217: recipe for target 'build/program//src/main.o' failed
make: *** [build/program//src/main.o] Error 127
red@ubuntu:~/Downloads/esp-open-sdk/esp-tree$
Ну что могу сказать: промучился весь вечер — результата 0. Подал на возврат, поскольку сигнал на выходе есть, питание есть — работа отсутствует (точка доступа есть).
Попробуй запитать ленту не на 5 вольт, а на 4.5 вольта. Может слишком большая разница от 3.3, что бы «понять» единицу.
И на всякий случай проверь, что выход ESP подключен на DIN у ленты.
Всё, наконец-то получилось — непропай первого модуля в цепочке — теперь всё работает! Смотрится классно! nochkin вам ещё раз спасибо за помощь, участие и долготерпение.
Только что собрал всё с нуля вместе с SDK и RTOS. К сожалению, проверить не на чем сейчас.
Положил бинарник в директорию «firmware» на GitHub'е. Там же лежат rboot.bin и blank_config.bin. То есть, всего три бинарных файла.
На всякий случай добавил файл map.txt, где прописаны адреса для прошивки. Сам не пользовался Flash Download Tools, но вроде там можно указывать адреса для каждого бинарника.
Эти параметры по-умолчанию (80MHz/QIO) должны работать.
SPI Mode зависит от того, какие пины используются. Но я там вроде ничего специального не использую.
А SPI Speed зависит от типа флешки, которая на этом модуле установлена. Если не будет прошиваться на 80MHz, то можно снизить до 40MHz. Но мне лично не встречались варианты, которые на 80MHz не прошиваются (хотя, я не исключаю их существование).
Только что прошил плату LoLin ESP8266 (закос под NodeMCU) своми бинарниками и ESP8266 Download Tool на винде. На пине RX примерно 0,25 вольта. Это явно какой-то сигнал, а не просто ноль.
Из особенностей: надо было нажать кнопку reset после прошивки, так как она сразу не запустилась. Так же после прошивки у меня показало MAC адреса в поле справа от «IDLE».
Могу попробовать другую плату. У меня ещё есть обычный NodeMCU вроде где-то.
Какая у тебя?
модуль ESP-12F просто на платке с пинами, пробовал три штуки.
на RX у меня 3.3В и ничего не дрыгается.
собственно, меня wled устроил, хотел посмотреть ваш вариант, но времязатраты превысили выделенный лимит.
тем не менее, спасибо вам за участие, но не готов погружаться в отладку и компилирование прошивки.
с наступающим новым годом!
Только что нашёл ленту с WS2812B (300 светодиодов). Подключил к LoLin ESP8266 (пин RX), всё работает. WLED тоже работает.
Кстати, на WLED выставил GPIO: 3 (это как раз RX), что бы провода не перетыкать при смене прошивки.
Я к тому, что дело не в компилировании, а что-то с подключением. Видимо, на «той просто платке» этот RX пин куда-то не туда идёт.
Ещё возможен вариант, что там TX и RX местами перепутаны. Китайцы любят это дело. На ESP-12E/F это 21-ый пин (предпоследний или просто второй от светодиода).
Было бы интересно в чём проблема, но удалённо это не посмотреть, к сожалению.
Но тут я согласен, что если WLED устроил, то нет смысла возиться.
Хотя, на WLED я не смог запустить все 300 светодиодов, а на своей прошивке смог. Но не всем такие ленты надо запускать, конечно.
Я в инете нашёл видео с очень крутыми эффектами для такой ленты.
Вот как это выглядит:
В данный момент автор выложил эффекты для скачивания только в виде LED-файла для ws2811-контроллера T-1000S. Но автор обещал уже к этому рождеству выложить исходный код и для ардуино. Жду с нетерпением.
PS: Ещё в библиотеке FastLED есть прикольные эффекты, например DemoReel100 из примеров github.com/FastLED/FastLED/tree/master/examples
PPS: Вот тут ещё кучка эффектов для FastLED: github.com/marmilicious/FastLED_examples и
github.com/atuline/FastLED-Demos
А то у вас как-то скучно на видео :)
За видео спасибо.
github.com/kitesurfer1404/WS2812FX
Добавил в свой код несколько эффектов оттуда. Проблем нет добавлять что-то новое в виде эффектов, не очень понимаю почему так налетели по этому поводу. Ограничение тут только фантазия.
Особенно приятно, что не надо снимать всё это дело с ёлки или сидеть с компом и проводами прямо на звезде что бы обновлять прошивку, так как это можно сделать по WiFi.
Работает до сих пор!..
На него закидываютс файлы через программу LedEdit.
Легко.
Беспроблемно.
На ESP8266 памяти для такого вполне достаточно. Так же не надо путать RAM и Flash.
А какие «эти 8 режимов» весят 10MB? Я вроде ничего такого не видел. В моём коде 5-6 режимов и там ещё полно места есть на несколько десятков режимов, а то и больше.
Все «режимы» сидят во флешке, которая достаточно большая (порядка несколько мегабайт).
Оперативная память нужна для адресации самих светодиодов, у ESP8266 должно хватить на несколько сотен.
А для портирования на Arduino я привёл примеры выше.
спасибо.
а то 1000 не может переключать режимы сам
Я уже такое делал и выкладывал
mySKU.me/blog/aliexpress/50036.html
Все жду, когда народ эффектов в BMP наделает
Только у меня питание 12В с понижайкой, а там сразу 5В. Паять у меня чуть меньше, так как модуль готовый.
Кстати, в плане софта у ESP8266 больше свободы. При желании можно по сети управлять и загружать новые эффекты. Для того МК — это уже слишком сложно будет.
«Свободу» ЕСП-шки еще пилить и пилить, пока оно у вас не умеет почти ничего из перечисленного выше.
Допускаю, что вы можете догнать или возможно перегнать, но пока этого не наблюдаю т.е. у вас лишь полуфабрикат изделия.
Суммируя: по моему личному мнению там и проще и значительно лучше в плане собрал — и пользуйся — радуйся, и функционал шире.
ESP8266 — это тоже достаточно дешёвый МК, но мяса больше.
Эффекты — это ведь софт. Добавлю и их. Тот проект ведь не за два дня был сделан.
У меня требования были что бы можно запустить и этот эффект. Я пока не ставил цель сделать функционально копию того проекта.
Планирую возможность добавлять эффекты через загрузку по WiFi, а там уже каждый может своё придумать.
Или речь про память кода для эффектов?
Не уверен, что можно легко так свернуть на меньше бит, так как светодиоды об этом не в курсе и ждут полную информацию.
Можно на ходу подставлять, но не думаю, что в том проекте так делается в виду излишней сложности.
По поводу памяти тут ведь надо место для переменных, да и мало какой МК потерпит когда память забита на 100%.
Единственный вариант — это отказаться от буфера вообще, но тогда надо рассчитывать каждый пиксель на лету. К счастью, многие алгоритмы это позволяют. Но скорее всего придётся забыть о других процессах если МК слишком слабый как та же Atmega8.
Но — принципиально использование процессора, у которого UART умеет SPI master, поэтому ATmega88, 168, 328 — да, а вот M8 — нет (это старичок предыдущего поколения, у которого много чего нет).
А так я не вижу особо сильной экономии если покупать atmega или esp8266. Плюс у esp8266 больше свободы действий.
Но вот размер того что предлагается для обычной домашней елки на мой взгляд великоват, да и проводов слишком много.
Конечно для большой елки высотой более 3-5 метров наверное самое то, но небольшая, около 2м или менее, превращается в некое лабораторное пособие, тяжело маскировать и «дух праздника» немного теряется на мой взгляд.
Если сами «капсулы» с диодами наверное еще как-то можно обыграть — например засунуть в шары от настольного тенниса, то соединительные кабеля совсем не годятся и портят впечатление.
Но вживую впечатление не портят даже цветные провода. На ёлке полно цветных игрушек и без этого.
В обзоре же микросхема WS2811 в SOP8 + внешний RGB светодиод
Все таки вы обозреваете товар, а не свои поделки, будьте технически грамотны
p.s. Какой смысл в БП 12В?
Блоки на 12 вольт встречаются намного чаще у меня.
Да и с понижайкой ток по 12 вольтам будет меньше, чем ток по 5 вольтам на потреблении ленты.
За обзор +, очень понравилась поделка, попробую к новому году сделать, если конечно комплектующие доедут.
Но я планирую подключить ещё две ленты.
еще один проект, в копилку
Но беда в том, что диоды на круглых «звёздах», которые надо отламывать друг от друга, как шоколадку.
Так вот: не могу придумать из чего сделать рассеиватели?
… На алиэкспресс есть и шарики и звёзды, куда это всё можно впихнуть, но дорого.
Может кто-то уже изобретал «велосипед» и есть решение из подручных материалов?
Я поставлю на «таблетку», и всё. Но если хочется красивых шариков, то полно дешёвых гирлянд с белыми рассеивателями. Например, недавно на распродаже они постоянно были.
Вариант 60x90 тоже интересный. Уже пришли? Хоть какой-нибудь обзор будет? Ну хоть парой фоток в комментах… Почему-то в описаниях нет реальных картинок результата.
Пока едут.
Ну, заплати́те чуть больше, раз так нужны. Или купите 60x90, вот аукцион.
А прикрыть монтаж можно белой крышечкой-толкателем для кнопок.
ЗЫ: есть один увесистый минус: целлулоид горит, горит как порох.
50 нераспаянных модулей уже пришли, остальные жду.
А куда он денется, раз модули заказаны :)
Я не считаю свою ёлку такой уж и маленькой, что бы была заметна разница 12мм и 8мм. Я специально искал себе 12мм, по этому поводу и обзор.
Я специально искал крупные, но больше 12 мм уже слишком дороги.
За эти деньги я лучше добавлю WS2812, чем буду собирать короткую ленту из APA.
Изначальный комментарий безапелляционно утверждал что APA лучше. Я считаю что это не так и есть разные варианты и цели, где другие альтернативы могут быть даже лучше.
twitter.com/elkasinger/status/931500318231334912
Скоро будет елка с эффектами
Но автор, конечно, лучше видит причину.
Просто в ролике написано:
3X Matrix 73*40 ws2812b + esp8266 controller
73*40=2920 пикселей. Шаг где-то P10. Панели P10 обычно 32х16. Если ближайшее большее, то 96*48, то есть 3*3 = 9 панелей. Каждая панель где-то по 20 баксов (реально меньше), то есть 180$. Ну контроллер ещё 100$ (возьмём хороший, дешёвый можно и за 40 взять). Итого 280$.
А 3000 пикселей на WS2812 обойдутся не меньше, чем в 400$, да еще и кучу управления клепать. Вот мне и интересно — ради чего.
Но если это не учитывать, то у WS2812 есть преимущество в виде одного сигнального провода вместо 10+ как у P10.
Найди такой подготовленный мультик :)))).
Мысли шире, это в ручную сделано и панель только для тестов.
Скоро будет елка, которая будет «единым целым» с этим экраном
Интеграция ёлочной гирлянды в общую картину… Ну, в принципе, да, может и проще вручную. Но мне кажется было бы проще всё-таки управлять большим LED экраном нужного разрешения и параллельно управлять гирляндой. Тем более при работе с видео шаг в 10 мм даёт достаточно низкое качество, а LED панели сейчас достаточно дёшевы и можно занедорого собрать экран с приличным шагом.
Впрочем — я не знаю вашей финальной задачи, поэтому может быть такое решение и имеет смысл.
www.adafruit.com/product/1689
Просто FreeRTOS даёт новые плюшки и удобство некой многозадачности. Я сейчас всё переношу на FreeRTOS.
Если навесить обработчиков прерываний, то очень часто WDT намертво вшитый в код перезагружает устройство. А так как весь код, связанный с WiFi и WDT идет с проприоретарной библиотекой, то бороться с этим очень тяжело
NeoPixel работает стабильно и без RTOS
Это понятно. У меня изначально WS2812 были без FreeRTOS.
RTOS ведь стабильность не добавляет.
А оно вот что —
Хоть бы скриншоты страниц товаров увидеть, чтоли.
Может, что-то локально или какие-то временные проблемы на eBay были.
Попробуй ещё раз. Если всё ещё не работает, то попробуй номер в поиск просто вбить ради интереса.
ebay.com/itm/253177713077
ebay.com/itm/182879782991
ebay.com/itm/351467627161
DC-DC конвертер не нашёлся.
Хотел бы уточнить — вам продавцы-китайцы с ebay дают треки?
Сам я предпочитаю такого рода мелочи заказывать на Али, там по крайней мере сразу понятно — будет трек или нет. Впечатление такое, что с треком как-то резвее доходит (может я не прав).
Цвет свечения отличается в начале и конце сильно, если питание только с одного конца подавать.
Изменение яркости не заметно на глаз. Я раньше две цепочки вместе соединял и разницы не было.
Если это очень критично, то можно уменьшить общую яркость и тем самым снизить потребление и потери. В моём коде это LEDS_LUMINANCE. Значения от 0-255.
red@ubuntu:~/Downloads/esp-open-sdk/esp-tree$ sudo make flash
esptool.py -p /dev/ttyUSB0 --baud 921600 write_flash -fs 16m -fm qio -ff 40m \
0x0 ../esp-open-rtos/bootloader/firmware_prebuilt/rboot.bin 0x1000 ../esp-open-rtos/bootloader/firmware_prebuilt/blank_config.bin 0x2000 ./firmware/esp_ws2812.bin
WARNING: Flash size arguments in megabits like '16m' are deprecated.
Please use the equivalent size '2MB'.
Megabit arguments may be removed in a future release.
esptool.py v2.5.0
Serial port /dev/ttyUSB0
Connecting…
Detecting chip type… ESP8266
Chip is ESP8266EX
Features: WiFi
MAC: bc:dd:c2:14:b5:be
Uploading stub…
Running stub…
Stub running…
Changing baud rate to 921600
Changed.
Configuring flash size…
A fatal error occurred: Timed out waiting for packet header
../esp-open-rtos/common.mk:247: recipe for target 'flash' failed
make: *** [flash] Error 2
Или такое в конце:
A fatal error occurred: Invalid head of packet (0xE0)
../esp-open-rtos/common.mk:247: recipe for target 'flash' failed
make: *** [flash] Error 2
Может у кого есть мысли на этот счёт?
P.S.: Я обновил github репозиторий, что бы 115200 было по-умолчанию. Достаточно сделать «git pull» что бы обновить, а дальше всё по-старому.
red@ubuntu:~/Downloads/esp-open-sdk/esp-tree$ sudo make flash
CC /home/red/Downloads/esp-open-sdk/esp-tree/src/main.c
/bin/sh: 1: xtensa-lx106-elf-gcc: not found
../esp-open-rtos/common.mk:217: recipe for target 'build/program//src/main.o' failed
make: *** [build/program//src/main.o] Error 127
red@ubuntu:~/Downloads/esp-open-sdk/esp-tree$ make flash
CC /home/red/Downloads/esp-open-sdk/esp-tree/src/main.c
/bin/sh: 1: xtensa-lx106-elf-gcc: not found
../esp-open-rtos/common.mk:217: recipe for target 'build/program//src/main.o' failed
make: *** [build/program//src/main.o] Error 127
red@ubuntu:~/Downloads/esp-open-sdk/esp-tree$ ESP_SPEED=115200 make flash
CC /home/red/Downloads/esp-open-sdk/esp-tree/src/main.c
/bin/sh: 1: xtensa-lx106-elf-gcc: not found
../esp-open-rtos/common.mk:217: recipe for target 'build/program//src/main.o' failed
make: *** [build/program//src/main.o] Error 127
red@ubuntu:~/Downloads/esp-open-sdk/esp-tree$
2811S и 2811 — это одно и то же.
И на всякий случай проверь, что выход ESP подключен на DIN у ленты.
nochkin вам ещё раз спасибо за помощь, участие и долготерпение.
Или надо в каком-то другом виде?
Положил бинарник в директорию «firmware» на GitHub'е. Там же лежат rboot.bin и blank_config.bin. То есть, всего три бинарных файла.
На всякий случай добавил файл map.txt, где прописаны адреса для прошивки. Сам не пользовался Flash Download Tools, но вроде там можно указывать адреса для каждого бинарника.
SPI Mode зависит от того, какие пины используются. Но я там вроде ничего специального не использую.
А SPI Speed зависит от типа флешки, которая на этом модуле установлена. Если не будет прошиваться на 80MHz, то можно снизить до 40MHz. Но мне лично не встречались варианты, которые на 80MHz не прошиваются (хотя, я не исключаю их существование).
В моём случае подключение идёт на пин RX, а у WLED — GPIO2/D4. Может, в этом проблема?
Из особенностей: надо было нажать кнопку reset после прошивки, так как она сразу не запустилась. Так же после прошивки у меня показало MAC адреса в поле справа от «IDLE».
Могу попробовать другую плату. У меня ещё есть обычный NodeMCU вроде где-то.
Какая у тебя?
на RX у меня 3.3В и ничего не дрыгается.
собственно, меня wled устроил, хотел посмотреть ваш вариант, но времязатраты превысили выделенный лимит.
тем не менее, спасибо вам за участие, но не готов погружаться в отладку и компилирование прошивки.
с наступающим новым годом!
Кстати, на WLED выставил GPIO: 3 (это как раз RX), что бы провода не перетыкать при смене прошивки.
Ещё возможен вариант, что там TX и RX местами перепутаны. Китайцы любят это дело. На ESP-12E/F это 21-ый пин (предпоследний или просто второй от светодиода).
Было бы интересно в чём проблема, но удалённо это не посмотреть, к сожалению.
Но тут я согласен, что если WLED устроил, то нет смысла возиться.
Хотя, на WLED я не смог запустить все 300 светодиодов, а на своей прошивке смог. Но не всем такие ленты надо запускать, конечно.