RGB гирлянда (WS2812b)
- Mishany
- Электрический кот
- Сообщения: 1031
- Зарегистрирован: Чт июн 20, 2013 00:00:58
- Откуда: москва, м.Сходненская
Re: RGB гирлянда (WS2812b)
на СИ задержки только подбирать:
asm("nop");
asm("nop");
.........
.....
asm("nop");
asm("nop");
.........
.....
- Mishany
- Электрический кот
- Сообщения: 1031
- Зарегистрирован: Чт июн 20, 2013 00:00:58
- Откуда: москва, м.Сходненская
Re: RGB гирлянда (WS2812b)
опробовал аппаратный SPI на Аtmega8 для их управления, мне понравилось
Re: RGB гирлянда (WS2812b)
Приобрел на ebay такое колечко

В параметрах был указан внутренний диаметр 20 мм, а в реальности оказалось 18 мм. Хотел его применить для реализации подсветки на станине PROXXON. Там как раз диаметр под зажим гравера 20мм. Но вышла незадача из-за размера. Продавец в общем подвел.
Хотелось бы проверить вообще работоспособность этого колечка.
Может кто-нибудь дать прошивку под ATmega8A? А то я сам пока не разобрался как код реализовать
PS. Уточню почему хотел на подсветку это кольцо пустить. Дело в том, что я сделал себе на станок подсветку на белых светодиодах. Свет сильно белый и при сверлении фольга сильно бликует как ни крути яркость. Попробовал желтые светодиоды добавить. Стало получше, но все равно не то. Поэтому и хотел на RGB сделать, чтобы подобрать и оттенок свечения, и яркость. Тут то мне это колечко случайно на глаза и попалось. Хотя теперь я насколько я понял яркость на нем регулировать не получится? Только цвет же можно задать?
В параметрах был указан внутренний диаметр 20 мм, а в реальности оказалось 18 мм. Хотел его применить для реализации подсветки на станине PROXXON. Там как раз диаметр под зажим гравера 20мм. Но вышла незадача из-за размера. Продавец в общем подвел.
Хотелось бы проверить вообще работоспособность этого колечка.
Может кто-нибудь дать прошивку под ATmega8A? А то я сам пока не разобрался как код реализовать
PS. Уточню почему хотел на подсветку это кольцо пустить. Дело в том, что я сделал себе на станок подсветку на белых светодиодах. Свет сильно белый и при сверлении фольга сильно бликует как ни крути яркость. Попробовал желтые светодиоды добавить. Стало получше, но все равно не то. Поэтому и хотел на RGB сделать, чтобы подобрать и оттенок свечения, и яркость. Тут то мне это колечко случайно на глаза и попалось. Хотя теперь я насколько я понял яркость на нем регулировать не получится? Только цвет же можно задать?
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
-
Radan
- Мучитель микросхем
- Сообщения: 465
- Зарегистрирован: Ср июн 21, 2006 08:24:32
- Откуда: Лисичанск
- Контактная информация:
Re: RGB гирлянда (WS2812b)
Можно регулировать и цвет, и яркость.
Только модель нужно использовать не RGB, а HSV.
Только модель нужно использовать не RGB, а HSV.
Re: RGB гирлянда (WS2812b)
Radan писал(а):Только модель нужно использовать не RGB, а HSV.
Спасибо!
Почитаю что это. А то я пока не в курсе подобных нюансов
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
-
Radan
- Мучитель микросхем
- Сообщения: 465
- Зарегистрирован: Ср июн 21, 2006 08:24:32
- Откуда: Лисичанск
- Контактная информация:
Re: RGB гирлянда (WS2812b)
Я покупал себе кольцо только на 12 светодиодов, всё без проблем работает.
Re: RGB гирлянда (WS2812b)
Radan , если можно, дайте пожалуйста ссылку на такое кольцо. Может оно мне как раз для станка и подойдет.
И хотелось бы схему с прошивкой. Можно в личку. Просто хочу свое кольцо на работоспособность проверить. Я просто пока в интернете не нашел подходящей схемы. Видел только для ардуино, которой у меня нет
И хотелось бы схему с прошивкой. Можно в личку. Просто хочу свое кольцо на работоспособность проверить. Я просто пока в интернете не нашел подходящей схемы. Видел только для ардуино, которой у меня нет
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
-
Radan
- Мучитель микросхем
- Сообщения: 465
- Зарегистрирован: Ср июн 21, 2006 08:24:32
- Откуда: Лисичанск
- Контактная информация:
Re: RGB гирлянда (WS2812b)
https://goo.gl/9bW26T
Я делал на 328 меге. Устройство специфическое, вам вряд ли подойдёт.
Я делал на 328 меге. Устройство специфическое, вам вряд ли подойдёт.
Re: RGB гирлянда (WS2812b)
Я понял. Спасибо!
Буду разбираться с алгоритмом. А временные интервалы действительно надо точно выдерживать, как описано в даташите?
PS. колечко сильно большое у Вас. Внутренний диаметр 35 мм. Увы мне не подойдет
Буду разбираться с алгоритмом. А временные интервалы действительно надо точно выдерживать, как описано в даташите?
PS. колечко сильно большое у Вас. Внутренний диаметр 35 мм. Увы мне не подойдет
"Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа." Ро́берт Ше́кли
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
Я правильных ответов знаю мало, поэтому не стесняюсь и много спрашиваю.
-
Radan
- Мучитель микросхем
- Сообщения: 465
- Зарегистрирован: Ср июн 21, 2006 08:24:32
- Откуда: Лисичанск
- Контактная информация:
Re: RGB гирлянда (WS2812b)
Временные параметры желательно выдерживать.
Хотя в небольших пределах всё работает и так.
Хотя в небольших пределах всё работает и так.
Re: RGB гирлянда (WS2812b)
Для Ардуино есть библиотеки FastLED или NeoPixel, может поможет. https://github.com/adafruit/Adafruit_NeoPixel
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: RGB гирлянда (WS2812b)
Ребята, объясните пожалуйста!
Правильно я понимаю, что для того, чтобы засветились 100 светодиодов мне надо вывести на них 24 бита х 100 = 2400 бит информации о цветах каждого? Т.е. 300 байт информации.
А если я хочу сделать динамику (картинку), то я должен менять эти 300 байт не менее чем 25 раз в секунду, пусть будет 30. ?
Тогда получается, что я в секунду должен выводить 9000 байт информации, чтобы у меня картинка двигалась? Ну, например бежала радуга по ленте?
В 1 кБайте = 1024 Байта? Т.е. надо очень емкий по памяти контроллер, чтобы сделать на этих светиках что-то стоящее?
Добавлено after 5 minutes 51 second:
И еще вопрос.
Везде по разному написано, поэтому вот:
Лента (куча светодиодов) сразу загораются при подаче байтов на нее или загорается только после того, когда все подали и включили на линии сброс?
Добавлено after 2 minutes 20 seconds:
И третий вопрос.
Если я подал полную последовательность на 100 светодиодов и они включились, а следующую я подал не 2400 бит, а всего 3 байта для первых трех светодиодов и потом дал на линию резет, то у меня загорятся три первых светодиода? А что будет с остальными?
Правильно я понимаю, что для того, чтобы засветились 100 светодиодов мне надо вывести на них 24 бита х 100 = 2400 бит информации о цветах каждого? Т.е. 300 байт информации.
А если я хочу сделать динамику (картинку), то я должен менять эти 300 байт не менее чем 25 раз в секунду, пусть будет 30. ?
Тогда получается, что я в секунду должен выводить 9000 байт информации, чтобы у меня картинка двигалась? Ну, например бежала радуга по ленте?
В 1 кБайте = 1024 Байта? Т.е. надо очень емкий по памяти контроллер, чтобы сделать на этих светиках что-то стоящее?
Добавлено after 5 minutes 51 second:
И еще вопрос.
Везде по разному написано, поэтому вот:
Лента (куча светодиодов) сразу загораются при подаче байтов на нее или загорается только после того, когда все подали и включили на линии сброс?
Добавлено after 2 minutes 20 seconds:
И третий вопрос.
Если я подал полную последовательность на 100 светодиодов и они включились, а следующую я подал не 2400 бит, а всего 3 байта для первых трех светодиодов и потом дал на линию резет, то у меня загорятся три первых светодиода? А что будет с остальными?
Станислав
Re: RGB гирлянда (WS2812b)
Совершенно верно. Считайте это кадром. Значит Ваши выводы о динамике картинки тоже правильны. Ее надо менять полностью с частотой этих самых кадров.СКАЗОЧНИК писал(а):Правильно я понимаю, что для того, чтобы засветились 100 светодиодов мне надо вывести на них 24 бита х 100 = 2400 бит информации о цветах каждого? Т.е. 300 байт информации.
Ну да. Желательно чтоб все 300 байт уместились в ОЗУ. Операции с ними тоже желательно делать в межкадровых промежутках, так как длинные цепочки светодиодов чувствительны к таймингу(у меня, по крайней мере).СКАЗОЧНИК писал(а):надо очень емкий по памяти контроллер, чтобы сделать на этих светиках что-то стоящее?
Второй вопрос. У меня лента зажигалась по импульсу сброса, как в даташите.
Третий вопрос. Меняли состояние только те светодиоды, до которых "дошли" новые байты цветов. Остальные горели с прежним цветом.
Re: RGB гирлянда (WS2812b)
Кадр можно не хранить готовым, а математически расситывать каждый бай данных. Типа спены цвета на следующем светике, плавное изменение яркости
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: RGB гирлянда (WS2812b)
подробнее пожалуйста. ))))
Вот хочу сделать что-то типа сосульки, которая плавно тает.
Вот хочу сделать что-то типа сосульки, которая плавно тает.
Станислав
Re: RGB гирлянда (WS2812b)
По тому алгоритму, что у меня ( viewtopic.php?p=2858887#p2858887 )
"по умолчанию" до 85 точек за одну порцию обработать можно...

"по умолчанию" до 85 точек за одну порцию обработать можно...
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: RGB гирлянда (WS2812b)
И еще, может и туповатый вопрос... А если я на один выход посажу две ленты параллельно... Т.е. одни и теже коды буду пускать сразу на две одинаковых ленты, будут они же повторять друг друга?, т.е. работать одинаково. 
Вообще, их можно параллелить?
Вообще, их можно параллелить?
Станислав
Re: RGB гирлянда (WS2812b)
- СКАЗОЧНИК
- Идёт направо - песнь заводит, Налево - сказку говорит.
- Сообщения: 5000
- Зарегистрирован: Чт апр 21, 2011 17:55:50
- Откуда: Иркутск
Re: RGB гирлянда (WS2812b)
Да, просто ради сокращения количества проводов. ))) Ну, не так это принципиально. Да и вроде как количество команд ограничено при такой скорости вывода данных? А второй пин увеличит их количество. 
Просто, один светодиод маленький очень.. И пиксель с ним тоже маленький. Чтобы увеличить размер пикселя, можно за один принять два светодиода, а то и четыре. Но это увеличит и количество светодиодов в линии, а раз так, то и байт надо на такую линию больше... А если запараллелить 4 светодиода, и так далее, то выводить можно тоже самое, что и для одной ленты, ну, как на 4 ленты... Надеюсь понятно объясняю...

Просто, один светодиод маленький очень.. И пиксель с ним тоже маленький. Чтобы увеличить размер пикселя, можно за один принять два светодиода, а то и четыре. Но это увеличит и количество светодиодов в линии, а раз так, то и байт надо на такую линию больше... А если запараллелить 4 светодиода, и так далее, то выводить можно тоже самое, что и для одной ленты, ну, как на 4 ленты... Надеюсь понятно объясняю...
Станислав
