Исследование адресных RGB_W светодиодов WS2812
Исследование адресных RGB_W светодиодов WS2812
Сообщений 1 страница 13 из 13
Поделиться22021-05-16 13:58:46
Регулировка яркости светиков путём изменения тока питания.
Начинает светиться с 1.7 ВОЛЬТА, правда запаливается, только красный, с 2.2в запаливаетя зелёный, с 2.7в появляется синий
Регулировка осуществляется посредством PWM (ШИМ) с Atmega, в данном тесте частота PWM (ШИМ) ~ 62 кГц, при частоте МК 16 МГц
Поделиться52021-05-16 18:58:52
А исходники затерялись, или их не було? 
Поделиться72021-05-16 23:37:37
А исходники затерялись, или их не було?
Да кому они нужны, главное сам факт возможность регулировать яркость
Поделиться82021-05-17 10:07:20
Да кому они нужны, главное сам факт возможность регулировать яркость
А как же тема - "Исследование адресных RGB_W"?
У меня только есть управление RGB. А RGB_W НЕТУуу!!!
Колись, Александр!
Поделиться92022-01-12 06:42:56
Первоисточник HSV to RGB наш многоуважаемый Radan-чик
Время выполнения оригинального варианта:
'C локальными переменными 2592 такта
'C глобальными переменными 2344 такта
Sub Hsv2rgb(byval In_h As Byte , Byval In_s As Byte , Byval In_v As Byte , Out_r As Byte , Out_g As Byte , Out_b As Byte)
Local Hr As Byte
Local Hg As Byte
Local Hb As Byte
Local Sr As Byte
Local Sg As Byte
Local Sb As Byte
Local Tmp As Byte
Local Temps As Word'Получим логарифмические значения цвета RGB каналов для заданного цвета из расчитанной таблицы
Hr = Lookup(in_h , Hsv_r)
Hg = Lookup(in_h , Hsv_g)
Hb = Lookup(in_h , Hsv_b)'Получим значения насыщенности
In_s = Lookup(in_s , Saturation)
Temps = Hr * In_s
Temps = Temps / 256
Temps = Temps + 255
Temps = Temps - In_s
Sr = Temps
Temps = Hg * In_s
Temps = Temps / 256
Temps = Temps + 255
Temps = Temps - In_s
Sg = Temps
Temps = Hb * In_s
Temps = Temps / 256
Temps = Temps + 255
Temps = Temps - In_s
Sb = Temps'Получим значения яркости
In_v = Lookup(in_v , Value)
Temps = In_v * Sr
Temps = Temps / 256
Out_r = Temps
Temps = In_v * Sg
Temps = Temps / 256
Out_g = Temps
Temps = In_v * Sb
Temps = Temps / 256
Out_b = Temps
End Sub
Как частенько это бывает, усё стало не успевать и опаздывать. Потребовалось ускорение.
Простым методом оказалась замена "Temps = Temps / 256" на Shift Temps , Right , 8
Получилось с глобальными переменными 1210 тактов, но это всё равно долго.
Как обычно в подобных случаях выручает ASM AVR.
$map ' Получаем карту распределения памяти компилятором Bascom
$regfile = "m1284def.dat" ' Используемый контроллер
$crystal = 16000000 ' 8 МГц , кварц для стабильной работы USART во всём диапазоне скоростей передачи и приёма
$framesize = 512 'размер области используемой и необходимой для преобразований
$hwstack = 512 ' Размер аппаратного стека
$swstack = 512 ' Размер программного стекаConfig Rainbow = 1 , Rb0_len = 19 , Rb0_port = Porta , Rb0_pin = 4
' ^--- connected to pin 3
' ^--------------------- connected to portD
' ^------------------------------------- 49 leds on stripe
' ^--------------------------------------------------- 1 channelConst Led_len = 3 'Anzahl der verwendeten WS2812B
Const Farbspeicher = 3 * Led_len
Dim Led_array(farbspeicher) As Byte
Const Beginn_rot = Led_len + 1
Const Beginn_blau = Beginn_rot + Led_len
Dim Gruen(led_len) As Byte At Led_array(1) Overlay
Dim Rot(led_len) As Byte At Led_array(beginn_rot) Overlay
Dim Blau(led_len) As Byte At Led_array(beginn_blau) Overlay
Dim N1 As Byte
Dim N2 As Byte
Dim N3 As Byte
Dim Color(3) As Byte
R Alias Color(_base) : G Alias Color(_base + 1) : B Alias Color(_base + 2)Dim Count_rgb_1 As Byte
Dim In_h As Byte
Dim In_s As Byte
Dim In_v As Byte
Rb_selectchannel 0 ' select first channel
Rb_clearcolors 'clear colors in memory'НАЧАЛЬНЫЕ ЗНАЧЕНИЯ ПАЛИТРЫ
N1 = 0
N2 = 64
N3 = 128Dim Rgb_1(20) As Byte
Rgb_1(1) = 0
Rgb_1(2) = 16
Rgb_1(3) = 32
Rgb_1(4) = 48
Rgb_1(5) = 64
Rgb_1(6) = 80
Rgb_1(7) = 96
Rgb_1(8) = 112
Rgb_1(9) = 128
Rgb_1(10) = 144
Rgb_1(11) = 160
Rgb_1(12) = 176
Rgb_1(13) = 192
Rgb_1(14) = 208
Rgb_1(15) = 224
Rgb_1(16) = 240
Rgb_1(17) = 0
Rgb_1(18) = 16
Rgb_1(19) = 32do
Rb_selectchannel 0
For Count_rgb_1 = 1 To 19
Count_rgb_1_1 = Count_rgb_1 - 1
'Call Hsv2rgb(rgb_1(count_rgb_1) , 255 , 255 , R , G , B)In_h = Rgb_1(count_rgb_1)
In_s = 255
In_v = 255
Gosub Sub_hsv2rgbIncr Rgb_1(count_rgb_1)
Rb_setcolor Count_rgb_1_1 , Color(1)
Next Count_rgb_1Rb_send
Waitms 20
loop
end'===============================================================================
'На ASM 290 тактов
'Получим логарифмические значения цвета RGB каналов для заданного цвета из расчитанной таблицы
'===============================================================================
Sub_hsv2rgb:
'-------------------------------------------------------------------------------
!lds R16 , {In_h}
!clr R17
'=================================
Loadwordadr Hsv_red
!add R30 , R16
!adc R31 , R17
!lpm R18 , Z
'=================================
Loadwordadr Hsv_green
!add R30 , R16
!adc R31 , R17
!lpm R19 , Z
'=================================
Loadwordadr Hsv_blue
!add R30 , R16
!adc R31 , R17
!lpm R20 , Z
'=================================
!lds R16 , {In_s}
'=================================
Loadwordadr Saturation
!add R30 , R16
!adc R31 , R17
!lpm R16 , Z
'=================================
!Mul R18 , R16
!movw R30 , R0
'=================================
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
'=================================
!ldi R21 , 255
!add R30 , R21
!adc R31 , R17
!sub R30 , R16
!sbc R31 , R17
!mov R18 , R30
'=================================
!Mul R19 , R16
!movw R30 , R0
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!add R30 , R21
!adc R31 , R17
!sub R30 , R16
!sbc R31 , R17
!mov R19 , R30
'=================================
!Mul R20 , R16
!movw R30 , R0
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!add R30 , R21
!adc R31 , R17
!sub R30 , R16
!sbc R31 , R17
!mov R20 , R30
'===============================
!lds R16 , {In_v}
Loadwordadr Brightness
!add R30 , R16
!adc R31 , R17
!lpm R16 , Z
'===============================
!Mul R18 , R16
!movw R30 , R0
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!sts {Color(_base)} , R30
'===============================
!Mul R19 , R16
!movw R30 , R0
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!sts {Color(_base)+1} , R30
'===============================
!Mul R20 , R16
!movw R30 , R0
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!sts {Color(_base)+2} , R30
'-------------------------------------------------------------------------------
Return
'==============================================================================='===============================================================================
Saturation: 'Насыщенность
'-------------------------------------------------------------------------------
Data 0 , 6 , 12 , 17 , 22 , 27 , 32 , 37 , 42 , 46 , 51 , 55 , 59 , 64 , 68 , 72
Data 76 , 80 , 84 , 87 , 91 , 94 , 98 , 101 , 105 , 108 , 111 , 114 , 117 , 120 , 123 , 126
Data 129 , 131 , 134 , 137 , 139 , 142 , 144 , 147 , 149 , 151 , 154 , 156 , 158 , 160 , 162 , 164
Data 166 , 168 , 170 , 172 , 174 , 175 , 177 , 179 , 180 , 182 , 184 , 185 , 187 , 188 , 190 , 191
Data 193 , 194 , 195 , 197 , 198 , 199 , 200 , 201 , 203 , 204 , 205 , 206 , 207 , 208 , 209 , 210
Data 211 , 212 , 213 , 214 , 215 , 216 , 217 , 217 , 218 , 219 , 220 , 221 , 221 , 222 , 223 , 224
Data 224 , 225 , 226 , 226 , 227 , 228 , 228 , 229 , 229 , 230 , 231 , 231 , 232 , 232 , 233 , 233
Data 234 , 234 , 235 , 235 , 235 , 236 , 236 , 237 , 237 , 238 , 238 , 238 , 239 , 239 , 240 , 240
Data 240 , 241 , 241 , 241 , 242 , 242 , 242 , 242 , 243 , 243 , 243 , 244 , 244 , 244 , 244 , 245
Data 245 , 245 , 245 , 246 , 246 , 246 , 246 , 246 , 247 , 247 , 247 , 247 , 247 , 248 , 248 , 248
Data 248 , 248 , 248 , 249 , 249 , 249 , 249 , 249 , 249 , 250 , 250 , 250 , 250 , 250 , 250 , 250
Data 250 , 251 , 251 , 251 , 251 , 251 , 251 , 251 , 251 , 251 , 252 , 252 , 252 , 252 , 252 , 252
Data 252 , 252 , 252 , 252 , 252 , 252 , 253 , 253 , 253 , 253 , 253 , 253 , 253 , 253 , 253 , 253
Data 253 , 253 , 253 , 253 , 253 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254
Data 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
'==============================================================================='===============================================================================
Brightness: 'Яркость
'-------------------------------------------------------------------------------
Data 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1
Data 1 , 1 , 1 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2
Data 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 3 , 3 , 3 , 3 , 3
Data 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 4 , 4 , 4 , 4 , 4 , 4
Data 4 , 4 , 4 , 4 , 4 , 4 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 6
Data 6 , 6 , 6 , 6 , 6 , 6 , 6 , 7 , 7 , 7 , 7 , 7 , 7 , 8 , 8 , 8
Data 8 , 8 , 8 , 9 , 9 , 9 , 9 , 9 , 10 , 10 , 10 , 10 , 10 , 11 , 11 , 11
Data 11 , 12 , 12 , 12 , 12 , 13 , 13 , 13 , 14 , 14 , 14 , 14 , 15 , 15 , 15 , 16
Data 16 , 16 , 17 , 17 , 18 , 18 , 18 , 19 , 19 , 20 , 20 , 21 , 21 , 21 , 22 , 22
Data 23 , 23 , 24 , 24 , 25 , 25 , 26 , 27 , 27 , 28 , 28 , 29 , 30 , 30 , 31 , 32
Data 32 , 33 , 34 , 35 , 35 , 36 , 37 , 38 , 39 , 39 , 40 , 41 , 42 , 43 , 44 , 45
Data 46 , 47 , 48 , 49 , 50 , 51 , 52 , 53 , 55 , 56 , 57 , 58 , 59 , 61 , 62 , 63
Data 65 , 66 , 68 , 69 , 71 , 72 , 74 , 76 , 77 , 79 , 81 , 82 , 84 , 86 , 88 , 90
Data 92 , 94 , 96 , 98 , 100 , 102 , 105 , 107 , 109 , 112 , 114 , 117 , 119 , 122 , 125 , 127
Data 130 , 133 , 136 , 139 , 142 , 145 , 148 , 151 , 155 , 158 , 162 , 165 , 169 , 172 , 176 , 180
Data 184 , 188 , 192 , 197 , 201 , 205 , 210 , 214 , 219 , 224 , 229 , 234 , 239 , 244 , 250 , 255
'==============================================================================='===============================================================================
Hsv_red: 'Цветовой тон для R
'-------------------------------------------------------------------------------
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 252 , 246 , 240 , 234 , 228 , 222 , 216 , 210 , 204 , 198
Data 192 , 186 , 180 , 174 , 168 , 162 , 156 , 150 , 144 , 138 , 132
Data 126 , 120 , 114 , 108 , 102 , 96 , 90 , 84 , 78 , 72 , 66
Data 60 , 54 , 48 , 42 , 36 , 30 , 24 , 18 , 12 , 6
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 6 , 12 , 18 , 24 , 30 , 36 , 42 , 48 , 54 , 60 , 66
Data 72 , 78 , 84 , 90 , 96 , 102 , 108 , 114 , 120 , 126 , 132
Data 138 , 144 , 150 , 156 , 162 , 168 , 174 , 180 , 186 , 192 , 198
Data 204 , 210 , 216 , 222 , 228 , 234 , 240 , 246 , 252 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
'==============================================================================='===============================================================================
Hsv_green: 'Цветовой тон для G
'-------------------------------------------------------------------------------
Data 6 , 12 , 18 , 24 , 30 , 36 , 42 , 48 , 54 , 60 , 66
Data 72 , 78 , 84 , 90 , 96 , 102 , 108 , 114 , 120 , 126 , 132
Data 138 , 144 , 150 , 156 , 162 , 168 , 174 , 180 , 186 , 192 , 198
Data 204 , 210 , 216 , 222 , 228 , 234 , 240 , 246 , 252 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 252 , 246 , 240 , 234 , 228 , 222 , 216 , 210 , 204 , 198
Data 192 , 186 , 180 , 174 , 168 , 162 , 156 , 150 , 144 , 138 , 132
Data 126 , 120 , 114 , 108 , 102 , 96 , 90 , 84 , 78 , 72 , 66
Data 60 , 54 , 48 , 42 , 36 , 30 , 24 , 18 , 12 , 6
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
'==============================================================================='===============================================================================
Hsv_blue: 'Цветовой тон для B
'-------------------------------------------------------------------------------
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 6 , 12 , 18 , 24 , 30 , 36 , 42 , 48 , 54 , 60 , 66
Data 72 , 78 , 84 , 90 , 96 , 102 , 108 , 114 , 120 , 126 , 132
Data 138 , 144 , 150 , 156 , 162 , 168 , 174 , 180 , 186 , 192 , 198
Data 204 , 210 , 216 , 222 , 228 , 234 , 240 , 246 , 252 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 252 , 246 , 240 , 234 , 228 , 222 , 216 , 210 , 204 , 198
Data 192 , 186 , 180 , 174 , 168 , 162 , 156 , 150 , 144 , 138 , 132
Data 126 , 120 , 114 , 108 , 102 , 96 , 90 , 84 , 78 , 72 , 66
Data 60 , 54 , 48 , 42 , 36 , 30 , 24 , 18 , 12 , 6
'===============================================================================
Кого смущают длинные повторяющиеся фрагменты, объясняю, многократные переходы с повторами сильно замедляют общее выполнение подпрограммы.
Поделиться102022-01-12 13:48:15
Простым методом оказалась замена "Temps = Temps / 256" на Shift Temps , Right , 8
Это должен был сделать компилятор. Си-шный именно так и поступает!
Поделиться112022-01-12 15:56:42
Ещё ускоряемся !
Обязательно в самом верху исходника!!!
Dim Rampz_hsv_red As Byte
Loadwordadr Hsv_red
!in R16 , rampz
!sts {Rampz_hsv_red} , R16
'===============================================================================
'На ASM 189 тактов
'Получим логарифмические значения цвета RGB каналов для заданного цвета из расчитанной таблицы
'===============================================================================
Sub_hsv2rgb:
'-------------------------------------------------------------------------------
!lds R16 , {In_h}
!clr R17
'=================================
!lds R24 , {Rampz_hsv_red}
!LDI R30 , Low(Hsv_red * 2)
!LDI R31 , High(Hsv_red * 2)
!out rampz , R24
!add R30 , R16
!adc R31 , R17
!elpm R18 , Z
'=================================
!LDI R30 , Low(Hsv_green * 2)
!LDI R31 , High(Hsv_green * 2)
!add R30 , R16
!adc R31 , R17
!elpm R19 , Z
'=================================
!LDI R30 , Low(Hsv_blue * 2)
!LDI R31 , High(Hsv_blue * 2)
!add R30 , R16
!adc R31 , R17
!elpm R20 , Z
'=================================
!lds R16 , {In_s}
'=================================
!LDI R30 , Low(Saturation * 2)
!LDI R31 , High(Saturation * 2)
!add R30 , R16
!adc R31 , R17
!elpm R16 , Z
'=================================
!Mul R18 , R16
!movw R30 , R0
'=================================
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
'=================================
!ldi R21 , 255
!add R30 , R21
!adc R31 , R17
!sub R30 , R16
!sbc R31 , R17
!mov R18 , R30
'=================================
!Mul R19 , R16
!movw R30 , R0
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!add R30 , R21
!adc R31 , R17
!sub R30 , R16
!sbc R31 , R17
!mov R19 , R30
'=================================
!Mul R20 , R16
!movw R30 , R0
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!add R30 , R21
!adc R31 , R17
!sub R30 , R16
!sbc R31 , R17
!mov R20 , R30
'===============================
!lds R16 , {In_v}
!LDI R30 , Low(Brightness * 2)
!LDI R31 , High(Brightness * 2)
!add R30 , R16
!adc R31 , R17
!elpm R16 , Z
'===============================
!Mul R18 , R16
!movw R30 , R0
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!sts {Color(_base)} , R30
'===============================
!Mul R19 , R16
!movw R30 , R0
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!sts {Color(_base)+1} , R30
'===============================
!Mul R20 , R16
!movw R30 , R0
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!lsr R31
!ror R30
!sts {Color(_base)+2} , R30
'-------------------------------------------------------------------------------
Return
'==============================================================================='===============================================================================
Saturation: 'Насыщенность
'-------------------------------------------------------------------------------
Data 0 , 6 , 12 , 17 , 22 , 27 , 32 , 37 , 42 , 46 , 51 , 55 , 59 , 64 , 68 , 72
Data 76 , 80 , 84 , 87 , 91 , 94 , 98 , 101 , 105 , 108 , 111 , 114 , 117 , 120 , 123 , 126
Data 129 , 131 , 134 , 137 , 139 , 142 , 144 , 147 , 149 , 151 , 154 , 156 , 158 , 160 , 162 , 164
Data 166 , 168 , 170 , 172 , 174 , 175 , 177 , 179 , 180 , 182 , 184 , 185 , 187 , 188 , 190 , 191
Data 193 , 194 , 195 , 197 , 198 , 199 , 200 , 201 , 203 , 204 , 205 , 206 , 207 , 208 , 209 , 210
Data 211 , 212 , 213 , 214 , 215 , 216 , 217 , 217 , 218 , 219 , 220 , 221 , 221 , 222 , 223 , 224
Data 224 , 225 , 226 , 226 , 227 , 228 , 228 , 229 , 229 , 230 , 231 , 231 , 232 , 232 , 233 , 233
Data 234 , 234 , 235 , 235 , 235 , 236 , 236 , 237 , 237 , 238 , 238 , 238 , 239 , 239 , 240 , 240
Data 240 , 241 , 241 , 241 , 242 , 242 , 242 , 242 , 243 , 243 , 243 , 244 , 244 , 244 , 244 , 245
Data 245 , 245 , 245 , 246 , 246 , 246 , 246 , 246 , 247 , 247 , 247 , 247 , 247 , 248 , 248 , 248
Data 248 , 248 , 248 , 249 , 249 , 249 , 249 , 249 , 249 , 250 , 250 , 250 , 250 , 250 , 250 , 250
Data 250 , 251 , 251 , 251 , 251 , 251 , 251 , 251 , 251 , 251 , 252 , 252 , 252 , 252 , 252 , 252
Data 252 , 252 , 252 , 252 , 252 , 252 , 253 , 253 , 253 , 253 , 253 , 253 , 253 , 253 , 253 , 253
Data 253 , 253 , 253 , 253 , 253 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254
Data 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
'==============================================================================='===============================================================================
Brightness: 'Яркость
'-------------------------------------------------------------------------------
Data 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1
Data 1 , 1 , 1 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2
Data 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 3 , 3 , 3 , 3 , 3
Data 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 4 , 4 , 4 , 4 , 4 , 4
Data 4 , 4 , 4 , 4 , 4 , 4 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 6
Data 6 , 6 , 6 , 6 , 6 , 6 , 6 , 7 , 7 , 7 , 7 , 7 , 7 , 8 , 8 , 8
Data 8 , 8 , 8 , 9 , 9 , 9 , 9 , 9 , 10 , 10 , 10 , 10 , 10 , 11 , 11 , 11
Data 11 , 12 , 12 , 12 , 12 , 13 , 13 , 13 , 14 , 14 , 14 , 14 , 15 , 15 , 15 , 16
Data 16 , 16 , 17 , 17 , 18 , 18 , 18 , 19 , 19 , 20 , 20 , 21 , 21 , 21 , 22 , 22
Data 23 , 23 , 24 , 24 , 25 , 25 , 26 , 27 , 27 , 28 , 28 , 29 , 30 , 30 , 31 , 32
Data 32 , 33 , 34 , 35 , 35 , 36 , 37 , 38 , 39 , 39 , 40 , 41 , 42 , 43 , 44 , 45
Data 46 , 47 , 48 , 49 , 50 , 51 , 52 , 53 , 55 , 56 , 57 , 58 , 59 , 61 , 62 , 63
Data 65 , 66 , 68 , 69 , 71 , 72 , 74 , 76 , 77 , 79 , 81 , 82 , 84 , 86 , 88 , 90
Data 92 , 94 , 96 , 98 , 100 , 102 , 105 , 107 , 109 , 112 , 114 , 117 , 119 , 122 , 125 , 127
Data 130 , 133 , 136 , 139 , 142 , 145 , 148 , 151 , 155 , 158 , 162 , 165 , 169 , 172 , 176 , 180
Data 184 , 188 , 192 , 197 , 201 , 205 , 210 , 214 , 219 , 224 , 229 , 234 , 239 , 244 , 250 , 255
'==============================================================================='===============================================================================
Hsv_red: 'Цветовой тон для R
'-------------------------------------------------------------------------------
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 252 , 246 , 240 , 234 , 228 , 222 , 216 , 210 , 204 , 198
Data 192 , 186 , 180 , 174 , 168 , 162 , 156 , 150 , 144 , 138 , 132
Data 126 , 120 , 114 , 108 , 102 , 96 , 90 , 84 , 78 , 72 , 66
Data 60 , 54 , 48 , 42 , 36 , 30 , 24 , 18 , 12 , 6
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 6 , 12 , 18 , 24 , 30 , 36 , 42 , 48 , 54 , 60 , 66
Data 72 , 78 , 84 , 90 , 96 , 102 , 108 , 114 , 120 , 126 , 132
Data 138 , 144 , 150 , 156 , 162 , 168 , 174 , 180 , 186 , 192 , 198
Data 204 , 210 , 216 , 222 , 228 , 234 , 240 , 246 , 252 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
'==============================================================================='===============================================================================
Hsv_green: 'Цветовой тон для G
'-------------------------------------------------------------------------------
Data 6 , 12 , 18 , 24 , 30 , 36 , 42 , 48 , 54 , 60 , 66
Data 72 , 78 , 84 , 90 , 96 , 102 , 108 , 114 , 120 , 126 , 132
Data 138 , 144 , 150 , 156 , 162 , 168 , 174 , 180 , 186 , 192 , 198
Data 204 , 210 , 216 , 222 , 228 , 234 , 240 , 246 , 252 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 252 , 246 , 240 , 234 , 228 , 222 , 216 , 210 , 204 , 198
Data 192 , 186 , 180 , 174 , 168 , 162 , 156 , 150 , 144 , 138 , 132
Data 126 , 120 , 114 , 108 , 102 , 96 , 90 , 84 , 78 , 72 , 66
Data 60 , 54 , 48 , 42 , 36 , 30 , 24 , 18 , 12 , 6
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
'==============================================================================='===============================================================================
Hsv_blue: 'Цветовой тон для B
'-------------------------------------------------------------------------------
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 6 , 12 , 18 , 24 , 30 , 36 , 42 , 48 , 54 , 60 , 66
Data 72 , 78 , 84 , 90 , 96 , 102 , 108 , 114 , 120 , 126 , 132
Data 138 , 144 , 150 , 156 , 162 , 168 , 174 , 180 , 186 , 192 , 198
Data 204 , 210 , 216 , 222 , 228 , 234 , 240 , 246 , 252 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 252 , 246 , 240 , 234 , 228 , 222 , 216 , 210 , 204 , 198
Data 192 , 186 , 180 , 174 , 168 , 162 , 156 , 150 , 144 , 138 , 132
Data 126 , 120 , 114 , 108 , 102 , 96 , 90 , 84 , 78 , 72 , 66
Data 60 , 54 , 48 , 42 , 36 , 30 , 24 , 18 , 12 , 6
'===============================================================================
Поделиться122022-01-22 23:36:08
Dim Rampz_hsv_red As Byte
Loadwordadr Hsv_red
!in R16 , rampz
!sts {Rampz_hsv_red} , R16$map ' Получаем карту распределения памяти компилятором Bascom
$regfile = "m1284pdef.dat" ' Используемый контроллер
$crystal = 16000000 ' 8 МГц , кварц для стабильной работы USART во всём диапазоне скоростей передачи и приёма
$framesize = 512 'размер области используемой и необходимой для преобразований
$hwstack = 512 ' Размер аппаратного стека
$swstack = 512 ' Размер программного стекаDim In_h As Byte
Dim In_s As Byte
Dim In_v As ByteConfig Rainbow = 3 , Rb0_len = 19 , Rb0_port = Porta , Rb0_pin = 4 , _
Rb1_len = 19 , Rb1_port = Porta , Rb1_pin = 5 , _
Rb2_len = 16 , Rb2_port = Porta , Rb2_pin = 3
' ^--- connected to pin 3
' ^--------------------- connected to portD
' ^------------------------------------- 49 leds on stripe
' ^--------------------------------------------------- 1 channelConst Led_len = 3
Const Farbspeicher = 3 * Led_lenDim Led_array(farbspeicher) As Byte
Const Beginn_rot = Led_len + 1
Const Beginn_blau = Beginn_rot + Led_len
Dim Gruen(led_len) As Byte At Led_array(1) Overlay
Dim Rot(led_len) As Byte At Led_array(beginn_rot) Overlay
Dim Blau(led_len) As Byte At Led_array(beginn_blau) Overlay
Dim N1 As Byte
Dim N2 As Byte
Dim N3 As Byte
Dim Color(3) As Byte
R Alias Color(_base) : G Alias Color(_base + 1) : B Alias Color(_base + 2)Rb_selectchannel 0 ' select first channel
Rb_clearcolors 'clear colors in memoryRb_selectchannel 1 ' select first channel
Rb_clearcolors 'clear colors in memoryRb_selectchannel 2 ' select first channel
Rb_clearcolors 'clear colors in memory'НАЧАЛЬНЫЕ ЗНАЧЕНИЯ ПАЛИТРЫ
N1 = 0
N2 = 64
N3 = 128Dim Rgb_1(20) As Byte
Rgb_1(1) = 0
Rgb_1(2) = 16
Rgb_1(3) = 32
Rgb_1(4) = 48
Rgb_1(5) = 64
Rgb_1(6) = 80
Rgb_1(7) = 96
Rgb_1(8) = 112
Rgb_1(9) = 128
Rgb_1(10) = 144
Rgb_1(11) = 160
Rgb_1(12) = 176
Rgb_1(13) = 192
Rgb_1(14) = 208
Rgb_1(15) = 224
Rgb_1(16) = 240
Rgb_1(17) = 0
Rgb_1(18) = 16
Rgb_1(19) = 32Dim Rgb_2(20) As Byte
Rgb_2(1) = 0
Rgb_2(2) = 16
Rgb_2(3) = 32
Rgb_2(4) = 48
Rgb_2(5) = 64
Rgb_2(6) = 80
Rgb_2(7) = 96
Rgb_2(8) = 112
Rgb_2(9) = 128
Rgb_2(10) = 144
Rgb_2(11) = 160
Rgb_2(12) = 176
Rgb_2(13) = 192
Rgb_2(14) = 208
Rgb_2(15) = 224
Rgb_2(16) = 240
Rgb_2(17) = 0
Rgb_2(18) = 16
Rgb_2(19) = 32Dim Rgb_3(20) As Byte
Rgb_3(1) = 0
Rgb_3(2) = 16
Rgb_3(3) = 32
Rgb_3(4) = 48
Rgb_3(5) = 64
Rgb_3(6) = 80
Rgb_3(7) = 96
Rgb_3(8) = 112
Rgb_3(9) = 128
Rgb_3(10) = 144
Rgb_3(11) = 160
Rgb_3(12) = 176
Rgb_3(13) = 192
Rgb_3(14) = 208
Rgb_3(15) = 224
Rgb_3(16) = 240
Rgb_3(17) = 0
Rgb_3(18) = 16
Rgb_3(19) = 32Dim Count_rgb_1 As Byte
Dim Count_rgb_1_1 As Byte
Dim Count_rgb_2 As ByteDim Цвет As Byte
Dim Min_цвет As Byte
Dim Яркость As Byte
Dim Насыщеность As Byte
Dim Направ_насыщеность As ByteMin_цвет = 8
Цвет = 12
Яркость = 255
Насыщеность = 255'===============================================================================
'На ASM 81 такт
'На ASM с сохранением регистров 121 такт
'Получим логарифмические значения цвета RGB каналов для заданного цвета из расчитанной таблицы
'===============================================================================
Macro Calculation_hsv2rgb
'-------------------------------------------------------------------------------
!push R0
!push R1
!push R16
!push R17
!push R18
!push R19
!push R20
!push R21
!push R30
!push R31!lds R16 , {In_h}
!clr R17
'=================================
!lds R21 , {Rampz_hsv_red}
!LDI R30 , Low(Hsv_red * 2)
!LDI R31 , High(Hsv_red * 2)
!out rampz , R21
!add R30 , R16
!adc R31 , R17
!elpm R18 , Z
'=================================
!LDI R30 , Low(Hsv_green * 2)
!LDI R31 , High(Hsv_green * 2)
' !out rampz , R24
!add R30 , R16
!adc R31 , R17
!elpm R19 , Z
'=================================
!LDI R30 , Low(Hsv_blue * 2)
!LDI R31 , High(Hsv_blue * 2)
' !out rampz , R24
!add R30 , R16
!adc R31 , R17
!elpm R20 , Z
'=================================
!lds R16 , {In_s}
'=================================
!LDI R30 , Low(Saturation * 2)
!LDI R31 , High(Saturation * 2)
' !out rampz , R24
!add R30 , R16
!adc R31 , R17
!elpm R16 , Z
'=================================
!Mul R18 , R16
!mov R30 , R1
!clr R31
'=================================
!subi R30 , -255
!sub R30 , R16
!sbc R31 , R17
!mov R18 , R30
'=================================
!Mul R19 , R16
!mov R30 , R1
!clr R31
!subi R30 , -255
!sub R30 , R16
!sbc R31 , R17
!mov R19 , R30
'=================================
!Mul R20 , R16
!mov R30 , R1
!clr R31
!subi R30 , -255
!sub R30 , R16
!sbc R31 , R17
!mov R20 , R30
'===============================
!lds R16 , {In_v}
!LDI R30 , Low(Brightness * 2)
!LDI R31 , High(Brightness * 2)
' !out rampz , R24
!add R30 , R16
!adc R31 , R17
!elpm R16 , Z
'===============================
!Mul R18 , R16
!sts {Color(_base)} , R1
'===============================
!Mul R19 , R16
!sts {Color(_base)+1} , R1
'===============================
!Mul R20 , R16
!sts {Color(_base)+2} , R1!pop R31
!pop R30
!pop R21
!pop R20
!pop R19
!pop R18
!pop R17
!pop R16
!pop R1
!pop R0
'-------------------------------------------------------------------------------
End Macro
'==============================================================================='-------------- Разрешаем работу необходимых прерываний ----------------------
Enable Urxc
'------------ Разрешаем работу всех включенных прерываний --------------------
Enable Interrupts
'===============================================================================
' Запуск и предварительная настройка
'===============================================================================Do
Rb_selectchannel 0
For Count_rgb_1 = 1 To 19
Count_rgb_1_1 = Count_rgb_1 - 1In_h = Rgb_1(count_rgb_1)
In_s = 255
In_v = 255
Calculation_hsv2rgbIncr Rgb_1(count_rgb_1)
Rb_setcolor Count_rgb_1_1 , Color(1)
Next Count_rgb_1Rb_send
Rb_selectchannel 1
For Count_rgb_1 = 19 To 1 Step -1
Count_rgb_1_1 = Count_rgb_1 - 1In_h = Rgb_2(count_rgb_1)
In_s = 255
In_v = 255
Calculation_hsv2rgbIncr Rgb_2(count_rgb_1)
Rb_setcolor Count_rgb_1_1 , Color(1)
Next Count_rgb_1Rb_send
Rb_selectchannel 2
For Count_rgb_1 = 1 To 16
Count_rgb_1_1 = Count_rgb_1 - 1
Rgb_3(count_rgb_1) = Rnd(цвет)If Rgb_3(count_rgb_1) < Min_цвет Then
Rgb_3(count_rgb_1) = Min_цвет
End IfЯркость = Rnd(255)
If Яркость < 200 Then
Яркость = 200
End IfIn_h = Rgb_3(count_rgb_1)
In_s = Насыщеность
In_v = Яркость
Calculation_hsv2rgbRb_setcolor Count_rgb_1_1 , Color(1)
Next Count_rgb_1If Направ_насыщеность = 0 Then
If Насыщеность < 255 Then
Incr Насыщеность
Else
Направ_насыщеность = 1
End If
Else
If Насыщеность > 130 Then
Decr Насыщеность
Else
Направ_насыщеность = 0
End If
End IfRb_send
Waitms 5
Loop
End
'==============================================================================='===============================================================================
Saturation: 'Насыщенность
'-------------------------------------------------------------------------------
Data 0 , 6 , 12 , 17 , 22 , 27 , 32 , 37 , 42 , 46 , 51 , 55 , 59 , 64 , 68 , 72
Data 76 , 80 , 84 , 87 , 91 , 94 , 98 , 101 , 105 , 108 , 111 , 114 , 117 , 120 , 123 , 126
Data 129 , 131 , 134 , 137 , 139 , 142 , 144 , 147 , 149 , 151 , 154 , 156 , 158 , 160 , 162 , 164
Data 166 , 168 , 170 , 172 , 174 , 175 , 177 , 179 , 180 , 182 , 184 , 185 , 187 , 188 , 190 , 191
Data 193 , 194 , 195 , 197 , 198 , 199 , 200 , 201 , 203 , 204 , 205 , 206 , 207 , 208 , 209 , 210
Data 211 , 212 , 213 , 214 , 215 , 216 , 217 , 217 , 218 , 219 , 220 , 221 , 221 , 222 , 223 , 224
Data 224 , 225 , 226 , 226 , 227 , 228 , 228 , 229 , 229 , 230 , 231 , 231 , 232 , 232 , 233 , 233
Data 234 , 234 , 235 , 235 , 235 , 236 , 236 , 237 , 237 , 238 , 238 , 238 , 239 , 239 , 240 , 240
Data 240 , 241 , 241 , 241 , 242 , 242 , 242 , 242 , 243 , 243 , 243 , 244 , 244 , 244 , 244 , 245
Data 245 , 245 , 245 , 246 , 246 , 246 , 246 , 246 , 247 , 247 , 247 , 247 , 247 , 248 , 248 , 248
Data 248 , 248 , 248 , 249 , 249 , 249 , 249 , 249 , 249 , 250 , 250 , 250 , 250 , 250 , 250 , 250
Data 250 , 251 , 251 , 251 , 251 , 251 , 251 , 251 , 251 , 251 , 252 , 252 , 252 , 252 , 252 , 252
Data 252 , 252 , 252 , 252 , 252 , 252 , 253 , 253 , 253 , 253 , 253 , 253 , 253 , 253 , 253 , 253
Data 253 , 253 , 253 , 253 , 253 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254
Data 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
'==============================================================================='===============================================================================
Brightness: 'Яркость
'-------------------------------------------------------------------------------
Data 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1
Data 1 , 1 , 1 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2
Data 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 3 , 3 , 3 , 3 , 3
Data 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 4 , 4 , 4 , 4 , 4 , 4
Data 4 , 4 , 4 , 4 , 4 , 4 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 6
Data 6 , 6 , 6 , 6 , 6 , 6 , 6 , 7 , 7 , 7 , 7 , 7 , 7 , 8 , 8 , 8
Data 8 , 8 , 8 , 9 , 9 , 9 , 9 , 9 , 10 , 10 , 10 , 10 , 10 , 11 , 11 , 11
Data 11 , 12 , 12 , 12 , 12 , 13 , 13 , 13 , 14 , 14 , 14 , 14 , 15 , 15 , 15 , 16
Data 16 , 16 , 17 , 17 , 18 , 18 , 18 , 19 , 19 , 20 , 20 , 21 , 21 , 21 , 22 , 22
Data 23 , 23 , 24 , 24 , 25 , 25 , 26 , 27 , 27 , 28 , 28 , 29 , 30 , 30 , 31 , 32
Data 32 , 33 , 34 , 35 , 35 , 36 , 37 , 38 , 39 , 39 , 40 , 41 , 42 , 43 , 44 , 45
Data 46 , 47 , 48 , 49 , 50 , 51 , 52 , 53 , 55 , 56 , 57 , 58 , 59 , 61 , 62 , 63
Data 65 , 66 , 68 , 69 , 71 , 72 , 74 , 76 , 77 , 79 , 81 , 82 , 84 , 86 , 88 , 90
Data 92 , 94 , 96 , 98 , 100 , 102 , 105 , 107 , 109 , 112 , 114 , 117 , 119 , 122 , 125 , 127
Data 130 , 133 , 136 , 139 , 142 , 145 , 148 , 151 , 155 , 158 , 162 , 165 , 169 , 172 , 176 , 180
Data 184 , 188 , 192 , 197 , 201 , 205 , 210 , 214 , 219 , 224 , 229 , 234 , 239 , 244 , 250 , 255
'==============================================================================='===============================================================================
Hsv_red: 'Цветовой тон для R
'-------------------------------------------------------------------------------
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 252 , 246 , 240 , 234 , 228 , 222 , 216 , 210 , 204 , 198
Data 192 , 186 , 180 , 174 , 168 , 162 , 156 , 150 , 144 , 138 , 132
Data 126 , 120 , 114 , 108 , 102 , 96 , 90 , 84 , 78 , 72 , 66
Data 60 , 54 , 48 , 42 , 36 , 30 , 24 , 18 , 12 , 6
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 6 , 12 , 18 , 24 , 30 , 36 , 42 , 48 , 54 , 60 , 66
Data 72 , 78 , 84 , 90 , 96 , 102 , 108 , 114 , 120 , 126 , 132
Data 138 , 144 , 150 , 156 , 162 , 168 , 174 , 180 , 186 , 192 , 198
Data 204 , 210 , 216 , 222 , 228 , 234 , 240 , 246 , 252 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
'==============================================================================='===============================================================================
Hsv_green: 'Цветовой тон для G
'-------------------------------------------------------------------------------
Data 6 , 12 , 18 , 24 , 30 , 36 , 42 , 48 , 54 , 60 , 66
Data 72 , 78 , 84 , 90 , 96 , 102 , 108 , 114 , 120 , 126 , 132
Data 138 , 144 , 150 , 156 , 162 , 168 , 174 , 180 , 186 , 192 , 198
Data 204 , 210 , 216 , 222 , 228 , 234 , 240 , 246 , 252 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 252 , 246 , 240 , 234 , 228 , 222 , 216 , 210 , 204 , 198
Data 192 , 186 , 180 , 174 , 168 , 162 , 156 , 150 , 144 , 138 , 132
Data 126 , 120 , 114 , 108 , 102 , 96 , 90 , 84 , 78 , 72 , 66
Data 60 , 54 , 48 , 42 , 36 , 30 , 24 , 18 , 12 , 6
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
'==============================================================================='===============================================================================
Hsv_blue: 'Цветовой тон для B
'-------------------------------------------------------------------------------
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 6 , 12 , 18 , 24 , 30 , 36 , 42 , 48 , 54 , 60 , 66
Data 72 , 78 , 84 , 90 , 96 , 102 , 108 , 114 , 120 , 126 , 132
Data 138 , 144 , 150 , 156 , 162 , 168 , 174 , 180 , 186 , 192 , 198
Data 204 , 210 , 216 , 222 , 228 , 234 , 240 , 246 , 252 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 252 , 246 , 240 , 234 , 228 , 222 , 216 , 210 , 204 , 198
Data 192 , 186 , 180 , 174 , 168 , 162 , 156 , 150 , 144 , 138 , 132
Data 126 , 120 , 114 , 108 , 102 , 96 , 90 , 84 , 78 , 72 , 66
Data 60 , 54 , 48 , 42 , 36 , 30 , 24 , 18 , 12 , 6
'===============================================================================
Поделиться132022-03-22 10:43:18
Вот нарыл исследование по реализации протокола обмена с WS2812 при помощи SPI и UART. Осталось опробовать.
Посмотреть можно здесь: Ссылка


