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

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



WS2812B

Сообщений 121 страница 128 из 128

121

rom-i написал(а):

Просто каждый второй столбец написан наоборот. Мое решение без советов. Куда деваться.

Можно при выводе каждый второй столбец разворачивать. Всё равно ресурсов в этом месте теряется.

Находим кратный 16 столбец: P Mod 16
Сразу запоминаем адресс: Diskr = P + 16
И до следующего столба его в обратном порядке: Decr Diskr

Код:

Rb_selectchannel 0

Reset Trig
For P = 0 To 255

   Vrw = P Mod 16                                           'определяем каждую вторую колонну в поле 16х16
   If Vrw = 0 Then
      Trig = Not Trig
      Diskr = P + 16
   End If

   If Trig = 1 Then                                         'Рисуем, каждая вторая колонна рисуется наоборот
      
      R = 10: G = 0 : B = 0
      Rb_setcolor P , Color(1)
      Else
         Decr Diskr
         R = 0 : G = 10 : B = 0
         Rb_setcolor Diskr , Color(1)
   End If

Next P
Rb_send

0

122

Ev3658
Для спектра, так, и сделано. В данном случае все просто. Реверсируй каждый второй столбец, или наоборот(к стати Китайские матрицы с обманом. В описании при покупке нарисовсно снизу, в реале сверху). Это не важно.
Для картинки, или шрифта столбец так просто не отреверсируешь.
Последовательность таблицы идет по три байта нереверсируемых. Реверсировать можно таблицу из 24ех байтных переменных. Те каждый столбец имеет 16, по 3 байтных переменных rgb. Последовательность которых не должна изменяться. Или 16 dword, long переменных. Тогда МК станет валенком при их реверсе.
Пример картинки уже в таблице перевернуты столбцы, но последоаптельность триады оставлена.

Код:
Fire1:
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &HFF , &H00 , &H00 , &H00 , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H66 , &H00 , &HFF , &H66 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H66 , &H00 , &HFF , &H66 , &H00 , &HFF , &HFF , &H00 , &HFF , &HFF , &H00 , &HFF , &H66 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00
Data &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H66 , &H00 , &HFF , &HFF , &H00 , &HFF , &H66 , &H00 , &HFF , &H66 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &HFF , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H66 , &H00 , &HFF , &HFF , &H00 , &HFF , &H66 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00
Data &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H66 , &H00 , &HFF , &HFF , &H00 , &HFF , &H66 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H66 , &H00 , &HFF , &H66 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &HFF , &H00 , &H00 , &HFF , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00
'====

Это вертел с помощью программы.
Хочу по максимуму. 4х256 замутить. Это максимальное количество светюнков по этой шине на один канал 1024.
Не просто мыргать цветами, а например часы с переливающися цветом.

Отредактировано rom-i (2023-05-06 23:18:18)

0

123

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

0

124

IDok, временные задержки хорошо выдержаны? Самое простое - поиграться со строкой $crystal = 4000000. Часто помогает при тактировании от внутреннего генератора.

0

125

Кот Обормот
я использую библиотеку Rainbow, там все тайминги прописаны и частота камня не менее 8МГц должна быть. в принципе, все как-то наладилось в итоге, видимо контакт был плохой или еще какие темные силы электричества...

0

126

Библиотека берёт параметр из строки $crystal. Если её менять, то можно подобрать более устойчивый режим. Эти светодиоды производят кто попало и они могут работать на границе допустимых временных задержек, это проверено на практике не единожды. Заодно ставлю на выходе мк эмиттерный повторитель.

0

127

Кот Обормот
так библиотека не будет работать с параметром $crystal ниже 8 МГц. наверное. а повторитель для чего?

0

128

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

0