Скетч для управления адресной диодной лентой ws2812b

IlyaZ
Offline
Зарегистрирован: 12.04.2021

Доброго времени суток

 

Нужно написать скетч для управления адресной светотиодной лентой ws2812b
 
 
Необходимо сделать возможность плавного изменения цвета ленты  по заданной последовательности цветов. 
 
Нужно что бы была возможность удобно задавтаь эту последовательность. Условно Красный (К) Синий (с) Зеленый (3) Голубой (г) - ксксксзсзсгск...... и так далее. последовательность может быть очень длинной.
 
Устройство ардуино нано. Контролер будет постоянно подключен к пк на macOS через Arduino IDE
 
В целом нужно сделать так чтобы можно было взять например текст - перевести его в азбуку морзе - принять что точка это красный, тире это синий, пробел это зеленый, а промежуток между ними желтый - и все это дело перевести в цвета - и дать эту последовательность ленте
 
Текст может быть очень длинный - например целый рассказ
 
Также необходимо сделать возможность удобно заменять эту последовательность - самый очевидный вариант это менять эту последовательность в самом скетче и каждый раз перепрошивать. Но может быть есть какое-то более элегантное решение? Может быть через монитор порта или как-то еще.
 
 
Необходимо добавить возможность изменения количества диодов в ленте
 
 
 
Интересуют сроки и стоимость
 
 
sadman41
Offline
Зарегистрирован: 19.10.2016

По стоимости все просто: чем длиннее текст, тем больше стоимость.

Но, если у Вас все же есть конкретные конечные количества пикселей и точек с тире, то пишите: wrk.sadman@gmail.com

IlyaZ
Offline
Зарегистрирован: 12.04.2021

Нужен скетч чтобы можно было оперативно менять последовательность, по принципу ctrl-c ctrl-v

Через монитор порта или через перепрошивку

Вся лента загорается красным, потом синим и тд в зависимости от заданной последовательности

 

 

 

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

ESP32 - Закачка файла по wifi, через веб интерфейс, размер файла с рассказом до 1.5 мегабайт. Настройка любого цвета соответствующего тире, точке , паузе , настройка продолжительности точки, тире, паузы между буквами, словами, предложениями. Количество диодов в ленте от одного и более :)

Закачка файла через последовательный порт - дешевле, 7 тысяч.

Стоимость 10 тыс рублей 

IlyaZ
Offline
Зарегистрирован: 12.04.2021

brokly пишет:

ESP32 - Закачка файла по wifi, через веб интерфейс, размер файла с рассказом до 1.5 мегабайт. Настройка любого цвета соответствующего тире, точке , паузе , настройка продолжительности точки, тире, паузы между буквами, словами, предложениями. Количество диодов в ленте от одного и более :)

Закачка файла через последовательный порт - дешевле, 7 тысяч.

Стоимость 10 тыс рублей 

 

А можно упростить: сделать стандартное время на каждый цвет - например 5 секунд с плавным зажиганием и плавным потуханием. Просто задаем последовательность, а все остальное происходит стандартно.

 

 

Думаю, скрипт должен выглядеть примерно следующим образом

 

- Задаем цвета - т.е. присваиваем РГБ значения к каждому цвету, который мы планируем использовать (например R-red- 255,0,0)

- задаем алгоритм изменения: 5 сек на каждый с плавной сменой

 

а потом задаем последовательность rbrbrbgrgrgb и тд

 

Можно ли так сделать? Будет ли это проще и дешевле? 

b707
Offline
Зарегистрирован: 26.05.2017

IlyaZ пишет:

А можно упростить: сделать стандартное время на каждый цвет - например 5 секунд с плавным зажиганием и плавным потуханием. Просто задаем последовательность, а все остальное происходит стандартно.

Думаю, скрипт должен выглядеть примерно следующим образом

- Задаем цвета - т.е. присваиваем РГБ значения к каждому цвету, который мы планируем использовать (например R-red- 255,0,0)

- задаем алгоритм изменения: 5 сек на каждый с плавной сменой

а потом задаем последовательность rbrbrbgrgrgb и тд

Можно ли так сделать? Будет ли это проще и дешевле? 

Илья, все что вы пишете - это малозначащие мелочи. В работе с светодиодной лентой все это давно реализовано - задание цветов. кодирование последовательностей.

Главное, что нужно обсуждать :

 - число пикселей

- способ передачи информацию на ленту

- интерфейс управления

- бюджет

Однако как раз этого-то вы и не пишете, а все твердите про свои "rgrgbb..." - как маленький.

Вы деньги у папы уже попросили? Он даст?

IlyaZ
Offline
Зарегистрирован: 12.04.2021

b707 пишет:

Илья, все что вы пишете - это малозначащие мелочи. В работе с светодиодной лентой все это давно реализовано - задание цветов. кодирование последовательностей.

Главное, что нужно обсуждать :

 - число пикселей

- способ передачи информацию на ленту

- интерфейс управления

- бюджет

Однако как раз этого-то вы и не пишете, а все твердите про свои "rgrgbb..." - как маленький.

Вы деньги у папы уже попросили? Он даст?

 

 

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

Я действительно, не являюсь специалистом в радиотехнике и программировании, именно поэтому я обратился за помощью к специалистам.

Относительно вопросов, которые, как вы сказали, нужно обсуждать:

- "Число пикселей" Это имеется в виду диодов на ленте? Если да, то я указал выше, что мне бы хотелось чтобы можно было менять этот параметр. Допустим 200 диодов, но есть вероятность увеличения длины ленты. Поскольку все диоды должны гореть одним цветом в момент времени, не думаю что это должно существенно влиять на код.

- "Способ передачи" Четез монитор порта - по кабелю. Необходимости в беспроводной передаче нет.

- "Интерфейс управления" Если я вас правильно понял то Arduino IDE

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

Если у вас будут какие-либо советы то я буду вам благодарен за помощь

 

 
b707
Offline
Зарегистрирован: 26.05.2017

Илья, вы все еще никак не можете сформулировать, что вы хотите. А без четко обозначенного ТЗ со всеми параметрами назвать цену, обсуждать сроки и саму работу невозможно.

Если же речь идет о том, что вы еще сами не понимаете, что и как будет составлять ваш проект - то, простите, составление ТЗ по вашим неясным дремам тоже стоит денег - и стоит дорого, возможно дороже самого проекта с лентой.

Вы бы для начала почитали в инете, что такое ардуина. что она может, как работают свтодиодные ленты, как управляются, посмотрели на ютубе чужие проекты со светодиодами... их там миллион!

А как созреете - тогда и приходите.

IlyaZ
Offline
Зарегистрирован: 12.04.2021

Я прочитал и смотрел на ютубе, попробовал сделать сам - понял что задача сложнее, чем я предполагал и поскольку я меня горят сроки я решил заказать работу у профи.

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

 

Я прекрасно понимаю какие у меня требования к проекту. Если у вас остались вопросы, по нему то я их проясню. Что конкретно непонятно? 

b707
Offline
Зарегистрирован: 26.05.2017

Какая длина последовательности цветов планируется - тот самый "текст" или "rgbbbrgrg" ? Сотни? Тысячи? Десятки тысяч? И, кстати. есть ли смысл в этих последовательностях? - или может последовательность из тысячи цветов заменить последовательностью из 100 цветов, пустив ее по кругу 10 раз? - неужели кто-то сможет заметить разницу?

Цвета - всегда простые фиксированные, например "красный", "зеленый" или могут быть произволные оттенки, задаваемые числовыми RGB кодами?

Кто и как будет отправлять эти цвета через последовательный порт на ардуину? - вы вручную вбивать будете?

Что такое плавный переход цвета? как вы себе представляете плавный переход из красного в зеленый?

IlyaZ
Offline
Зарегистрирован: 12.04.2021

Спасибо за вопросы по существу.

Длина будет больше 500 000 знаков. 

Цвета будут задаваться rgb кодом (про это я писал выше)

"Кто и как будет отправлять эти цвета через последовательный порт на ардуину?" Вот это очень важный вопрос. Я думал что есть 2 варианта, так как память контроллера ограничена. 1й - Разделить "текст" на отрезки 250 знаков, указывать эту последовательность непосредственно в скрипт и раз в 25 минут ctrlC ctrlV менять этот кусок скрипта с последовательность и перепрошивать вручную - такой вариант мне вполне подходит. 2й - это тоже разделить текст на куски по 250 знаков и  передавать через монитор порта, но тут я так понимаю мы упираемся в ограничение по объему информации, которая может находиться в порте, соответственно, видимо нужна еще программа которая будет взаимодействовать с портом. МОжет быть какой-то скрипт на питоне или еще, что-то тут как раз мне бы пригодилась помощь специалиста.

Плавный переход имеется в виду, что лента плавно гаснет полностью, то есть яркость падает постепенно, а не мгновенно, а потом плавно загорается следующим цветом. Условно 2 сек яркость растет от 0 до 100 потом 4сек горит на яркости 100, потом 2 сек яркость падает от 100 к 0, а затем цикл повторяется но уже следующим цветом

 

 

b707
Offline
Зарегистрирован: 26.05.2017

Илья, если в каждый момент ардуино будет работать с набором из 250 "знаков", то не имеет ровно никакого значения сколько их всего - 1000, 500 тысяч и 100500 миллионов... До тех пор, пока вы готовы вручную каждые 25 минут загружать новую порцию знаков - общее их число никак на программу не влияет и вообще мне не интересно :)

Но вообще, с чисто практической позиции, идея каждые 25 минут вручную редактировать скетч, перегружать ардуину и делать так 2000 раз (500000/250 = 2000) - попахивает бредом. Думаю, что нет никакого смысла в таком мазохизме, вашу последовательность можно передавать через порт, можно читать из файла на СД-карте, можно заранее сохранить в энергозащищенной памяти и тд и тп...

Собственно, сам код, плавно зажигаюший цвет за цветом из заданной последовательности - не представляет ничего сложного и не стоит дороже 1500-2000 руб. Но что-то мне подсказывает, что при детальном обсуждении, как всегда, вылезут нюансы...

b707
Offline
Зарегистрирован: 26.05.2017

Просто рассуждение вслух... 500 тыс цветов, 4 секунды экспозиция каждого цвета... - получаем 2 млн секунд или порядка 23 суток НЕПОВТОРЯЮЩИХСЯ последовательностей... В чем смысл? передаем послание разумным существам с другой планеты?

Ведь если эта "мигалка" - элемент какого-то представления или шоу, всякий смысл делать НЕПОВТОРЯЩУЮСЯ последовательность длинее 2-3х часов начисто отсутсвует... О рекламе или просто световом оформлении винтрин или зданий и говорить нечего - там и 5минут цикла будет достаточно...

 

IlyaZ
Offline
Зарегистрирован: 12.04.2021

b707 пишет:

Илья, если в каждый момент ардуино будет работать с набором из 250 "знаков", то не имеет ровно никакого значения сколько их всего - 1000, 500 тысяч и 100500 миллионов... До тех пор, пока вы готовы вручную каждые 25 минут загружать новую порцию знаков - общее их число никак на программу не влияет и вообще мне не интересно :)

Да я это понимаю, но раз уж вы спросили то решил это обозначить :)

b707 пишет:

Но вообще, с чисто практической позиции, идея каждые 25 минут вручную редактировать скетч, перегружать ардуину и делать так 2000 раз (500000/250 = 2000) - попахивает бредом. Думаю, что нет никакого смысла в таком мазохизме, вашу последовательность можно передавать через порт, можно читать из файла на СД-карте, можно заранее сохранить в энергозащищенной памяти и тд и тп...

Я готов на этот мазохизм, потому что мне это кажется самым простым вариантом с точки зрения написания кода. Отличные варианты с внешней памятью, спасибо, что предложили их. Мне в виду моих скудных знаний они как-то в голову не приходили ) 

b707 пишет:

Собственно, сам код, плавно зажигаюший цвет за цветом из заданной последовательности - не представляет ничего сложного и не стоит дороже 1500-2000 руб. Но что-то мне подсказывает, что при детальном обсуждении, как всегда, вылезут нюансы...

 

Вы знаете, эта стоимость мне подходит - я бы с радостью с вами посотрудничал. Если в процессе обсуждения вылезут "нюансы" то готов их тоже компенсировать сверх вышеназванной суммы. Но уверяю вас что проект простой и там нет подводных камней

IlyaZ
Offline
Зарегистрирован: 12.04.2021

b707 пишет:

Просто рассуждение вслух... 500 тыс цветов, 4 секунды экспозиция каждого цвета... - получаем 2 млн секунд или порядка 23 суток НЕПОВТОРЯЮЩИХСЯ последовательностей... В чем смысл? передаем послание разумным существам с другой планеты?

Ведь если эта "мигалка" - элемент какого-то представления или шоу, всякий смысл делать НЕПОВТОРЯЩУЮСЯ последовательность длинее 2-3х часов начисто отсутсвует... О рекламе или просто световом оформлении винтрин или зданий и говорить нечего - там и 5минут цикла будет достаточно...

 

Смысл как раз в том чтобы передавать послание незаметным способом. ЧТобы для неподготовленного зрителя это была просто мигалка, а для человека знающего это будет полноценный источник информации 

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

b707, да господи, ну подход у них такой - "а можно точно такой же. но с перламутровыми пуговицами".

а окажется что стандартная лента с пультом с али, перекрывает все хотелки на 200%.

andyparker
Offline
Зарегистрирован: 20.12.2020

Если изменять кол-во диодов и последовательность через монитор порта для вас допустимо, напишите мне на почту "ob268@mail.ru", предварительная цена - 2000р.

rst
Offline
Зарегистрирован: 25.06.2018

b707 пишет:
Но вообще, с чисто практической позиции, идея каждые 25 минут вручную редактировать скетч, перегружать ардуину и делать так 2000 раз (500000/250 = 2000) - попахивает бредом.

Всё хуже: 500000/250*25/60/24 = ~34.7 суток - это если ТС будет непрерывно в течение этого времени сидеть и только перепрошивать абдурину. Без сна и отдыха, с короткими перекусами. Если не протянет ноги.

Проект достойный КБ какого-нить дурдома. Главное чтобы санитары не спалили секрет такой "сигнализации"....  ;)

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

https://github.com/Den-W/WebLights
https://masterclub.online/topic/15813-ws2811-arduino
Трудится уже несколько лет, можно и картинки подсовывать и программировать.

b707
Offline
Зарегистрирован: 26.05.2017

IlyaZ пишет:

Смысл как раз в том чтобы передавать послание незаметным способом. ЧТобы для неподготовленного зрителя это была просто мигалка, а для человека знающего это будет полноценный источник информации 

Оооооо....

А "знающий человек" будет 23 дня подряд аккуратно подсчитывать цвет за цветом??

Что-то у меня и правда возникают сомнения в адекватности заказчика...

Green
Offline
Зарегистрирован: 01.10.2015

Наверняка вражеский передатчик информации. А считывать должен специально обученный шпиён.

b707
Offline
Зарегистрирован: 26.05.2017

Green пишет:

Наверняка вражеский передатчик информации. А считывать должен специально обученный шпиён.

записочки в дупло, как делали Маша и Дубровский - куда более эффективный метод коммуникации :)

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

IlyaZ пишет:
Смысл как раз в том чтобы передавать послание незаметным способом. ЧТобы для неподготовленного зрителя это была просто мигалка, а для человека знающего это будет полноценный источник информации

ну вот и встало все на место, фантазий как говна за баней, а знаний и умений противоположное кол-во.

1Штирлиц долго смотрел в одну точку. Потом перевел взгляд
2и посмотрел на другую.
3"Двоеточие!" - догадался Штирлиц.

 

rst
Offline
Зарегистрирован: 25.06.2018

b707 пишет:
А "знающий человек" будет 23 дня подряд аккуратно подсчитывать цвет за цветом??

Что-то у меня и правда возникают сомнения в адекватности заказчика...

Не догоняете Вы нифига: ТС собирается обвешать свой дурдом такой иллюминацией (дом большой, многоэтажный - поэтому лампочек в ленте должно быть много). А вражеский спутник, пролетая над дуркой, будет фотать эту иллюминацию и передавать в штаб секретные данные. Отсюда и период обновления такой = 25 мин, спутники же не часто летают.

Видимо вчера, санитары крепко отметили день космонавтики, так, что забыли проследить за приёмом пациентами успокаивающих пилюль. Вследствие чего в палате ТС случился взрыв творческого креатива и инициативная группа пациентов нашла гениальное решение о пути передачи компрометирующей информации о деятельности главврача (это некий "отец" из сообщений ТС) на запад.

А на непрерывной передаче посланий будет трудиться посменно вся палата: 8 часов один программирует ардуину, затем передаёт пост следующему.

Я думаю - скоро санитары проспятся, похмелятся и займутся пациентами. И ТСа мы больше тут не увидим.

;))))

man9913
Offline
Зарегистрирован: 19.03.2016

чёта этот прожект напомнил девайс из фильма лост(остаться в живых по-нашему) где надо было постоянно через определенные интервалы времени вводить в комп какой-то код, а если не успеть ввести, то всем хана.

IlyaZ
Offline
Зарегистрирован: 12.04.2021

rst пишет:

b707 пишет:
А "знающий человек" будет 23 дня подряд аккуратно подсчитывать цвет за цветом??

Что-то у меня и правда возникают сомнения в адекватности заказчика...

Не догоняете Вы нифига: ТС собирается обвешать свой дурдом такой иллюминацией (дом большой, многоэтажный - поэтому лампочек в ленте должно быть много). А вражеский спутник, пролетая над дуркой, будет фотать эту иллюминацию и передавать в штаб секретные данные. Отсюда и период обновления такой = 25 мин, спутники же не часто летают.

Видимо вчера, санитары крепко отметили день космонавтики, так, что забыли проследить за приёмом пациентами успокаивающих пилюль. Вследствие чего в палате ТС случился взрыв творческого креатива и инициативная группа пациентов нашла гениальное решение о пути передачи компрометирующей информации о деятельности главврача (это некий "отец" из сообщений ТС) на запад.

А на непрерывной передаче посланий будет трудиться посменно вся палата: 8 часов один программирует ардуину, затем передаёт пост следующему.

Я думаю - скоро санитары проспятся, похмелятся и займутся пациентами. И ТСа мы больше тут не увидим.

;))))

А вот это действительно хорошо! Посмеялся от души :))))) 

 

 

IlyaZ
Offline
Зарегистрирован: 12.04.2021

andycat пишет:
https://github.com/Den-W/WebLights https://masterclub.online/topic/15813-ws2811-arduino Трудится уже несколько лет, можно и картинки подсовывать и программировать.

 

Спасибо Вам большое, очень ценная информация!