ws2812 как реализовать индикацию...

fpv_mutant

Я в программировании чайник,постепенно впитываю азы.
Возникла необходимость реализовать индикацию на драйверных светодиодах WS2812 (куплены),есть 328 и 2560.
На данных момент существуют библиотеки от Адафрута и Фастлэд-ФастИсп.

Задача:есть четыре полоски по восемь светодиодов каждая,итого 32 с.д.
Режимы индикации,предположим все с.д. горяд белым,нужно в какой то момент времени (при включеных белых),помаргать крайними диодами другого цвета (на концах полосок),или,только одим (при горящих белых).

Как,какими алгоритмами реализуются такие возможности?

Адафрутом уже наигрался…свое на базе их библиотеки пока не получается.

Gert55

Ну так меняй палитру у 1,8,9,16,17,24,25 и 32 светодиода. 😃

fpv_mutant

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

Забегая дальше,контроллер должен парсить УАРТ (а именно МАВЛИНК),и подсвечивать нужные события. Комбинаций подсветки и эффектов очень много.

Gert55

Много, много читать. Google Вам в помощь.
Для “чайника” Вы выбрали довольно сложный проект.

fpv_mutant

Уже из гугла выжал что можно и что понятно) надеюсь на помощь,все таки форум…
легких путей не ищу) не драйверную РГБ и готовый проект для АПМ не предлагать)
Нужны именно WS…

8 days later
vovksextra
fpv_mutant:

Уже из гугла выжал что можно и что понятно) надеюсь на помощь,все таки форум…
легких путей не ищу) не драйверную РГБ и готовый проект для АПМ не предлагать)
Нужны именно WS…

Здесь кое что есть.

match

Не так давно “играл” со светодиодными пикселями на базе микросхемы WS2811… по управлению то же самое, что и WS2812… “Игрушка” на базе PIC18F252 (40МГц), язык MikoBasic Pro for PIC… формировал массив по кол-ву светодиодов х 3. то есть если диодов 50шт - массив на 150 байт… в основном цикле “слушаю порты”… При реакции на событие - запрещаю все прерывания и вываливаю массив (разобрав каждый байт на биты) на ножку порта вводя задержку “0” и “1” NOP’ами…
Тут кое что с пояснениями… но для чипа WS2801… для WS2811 (2812) почти тоже самое, только не SPI, а жесткий тайминг 1 и 0…