Нужен скетч для управления адресной лентой WS2812B с помощью ардуино
- Войдите на сайт для отправки комментариев
Втр, 18/12/2018 - 15:01
https://www.youtube.com/watch?v=GUa6GV0Ld-Q
Хочу собрать устройство как на видео, ищу исполнителя для написания скетча.
Теперь пожелания:
15 лент по 60 светодиодов, управление на ардуино, смена режимов автоматически/ручную.
Эффекты которые интересуют:
Метеор(как из видео)
Возможность менять скорость, длину хвоста, цвет.
Звезды(случайные вспышки на всех лентах)
Возможность менять частоту и интенсивность вспышек, цвет.
Остальное при общении.
Там же скетч выложен вроде как. Только выйдет ли на миньке это сделать - вопрос, конечно.
Там же скетч выложен вроде как. Только выйдет ли на миньке это сделать - вопрос, конечно.
Скетч попробовал, изменил количество лент, диодов на ленту, поигрался .....
Почему то не могу добиться чисто белого цвета.
15 лент по 60 светодиодов запихнул только в мегу и то, проскакивают артефакты.
Чтобы добавить еще эффектов не хватит ни памяти ни моих знаний...поэтому написал сюда.
Ну так да, 15*60=900 - нетривиальненько для задачки, собираемой "на коленке". Чисто белого можете не добиться. Для "белого" используют RGBW ленты, а не RGB.
Для "белого" используют RGBW ленты, а не RGB.
Возможно я не разобрался в скетче, но скетчи из примеров от FastLED и AdafruitNeopixel дают чистый белый цвет.
А... я посмотрел - там в HSV-пространстве какие-то преобразования происходят. Наверное при преобразовании грабли лезут. В фастледе я видал артефакты при неаккуратном обращении с HSV.
р е а л и з у е м о - maslachenko767@mail.ru , консультации, подбор компонентов бесплатно, гарантии
Не разорвись токо одной рукой "ёлку" делать, другой - подогреватель для бака, третьей - андроид программить ))
Для "белого" используют RGBW ленты, а не RGB.
Отсель можно поподробней? Для опытов схватил RGBW 4100 на 6812, поюзал, белый от отдельного светика более теплый чем от ленты. По яркости, что так, что эдак, х-ня полная. Заказал в итоге RGB на 2812, был неправ?
Почему то не могу добиться чисто белого цвета.
15 лент по 60 светодиодов запихнул только в мегу и то, проскакивают артефакты.
Вобщем, если сам умеешь что-то делать - могу проконсультировать за артефакты (если это то, с чем я сталкивался). Такого количества лент у меня нет, поэтому браться за работу с непроверяемым результатом я не хочу. wrk.sadman@gmai.com
Отсель можно поподробней? Для опытов схватил RGBW 4100 на 6812, поюзал, белый от отдельного светика более теплый чем от ленты. По яркости, что так, что эдак, х-ня полная. Заказал в итоге RGB на 2812, был неправ?
Да всё это крайне субъективно - вопросы цвета и зрения. Есть же теплый белый, холодный белый... один в желтое сваливается, другой - в синее. Поменяйте на мониторе 9300 на 6500 или наоборот. Первое время будете поражены белизной, а потом свыкнитесь.
Или вспомните телевизоры европейской сборки и азиатской. Азиатская всегда краснила. Так у них устроены глаза настройщиков ))
Но по мне так - RGB светодиод не очень хорошо замешивает цвета. Если на него колпак мутный одеть, то еще ничего. А голый ежели, то так себе.
на getchip, насколько помню, метеор писался на почти ассемблере и там был параллельный вывод - на каждый метеор своя нога. Это для фастледа прокачать 900 штук 2812 - там фпс будет 20 наверно в лучшем случае.
ТС могу предложить глянуть на https://github.com/jasoncoon/esp32-fastled-webserver
На 32-й ЕСП вроде есть параллельный вывод. Не уверен насчет 12-ти, но штук 6 ног должно быть.
А в коде - просто убрать ненужные процедуры из массива процедур засветки а к метеору привязать теже cooling/sparking переменные, переназвав их для удобства. В итоге получится очень удобный вариант колупания настроек через вэб-морду.
Если чо - я esp32 звавести в своей ардуино-ИДЕ не смог, так что этот сервер не пробовал. А на базе серва под обычную есп - очень удачно получается.
p.s. 15*60 = 900/170 = 6 юниверсов для E1.31. Это 2 штуки eps8266. Плюс можно не только метеоры, а кучу всяких анимаций юзать, а в будущем расширить знатно. Но нужен генератор - или ББ, или распбери. Теоретически можно и с карты памяти, но я не пробовал.
Применимость этого зависит от физической конфигурации зоны засветки.
Не знаю на каком там ассемблере метеор писался, но под видео скетч на чистейшем wiring'e и даже почти без циклов.
Токо топикстартеру, наверняка, надо успеть к Новому Году, а не полгода изучать способы оптимизации вывода и обработки данных на восьмибитном процессоре с 2кб памяти. Тоись нужен быстрый и эхфективный способ заметеорить.
ему только многоножье поможет, при таком количестве диодов. Или брать тинсю да диоды апы102.
А для многоножья - это не фастлед точно!
по поводу вайринга - проект с сайта гэтчип и там есть этот проект. Алгоритм-билдер, во, вспомнил! Вроде на нем автор писал. И благодаря этому он смог выжать 12 метеоров на одну ардуину. Давно было, могу и напутать. Но на фастледе, да на ардуине, да чтобы 900 штук тормознутых 2812 - да ни в жисть!
p.s. артефакты часто лечатся банальным кондером побольше на питание. Плюс БП помощнее. мой бп на компе хоть и брендовый, но ему уже лет 10. Кондеры посохли, помехи серет по 5В так, что даже отдельный кондер перед лентой не спасает. Взял древний бп нонейм от ББ - на нем лента показует отлично!
Тут нужно слить куски летны в одну. Нет смысла вешать отрезки на разные ножки, это жрет озу.
Тут нужно слить куски летны в одну. Нет смысла вешать отрезки на разные ножки, это жрет озу.
фпс пострадает. насколько помню - 2812 желательно не более 600 штук вешать подряд для достижения фпс в районе 30 кадров. Шина у 2812 тормознутая.
Скоко фпс нужно метеору на фасаде дома - вопрос исключительно философский.
У меня китайская паутина висит на окне - так там при диминге так шим работает, что глаза на лоб лезут. Но ничего, продажам (китайцами паутин) не мешает.
жлобство уже философией стало )))
есть же рамки приличия. То, что китайские товарищи скармливают нам любую непотребщину - то это сугубо наша проблема. Что жрём, то и скармливают. Своего-то нэма!
Но я не об этом. Все же если для себя делать - то делать хотя бы в рамках приличия. Тем более, что прилично сделать можно, только нужно включить голову. Или найти головастого, который повторит то, что уже было реализовано, но уже с плюшками.
Помню как на фонаревке пилили народный драйвер )) Тамагочи всунул кучу плюшек и говорит, мол больше не поместится в тиньку с 1кб памяти. Но нашлись люди, которые еще кучу приблуд засунуть умудрились!
Нет предела совершенству ))
Шина то как раз быстрая, но последовательная :(
А какой тут нужен фпс ? Если 50 Гц (только нужно ли ?) то куски ленты не имеют права быть длиннее 60 диодов.
Тогда действительно 15 ног. И сильно сомневаюсь, что хватит скорости проца.
Тут ключевой вопрос - а нужно ли 50 фпс ?
Ну а по памяти, только мега... Но есп наверное будет лучше :) Всякие библиотеки выбросить нахрен. Все ручками.
Шина то как раз быстрая, но последовательная :(
а если сравнить с APA102 ? )) На порядок шустрее, и всего в два раза дороже :D
жлобство уже философией стало )))
Не понимаю реплики. Я не продаю никому метеор с 2фпс, рассказывая, что это нормально.
Является ли топик-стартер пчелой, которой 120 мало, или же ему достаточно бегущих огней - я понятия не имею.
я говорю о том, что хотелка автора находится на границе возможностей железа. И тут просто поменять количество диодов в коде - не выйдет.
По поводу фпс - я лишь в общем заметил! Кто-то, глядишь, на ус намотает и получит +2 к экспириенсу. Разве это плохо?
я говорю о том, что хотелка автора находится на границе возможностей железа. И тут просто поменять количество диодов в коде - не выйдет.
Вот, кстати, можете выступить исполнителем. Заодно оцените как это - с другой стороны находиться.
Железо у вас есть, опыт какой-никакой - тоже. На метеор и спаркл вполне хватит, полагаю.
так фастлед не прокачает. Ради интереса соберу щас на ЕСП сервере Джейсона и гляну ФПС )
только метеор на все 900 будет ездить. Мне сильно много думать придеццо, чтобы это дело раскидать на 15 отрезков. Я ж не программер, а влезший в дебри юзверь, испачкавшийся в коде этом вашем, но упорно продолжающий колупаться )) упоротый, чо уж и говорить!
Можете попробовать убедить заказчика, что он не прав и ему нужно другое железо... Или написать на чем-то другом, чтобы завестись на МК заказчика. Заодно оцените свою работу, не начиная ее ;) А потом постараетесь не уйти в минус при выполнении. Ну и уложиться в срок, конечно же.
был неправ: FPS 34
это метеор от Крейгсмана на 900 диодов. Смотрю лишь по приборам, ленту не когтил! Интересненько!
https://cloud.mail.ru/public/ESN8/ABHAVzCDL тут проект. Регулируется скорость, ширина, шанс случайных всполохов. Для есп. Шьется, в сериал серет, что с лентой - не смотрел. При чистке папки я проект увалю, оттого и название такое. Кому надо - забирайте и смотрите.
На основе этого кода - легко вкрячить других процедур засветки, наплодить переменных, которые через вэбморду можно тягать туда-сюда. При этом ненужно править жаву или хтмл. Только в ардуине, а вэбморда сама отпарсит что рисовать. Палитры не задействованы вроде, но не стал выпиливать. Они могут еще пару кадров пожирать. Обновка по воздуху должна работать тоже.
Вобщем немного поковырял скетч, в некоторых местах методом научного тыка добился нужного мне результата и запихнул всё это дело в мегу. Даже вроде работает, одновременно подключить все ленты еще не могу, так как они только дня через 3 приедут, но игрался с двумя кусками ленты по 60 светиков, переставляя их в разные пины - работают.
Я бы запараллелил часть страйпов (наврядли кто-то будет прямо всматриваться в них) и, может даже, завелся на Микро Про. А может и на Нанке. Но если по габариту ограничения нет, то для быстрого метеоризма и мега подойдет ))
Если быстродействие удовлетворяет, то спарклы добавить - дело техники.
Если 50 Гц (только нужно ли ?) то куски ленты не имеют права быть длиннее 60 диодов.
Соврамши... Каюсь 600 диодов. Можно заюзать с фпс 50.
Эхвы... Чуть не заставили человека сервер купить под метеоры ))
Ага :)
Я бы запараллелил часть страйпов (наврядли кто-то будет прямо всматриваться в них) и, может даже, завелся на Микро Про. А может и на Нанке. Но если по габариту ограничения нет, то для быстрого метеоризма и мега подойдет ))
Если быстродействие удовлетворяет, то спарклы добавить - дело техники.
Сначала так и хотел сделать, но в нано можно загрузить только пять лент и то выдается сообщение, что память перегружена и могут быть сбои, ставить три нано как-то не охота, вот и вытащил на свет мегу.
А вот с техникой беда....постоянно заниматься и учиться некогда, это больше так сказать хобби.
Сейчас главное запустить к новому году, а потом по наличию времени довести до ума готовое устройство.
Всем спасибо за участие. Можно закрывать тему......если, конечно не будет интересных предложений :)
А че тут мучаться. Достаточно прикинуть , что на один RGB диод нужно три байта озу, при этом хотя бы 25% должно оставаться под остальные переменные. В ATmega328 всего 2к озу, 1500 - максимальный буфер для светодиодов, значит максимум 500 диодов. У 2560 уже 8к оперативки, значит она потянет.
Сейчас главное запустить к новому году, а потом по наличию времени довести до ума готовое устройство.
Всем спасибо за участие. Можно закрывать тему......если, конечно не будет интересных предложений :)
Имейл я выше дал. В той концепции, которую предлагает оригинальный скетч, спарклы я за минут 15 добавил. Колхозно, но моргает на моем квадратике 8x8. Нужно - пиши. Рокерный переключатель присобачишь к меге - будет два режима.
Но, если делать серьёзно, то мне за такой код с дилеем стыдно ))
Имейл я выше дал.
Написал на мыло.
Карамзину, поди, написал ))
Мне ничего не свалилось в ящик.
P.S. белого в том скетче крутилками не добиться, потому что цвет хардкодом на максимальную насыщенность (saturation) выставляется. А для белого ее минималить надо. Т.е. много там чего надо перековыривать.
р е а л и з у е м о - maslachenko767@mail.ru , консультации, подбор компонентов бесплатно, гарантии
Карамзину, поди, написал ))
Мне ничего не свалилось в ящик.
P.S. белого в том скетче крутилками не добиться, потому что цвет хардкодом на максимальную насыщенность (saturation) выставляется. А для белого ее минималить надо. Т.е. много там чего надо перековыривать.
Отправил вот сюда wrk.sadman@gmai.com у меня в отправленных, значит ушло....смотри у себя спам.
Я все понял. В гмейле буква l потерялась. Нужно gmail.com, а не gmai
Я все понял. В гмейле буква l потерялась. Нужно gmail.com, а не gmai
Точняк, не досмотрел. Отправил.