1. В сообществе нашего форума Вконтакте создан раздел по продаже электронных компонентов.
    Каждый может продать в нем свои залежавшиеся детали. Подробности здесь.

Лампа WS2812+Atmega328p (Bascom AVR)

Тема в разделе "AVR", создана пользователем Дмитрий BASIC, 14 фев 2019.

  1. Дмитрий BASIC

    Дмитрий BASIC В доску свой

    Сообщения:
    199
    Симпатии:
    104
    Кто придумал это РАБОТАТЬ! На хобби совсем времени мало остается o_O

    Вообщем планирую Лампу сотворить, пока что только набросок , зацените может кто идейку какую еще подкинет.
     
    : ws2812, лампа, led
  2. Дмитрий BASIC

    Дмитрий BASIC В доску свой

    Сообщения:
    199
    Симпатии:
    104
    Код:
    $regfile = "m328pdef.dat"
    $crystal = 16000000
    $hwstack = 400
    $swstack = 400
    $framesize = 400
    $baud = 9600
                                                'Конфигурации
    '=====================================================
    
    Ws_2812 Alias Portb.1 : Config Ws_2812 = Output
    '=======================================================
    Const Lenght_led = 64                                       'кол-во светодиодов
    '=======================================================
    
    Dim R(lenght_led) As Byte
    Dim G(lenght_led) As Byte
    Dim B(lenght_led) As Byte
    Dim Ws_r As Byte
    Dim Ws_g As Byte
    Dim Ws_b As Byte
    Dim Ws_r1 As Byte
    Dim Ws_g1 As Byte
    Dim Ws_b1 As Byte
    
    Dim Hvost(lenght_led) As Byte
    
    Dim F As Byte
    Dim Q As Word
    Dim W As Byte
    Dim E As Byte
    Dim A As Byte
    
    '==========Объявление функций==========
    'Функция преобразования HSV в RGB --->>> ссылка на сайт Автора http://bascom.at.ua/publ/hsv_to_rgb/1-1-0-100 <<<---
    ' 0 <= hue < 255 - Hue - оттенок. Основные цвета:
    ' 0 - красный, 43 - желтый,
    ' 85 - зеленый, 128 - голубой
    ' 170 - синий, 213 - пурпурный
    ' 0 <= sat <= 255 - Saturation - насыщенность - 255 максимум
    ' 0 <= val <= 255 - Value - яркость - 255 максимум
    ' 0 <= r,g,b <= 255 - значения красного, зеленого, синего для выбранного канала
    Declare 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)
    Declare Sub Ws_grb(byval Green_ws As Byte , Byval Red_ws As Byte , Byval Blue_ws As Byte)
    Declare Sub L_1
    Declare Sub L_0
    Declare Sub Ws_show()
    Declare Sub Effect_fire()
    Declare Sub Effect_pixel(byval Red_led As Byte , Byval Green_led As Byte , Byval Blue_led As Byte , Byval Num_led As Byte , Byval Not_led As Byte )
    Declare Sub Effect_fill(byval Red_led As Byte , Byval Green_led As Byte , Byval Blue_led As Byte)
    Declare Sub Effect_meteor(byval H_led As Byte , Byval V_led As Byte , Byval Time_led As Word , Byval Go_led As Integer , Byval Len_led As Byte)
    Declare Sub Effect_sun(byval H_led As Byte , Byval V_led As Byte , Byval Time_led As Word)
    Declare Sub Effect_gradient(byval Red_led As Byte , Byval Green_led As Byte , Byval Blue_led As Byte , Byval Red_led1 As Byte , Byval Green_led1 As Byte , Byval Blue_led1 As Byte)
    '========================================================
    Do
    '                                               Эффект змейка
    Call Hsv2rgb(200 , 255 , 150 , Ws_r , Ws_g , Ws_b) : E = 0
    For F = 1 To Lenght_led
    E = E + 1 : Hvost(e) = F
    If F > 8 And F <= 16 Then : W = F -9 : W = 16 -w : Hvost(e) = W : End If
    If F > 24 And F <= 32 Then : W = F -25 : W = 32 -w : Hvost(e) = W : End If
    If F > 40 And F <= 48 Then : W = F -41 : W = 48 -w : Hvost(e) = W : End If
    If F > 56 And F <= 64 Then : W = F -57 : W = 64 -w : Hvost(e) = W : End If
    Call Effect_pixel(ws_r , Ws_g , Ws_b , Hvost(e) , 1)
    Call Effect_pixel(ws_r , Ws_g , Ws_b , Hvost(e -1) , 1)
    Call Effect_pixel(ws_r , Ws_g , Ws_b , Hvost(e -2) , 1)
    Call Effect_pixel(ws_r , Ws_g , Ws_b , Hvost(e -3) , 1)
    Call Effect_pixel(ws_r , Ws_g , Ws_b , Hvost(e -4) , 1) : Call Ws_show() : Waitms 10
      Call Effect_pixel(ws_r , Ws_g , Ws_b , Hvost(e) , 0)
    Next
    Call Hsv2rgb(180 , 255 , 150 , Ws_r , Ws_g , Ws_b) : E = 0
    For F = Lenght_led To 1 Step -1
    E = E + 1 : Hvost(e) = F
    If F > 8 And F <= 16 Then : W = F -9 : W = 16 -w : Hvost(e) = W : End If
    If F > 24 And F <= 32 Then : W = F -25 : W = 32 -w : Hvost(e) = W : End If
    If F > 40 And F <= 48 Then : W = F -41 : W = 48 -w : Hvost(e) = W : End If
    If F > 56 And F <= 64 Then : W = F -57 : W = 64 -w : Hvost(e) = W : End If
    Call Effect_pixel(ws_r , Ws_g , Ws_b , Hvost(e) , 1) : Call Ws_show() : Waitms 10
      'Call Effect_pixel(ws_r , Ws_g , Ws_b , Hvost(e) , 0)
    Next
    '                                               Эффект заполнение по спирали
    Call Hsv2rgb(0 , 255 , 150 , Ws_r , Ws_g , Ws_b)
    For F = 1 To 8
    For E = F To Lenght_led Step 8
    Call Effect_pixel(ws_r , Ws_g , Ws_b , E , 1) : Call Ws_show() : Waitms 50
    Next : Next
    '                                               Эффект заполнение по спирали
    Call Hsv2rgb(128 , 255 , 150 , Ws_r , Ws_g , Ws_b)
    For F = 0 To 7 : Q = Lenght_led - F
    For E = Q To 1 Step - 8
    Call Effect_pixel(ws_r , Ws_g , Ws_b , E , 1) : Call Ws_show() : Waitms 30
    Next : Next
    '                                               Эффект заполнение по спирали
    Call Hsv2rgb(43 , 255 , 150 , Ws_r , Ws_g , Ws_b)
    For F = 1 To 8
    For E = F To Lenght_led Step 8
    Call Effect_pixel(ws_r , Ws_g , Ws_b , E , 1) : Call Ws_show() : Waitms 20
    Next : Next
    '                                               Эффект заполнение по спирали
    Call Hsv2rgb(170 , 255 , 150 , Ws_r , Ws_g , Ws_b)
    For F = 0 To 7 : Q = Lenght_led - F
    For E = Q To 1 Step - 8
    Call Effect_pixel(ws_r , Ws_g , Ws_b , E , 1) : Call Ws_show() : Waitms 10
    Next : Next
    '                Эффект заполнение по спирали
    Call Hsv2rgb(213 , 255 , 150 , Ws_r , Ws_g , Ws_b)
    For F = 1 To 8
    For E = F To Lenght_led Step 8
    Call Effect_pixel(ws_r , Ws_g , Ws_b , E , 1) : Call Ws_show() : Waitms 5
    Next : Next
    '                                               Эффект заполнение по спирали
    Call Hsv2rgb(85 , 255 , 150 , Ws_r , Ws_g , Ws_b)
    For F = 0 To 7 : Q = Lenght_led - F
    For E = Q To 1 Step - 8
    Call Effect_pixel(ws_r , Ws_g , Ws_b , E , 1) : Call Ws_show() : Waitms 2
    Next : Next
    
    '                                               Эффект Огонь
    For Q = 1 To 10
    Call Effect_fire()
    Next
    '                                               Эффект Плывущая радуга
    F = 0 : E = 0 : W = 256 / Lenght_led
    For Q = 0 To 5000
    F = F + W : E = E + 1
       Call Hsv2rgb(f , 255 , 150 , Ws_r , Ws_g , Ws_b)
       Call Effect_pixel(ws_r , Ws_g , Ws_b , E , 1)
    If F > 255 Then F = 0
    If E > Lenght_led Then
    E = 0
    Call Ws_show() : Waitms 100
    End If
    Next
    
    '                                               Эффект плавная смена цвета
    For E = 0 To 255
    Call Hsv2rgb(e , 255 , 150 , Ws_r , Ws_g , Ws_b)
    Call Effect_fill(ws_r , Ws_g , Ws_b)
    Call Ws_show()
    Waitms 50
    Next
    '                                               Эффект градиент двух цветов
    For E = 1 To 10
    F = Rnd(255) : A = 100 : Call Hsv2rgb(f , 255 , A , Ws_r , Ws_g , Ws_b)
    F = Rnd(255) : A = 100 : Call Hsv2rgb(f , 255 , A , Ws_r1 , Ws_g1 , Ws_b1)
    Call Effect_gradient(ws_r , Ws_g , Ws_b , Ws_r1 , Ws_g1 , Ws_b1) : Call Ws_show()
    Waitms 1000
    Next
    '                                               Эффект метеориты
    Call Effect_meteor(0 , 128 , 2 , 1 , 4 )
    Call Effect_meteor(43 , 128 , 2 , 1 , 8 )
    Call Effect_meteor(85 , 128 , 2 , 1 , 12)
    Call Effect_meteor(128 , 128 , 2 , 1 , 16 )
    Call Effect_meteor(170 , 128 , 2 , -1 , 20 )
    Call Effect_meteor(213 , 128 , 2 , -1 , 24 )
    Call Effect_meteor(255 , 128 , 2 , -1 , 10 )
    '                                               Эффект пиксели
    For E = 1 To 100
    F = Rnd(255)
    A = Rnd(150)
    W = Rnd(lenght_led )
    Call Hsv2rgb(f , 255 , A , Ws_r , Ws_g , Ws_b)
    If E < 50 Then
    Call Effect_pixel(ws_r , Ws_g , Ws_b , W , 0)
    Else
    Call Effect_pixel(ws_r , Ws_g , Ws_b , W , 1)
    End If
    Call Ws_show()
    Waitms 200
    Next
    '                                               Эффект плавное затухание и рассвет
    For E = 1 To 10
    F = Rnd(255)
    A = Rnd(150)
    Q = Rnd(100)
    Call Effect_sun(f , A , Q )
    Next
    
    Loop
    
    Последнее редактирование: 14 фев 2019
  3. Дмитрий BASIC

    Дмитрий BASIC В доску свой

    Сообщения:
    199
    Симпатии:
    104
    Код:
    '======================================Эффекты
    Sub Effect_fill(byval Red_led As Byte , Byval Green_led As Byte , Byval Blue_led As Byte , Byval Num_led As Byte )
    Local I As Byte
    For I = 1 To Lenght_led
    R(i) = Red_led
    G(i) = Green_led
    B(i) = Blue_led
    Next
    ' Call Ws_show()
    End Sub
      '========================================================
    Sub Effect_pixel(byval Red_led As Byte , Byval Green_led As Byte , Byval Blue_led As Byte , Byval Num_led As Byte , Byval Not_led As Byte )
    Local I As Byte
    For I = 1 To Lenght_led
    If Num_led = I Then
    R(i) = Red_led
    G(i) = Green_led
    B(i) = Blue_led
    Else
    If Not_led = 0 Then
    R(i) = 0
    G(i) = 0
    B(i) = 0
    End If
    End If
    Next
    'Call Ws_show()
    End Sub
    '========================================================
    Sub Effect_gradient(byval Red_led As Byte , Byval Green_led As Byte , Byval Blue_led As Byte , Byval Red_led1 As Byte , Byval Green_led1 As Byte , Byval Blue_led1 As Byte)
    Local I As Byte
    Local R_cof As Single
    Local G_cof As Single
    Local B_cof As Single
    Local R_temp As Single
    Local G_temp As Single
    Local B_temp As Single
    R_temp = Red_led1 - Red_led : R_cof = R_temp / Lenght_led : R_temp = Red_led
    G_temp = Green_led1 - Green_led : G_cof = G_temp / Lenght_led : G_temp = Green_led
    B_temp = Blue_led1 - Blue_led : B_cof = B_temp / Lenght_led : B_temp = Blue_led
    For I = 1 To Lenght_led
    R_temp = R_temp + R_cof
    G_temp = G_temp + G_cof
    B_temp = B_temp + B_cof
    R(i) = R_temp
    G(i) = G_temp
    B(i) = B_temp
    Next
    'Call Ws_show()
      End Sub
      '========================================================
    Sub Effect_sun(byval H_led As Byte , Byval V_led As Byte , Byval Time_led As Word)
      Local I As Byte
      For I = 12 To V_led Step 4
    Call Hsv2rgb(h_led , 255 , I , Ws_r , Ws_g , Ws_b)
    Call Effect_fill(ws_r , Ws_g , Ws_b)
      Call Ws_show()
    Waitms Time_led
    Next
       For I = V_led To 12 Step -4
    Call Hsv2rgb(h_led , 255 , I , Ws_r , Ws_g , Ws_b)
    Call Effect_fill(ws_r , Ws_g , Ws_b)
    Call Ws_show()
    Waitms Time_led
    Next
    End Sub
    '==============================
    Sub Effect_meteor(byval H_led As Byte , Byval V_led As Byte , Byval Time_led As Word , Byval Go_led As Integer , Byval Len_led As Byte)
    Local I As Byte
    Local J As Byte
    Local K As Byte
    Local Tmp As Byte
    Local V_tmp As Byte
    Local V_temp As Single
    Local V_cof As Single
    
    Tmp = Lenght_led + Len_led : V_cof = V_led / Len_led
    
    If Go_led = 1 Then
    For I = 1 To Tmp : V_temp = V_led
    For J = 1 To Len_led
    V_temp = V_temp - V_cof : V_tmp = V_temp : K = I - J
    Call Hsv2rgb(h_led , 255 , V_tmp , Ws_r , Ws_g , Ws_b)
    Call Effect_pixel(ws_r , Ws_g , Ws_b , K , 1)
    Next
    Call Ws_show()
    Waitms Time_led
    Next
    Elseif Go_led = -1 Then
    
    For I = Tmp To 1 Step -1 : V_temp = V_led
    For J = Len_led To 1 Step -1
    V_temp = V_temp - V_cof : V_tmp = V_temp : K = I - J
    Call Hsv2rgb(h_led , 255 , V_tmp , Ws_r , Ws_g , Ws_b)
    Call Effect_pixel(ws_r , Ws_g , Ws_b , K , 1)
    Next
    Call Ws_show()
    Waitms Time_led
    Next
    End If
    End Sub
    '=========================================
    Sub Effect_fire()
    Local Fire_len As Byte
    Local Fire_wait As Byte
    Local Fire_color As Byte
    Local Fire_flame As Byte
    Local Fire_bright As Byte
    Local Fire_bright0 As Integer
    Local Fire_coof1 As Byte
    Local Fire_coof2 As Byte
    Local Fire_temp1 As Byte
    Local Fire_temp2 As Single
    Local I As Byte
    Local G As Byte
    Local A As Byte
    
    Fire_len = Lenght_led / 8
    Fire_len = Rnd(fire_len)
    Fire_wait = Rnd(500)
    Fire_bright0 = 160
    Fire_color = 43
    Fire_flame = 0
    Fire_temp1 = Lenght_led - Fire_len : Fire_temp1 = Rnd(fire_temp1)
    Fire_temp2 = Fire_bright0 / Fire_temp1 : Fire_coof1 = Fire_temp2
    Fire_temp2 = Fire_color - Fire_flame : Fire_temp2 = Abs(fire_temp2)       ': Fire_color = Fire_temp2
    If Fire_temp2 < Lenght_led Then : Fire_temp2 = Lenght_led / Fire_temp2 : Else : Fire_temp2 = Fire_temp2 / Lenght_led : End If : Fire_coof2 = Fire_temp2
    If Fire_color > Fire_flame Then Fire_coof2 = -fire_coof2
    For I = 1 To Lenght_led
    Fire_color = Fire_color + Fire_coof2
    If I > Fire_len Then : Fire_bright0 = Fire_bright0 - Fire_coof1 : End If
    If Fire_bright0 < 0 Then : Fire_bright = 0 : Else : Fire_bright = Fire_bright0 : End If
    Call Hsv2rgb(fire_color , 255 , Fire_bright , Ws_r , Ws_g , Ws_b) : Call Effect_pixel(ws_r , Ws_g , Ws_b , I , 1)
    Waitus Fire_wait
    Call Ws_show()
    Next
    'Waitms Fire_wait
    'Call Ws_show()
    End Sub
  4. Дмитрий BASIC

    Дмитрий BASIC В доску свой

    Сообщения:
    199
    Симпатии:
    104
    Код:
    '============================= Дежурные
    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 Single
    
       'Получим логарифмические значения цвета 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
    
    '==============================
    
    Sub Ws_grb(byval Green_ws As Byte , Byval Red_ws As Byte , Byval Blue_ws As Byte)
    Local Bit_ws As Byte
    For Bit_ws = 7 To 0 Step -1 : If Green_ws.bit_ws = 1 Then Call L_1 Else Call L_0 : Next
    For Bit_ws = 7 To 0 Step -1 : If Red_ws.bit_ws = 1 Then Call L_1 Else Call L_0 : Next
    For Bit_ws = 7 To 0 Step -1 : If Blue_ws.bit_ws = 1 Then Call L_1 Else Call L_0 : Next
    End Sub
    '================================
    Sub Ws_show()
    Local I As Byte
       For I = 1 To Lenght_led : If I > 32 And I < 41 Then : Call Ws_grb(r(i) , G(i) , B(i)) : Else : Call Ws_grb(g(i) , R(i) , B(i)) : End If : Next       ' прорисовка буфера
    End Sub
    '================================
    Sub L_1
    Set Ws_2812 : Nop : Nop : Nop : Nop : Nop : Nop : Nop : Nop ' Для 16мг               0.80ns
    Reset Ws_2812 : Nop : Nop : Nop : Nop : Nop : Nop           ' Для 16мг        0.45ns
    End Sub
    '================================
    Sub L_0
    Set Ws_2812 : Nop : Nop : Nop : Nop : Nop                   ' Для 16мг                    0.4ns
    Reset Ws_2812 : Nop : Nop : Nop : Nop : Nop : Nop : Nop : Nop : Nop       ' Для 16мг       0.85ns
    End Sub
    '==========Насыщенность==========
    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
    
    
    '==========Яркость==========
    Value:
    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
    
    
    '==========Цветовой тон для R==========
    Hsv_r:
    'От красного до желтого - 43 ступени
    Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
    Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
    'От желтого до зеленого - 42 ступени
    Data 223 , 192 , 170 , 148 , 130 , 113 , 99 , 86 , 76 , 66 , 58 , 50 , 44 , 38 , 34 , 29 , 26 , 22 , 20 , 17 , 15
    Data 13 , 11 , 10 , 9 , 8 , 7 , 6 , 5 , 4 , 4 , 3 , 3 , 3 , 2 , 2 , 2 , 1 , 1 , 1 , 1 , 0
    'От зеленого до голубого - 43 ступени
    Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    'От голубого до синего - 42 ступени
    Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    'От синего до фиолетового - 43 ступени
    Data 0 , 1 , 1 , 1 , 1 , 2 , 2 , 2 , 3 , 3 , 3 , 4 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 13 , 15
    Data 17 , 20 , 22 , 26 , 29 , 34 , 38 , 44 , 50 , 58 , 66 , 76 , 86 , 99 , 113 , 130 , 148 , 170 , 192 , 223 , 255
    'От фиолетового до красного - 43 ступени
    Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
    Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
    
    
    '==========Цветовой тон для G==========
    Hsv_g:
    'От красного до желтого - 43 ступени
    Data 0 , 1 , 1 , 1 , 1 , 2 , 2 , 2 , 3 , 3 , 3 , 4 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 13 , 15
    Data 17 , 20 , 22 , 26 , 29 , 34 , 38 , 44 , 50 , 58 , 66 , 76 , 86 , 99 , 113 , 130 , 148 , 170 , 192 , 223 , 255
    'От желтого до зеленого - 42 ступени
    Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
    Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
    'От зеленого до голубого - 43 ступени
    Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
    Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
    'От голубого до синего - 42 ступени
    Data 223 , 192 , 170 , 148 , 130 , 113 , 99 , 86 , 76 , 66 , 58 , 50 , 44 , 38 , 34 , 29 , 26 , 22 , 20 , 17 , 15
    Data 13 , 11 , 10 , 9 , 8 , 7 , 6 , 5 , 4 , 4 , 3 , 3 , 3 , 2 , 2 , 2 , 1 , 1 , 1 , 1 , 0
    'От синего до фиолетового - 43 ступени
    Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    'От фиолетового до красного - 43 ступени
    Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    
    
    '==========Цветовой тон для B==========
    Hsv_b:
    'От красного до желтого - 43 ступени
    Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    'От желтого до зеленого - 42 ступени
    Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    'От зеленого до голубого - 43 ступени
    Data 0 , 1 , 1 , 1 , 1 , 2 , 2 , 2 , 3 , 3 , 3 , 4 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 13 , 15
    Data 17 , 20 , 22 , 26 , 29 , 34 , 38 , 44 , 50 , 58 , 66 , 76 , 86 , 99 , 113 , 130 , 148 , 170 , 192 , 223 , 255
    'От голубого до синего - 42 ступени
    Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
    Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
    'От синего до фиолетового - 43 ступени
    Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
    Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
    'От фиолетового до красного - 43 ступени
    Data 223 , 192 , 170 , 148 , 130 , 113 , 99 , 86 , 76 , 66 , 58 , 50 , 44 , 38 , 34 , 29 , 26 , 22 , 20 , 17 , 15
    Data 13 , 11 , 10 , 9 , 8 , 7 , 6 , 5 , 4 , 4 , 3 , 3 , 3 , 2 , 2 , 2 , 1 , 1 , 1 , 1 , 1 , 0
    --- Сообщения объединены, 14 фев 2019 ---
    radioengineer и Buba_Chkhadze нравится это.
  5. Чапаев

    Чапаев В доску свой

    Сообщения:
    195
    Симпатии:
    20
    Род занятий:
    Охранные системы безопасности
    Адрес:
    Астана


    У него еще динамическая подсветка есть, и он выкладывал доработаную либу fast led с максимальным количеством эффектов
  6. Дмитрий BASIC

    Дмитрий BASIC В доску свой

    Сообщения:
    199
    Симпатии:
    104



    примерно хочу вот такого эффекта добится!
  7. Buba_Chkhadze

    Buba_Chkhadze Модератор Команда форума

    Сообщения:
    4.489
    Симпатии:
    371
    Адрес:
    Талгар
    красиво...
  8. Чапаев

    Чапаев В доску свой

    Сообщения:
    195
    Симпатии:
    20
    Род занятий:
    Охранные системы безопасности
    Адрес:
    Астана
    Для цилиндра лазерная резка из фанеры нужна, а софт написать не сложно. Можно и управление с телефона сделать.
  9. radioengineer

    radioengineer Администратор Команда форума

    Сообщения:
    3.577
    Симпатии:
    355
    Адрес:
    Алматы
    Не обязательно фанера, мне недавно резали акрил лазером, по красоте получилось вообще.

Поделиться этой страницей