0@0
LibraryRoot
LibraryGroup-Оформление
LibraryGroup-Таймеры
LibraryGroup-Алгебра
LibraryGroup-Сравнение
LibraryGroup-UART
LibraryGroup-Переключатель
LibraryGroup-Моторы
LibraryGroup-Часы реального времени
LibraryGroup-Дисплеи
LibraryGroup-Строки
LibraryGroup-ИК управление
LibraryGroup-Массивы
LibraryGroup-Структуры
LibraryGroup-Датчики
LibraryGroup-Конвертация типов
LibraryGroup-Микросхемы расширений
LibraryGroup-Операции с битами
LibraryGroup-Другие
LibraryGroup-Меню
LibraryGroup-Командоаппарат
LibraryGroup-EEPROM
LibraryGroup-Коммуникации
LibraryGroup-Готовые сервисы
0@0
355
0@-100
169
368
0@0
root
globalVariable
1
aa42c1bc-afd2-4daf-8453-76e287a01555
LibraryGroup-WS2812
LibraryGroup-Алекс Гувер
LibraryGroup-Эффекты
0@-462
6
2
13
4
610@840
630@840 corner: 761.0d@860
610@840 corner: 781.0d@860
635.0d@854.5d
WS2812_Eff_Gyver_final
9e3b5f41-961b-42d7-92e1-084db40edbac
Эффекты на WS2812 Гивера последний
Ставится блок последним, работает только с первымм блоком. Между ними ставить блоки эффектов.
94
}
3
131.0d
10
7
610@360
630@360 corner: 757.0d@420
610@360 corner: 777.0d@420
635.0d@374.5d
11
400@190
420@190 corner: 480@410
400@190 corner: 500@410
435.0d@204.5d
V
400@220
420@220
380.0d@223.5d
400@210 corner: 420@230
32
240@170
260@170 corner: 300@250
240@170 corner: 320@250
265.5d@183.5d
34
140@170
160@170 corner: 200@210
140@170 corner: 220@210
166.5d@184.5d
33
30@150
50@150 corner: 110@210
30@150 corner: 130@210
66.0d@163.5d
EN
30@180
44@180
30@170 corner: 44@190
OnVal
10000
30@200
50@200
-1.0d@203.5d
30@190 corner: 50@210
110@190 corner: 130@210
130@200
simetricMulti
0
Q
9.0d
110@200
130@200 corner: 130@200
I
140@200
160@200
140@190 corner: 160@210
200@190 corner: 220@210
220@200
200@200
220@200 corner: 220@200
EN
240@200
260@200
240@190 corner: 260@210
MAX
9
240@220
260@220
232.0d@223.5d
240@210 corner: 260@230
MIN
240@240
260@240
232.0d@243.5d
240@230 corner: 260@250
300@230 corner: 320@250
320@240
300@240
5
17
450@80
470@80 corner: 550@120
450@80 corner: 570@120
471.0d@94.5d
450@100 corner: 470@120
16
610@80
630@80 corner: 685.0d@120
610@80 corner: 705.0d@120
635.0d@94.5d
610@100 corner: 630@120
610@110
Clear_eff
clear
fd3f8f9e-3249-4526-81f1-85eb86e1b516
4283209c-2372-4cf2-9995-2f69d3d88fa8
6c588c0c-8516-4697-981b-32aa7453b0da
Очистка ленты
if (clear) {
one_color_all(0, 0, 0);
LEDS.show();
}
68
55.0d
630@110
570@110 corner: 570@110
Q
550@110
570@110
550@100 corner: 570@120
450@110
Value
470@110
320@110 corner: 320@240
Sel
400@240
420@240
400@230 corner: 420@250
28
610@140
630@140 corner: 755.0d@200
610@140 corner: 775.0d@200
635.0d@154.5d
610@160 corner: 630@180
time_rf
20
610@190
630@190
596.0d@193.5d
Effect_RAINBOW_LOOP
Rainbow_loop
895c4f29-7943-446f-baa6-b1c8fd9dc4ce
85f502d4-7269-4357-a9d1-7827e98e694d
time_rl
f319ad2a-1bcf-4b20-886e-e827ac3cb9eb
c8e629f4-6559-4122-a648-01e02275bee3
af7ed5d9-2a9e-462a-afd2-0187576a93d6
Эффект RAINBOW_LOOP
Ставится блок между главным и последними блоками.
50
LED_COUNT
48
f932f7e1-f765-48c4-9e33-9778f5f2a6c5
c041f2fd-6a2e-421c-acb9-5b3067390339
if ( Rainbow_loop ) { thisdelay = time_rl;
thisstep = 10;
rainbow_loop();
}
97
idex++;
ihue = ihue + thisstep;
if (idex >= LED_COUNT) {
idex = 0;
}
if (ihue > 255) {
ihue = 0;
}
leds[idex] = CHSV(ihue, thissat, 255);
LEDS.show();
delay(thisdelay);
192
void
rainbow_loop
610@180 corner: 630@200
610@170
Effect_RAINBOW_FADE
Rainbow_fade
938784f3-fda6-4c47-ab21-b7673f2cc68c
Эффект RAINBOW_FADE
Ставится блок между главным и последними блоками.
Входы:
Rainbow_fade - включение блока;
time_rf - скорость выполнения эффекта.
Параметры:
LED_COUNT - количество светодиодов в ленте.
Ihue, Thissat - меняя значения этих параметров можно задавать другие цвета.
264
300
Thissat
255
9ce72adf-db52-47c8-acb3-1055b66cb5b7
6d3e79c6-2787-4846-b798-8dbe215debf2
if ( Rainbow_fade ) { thisdelay = time_rf ;
thissat = Thissat;
rainbow_fade();
}
110
ihue++;
if (ihue > 255) {
ihue = 0;
}
for (int idex = 0 ; idex < LED_COUNT; idex++ ) {
leds[idex] = CHSV(ihue, thissat, 255);
}
LEDS.show();
delay(thisdelay);
180
void
rainbow_fade
125.0d
630@170
500@170 corner: 500@220
Q0
15.0d
480@220
500@220
480@210 corner: 500@230
29
610@210
630@210 corner: 757.0d@270
610@210 corner: 777.0d@270
635.0d@224.5d
610@230 corner: 630@250
610@260
630@260
596.0d@263.5d
610@250 corner: 630@270
610@240
5552a7a0-5c9d-40de-893a-ae03742d5903
Ставится блок между главным и последними блоками.
Входы:
Rainbow_loop - включение блока;
time_rl - скорость выполнения эффекта.
Параметры:
LED_COUNT - количество светодиодов в ленте.
Thissat - меняя значения этих параметров можно задавать другие цвета.
Thisstep - задержка.
285
Thissat
6448c5d7-1e35-4a7e-a3cd-974c43c9bdb7
185df97c-1f7b-49dc-8167-a5a5d4e0dc69
Thisstep
ee3343c6-8c7e-47cb-aaf7-46ff6b46393e
0179b9f7-0465-4aff-a52e-67253f384cb4
if ( Rainbow_loop ) { thisdelay = time_rl;
thisstep = Thisstep ;
thissat = Thissat;
rainbow_loop();
}
134
127.0d
630@240
500@240 corner: 500@240
Q1
14.0d
480@240
500@240
480@230 corner: 500@250
30
610@280
630@280 corner: 757.0d@340
610@280 corner: 777.0d@340
635.0d@294.5d
610@300 corner: 630@320
time_rb
610@330
630@330
596.0d@333.5d
Effect_RAINBOW_FADE
rainbow_fade
39d6ba29-4f8a-486d-a6a6-3c8df78e1b57
c5987971-905c-484e-a3df-16fd211e8055
699692d0-56e5-459e-9413-5c2d04ea6fb7
Эффекты на WS2812 Гивера последний
Ставится блок последним, работает только с первымм блоком. Между ними ставить блоки эффектов.
if (RAINBOW_FADE) { thisdelay = 20;
rainbow_fade();
}
ihue++;
if (ihue > 255) {
ihue = 0;
}
for (int idex = 0 ; idex < LED_COUNT; idex++ ) {
leds[idex] = CHSV(ihue, thissat, 255);
}
LEDS.show();
delay(thisdelay);
178
void
rainbow_fade
Rainbow_fade
time_rf
5ff2eaf2-83de-403b-a2c2-a417067862d6
36450ce9-5337-47b0-9138-a264dfb2098d
8d713303-b75a-4a8a-bd88-bacb22fa2979
if ( Rainbow_fade ) { thisdelay = time_rf;
rainbow_fade();
}
75
610@320 corner: 630@340
610@310
Effect_RANDOM BURST
Random_burst
a0484f2e-1ba4-469d-869b-0b80f7c001ea
Эффект RANDOM BURST
Ставится блок между главным и последними блоками.
Входы:
Random_burst - включение блока;
time_rb - скорость выполнения эффекта.
Параметры:
LED_COUNT - количество светодиодов в ленте.
Thissat - меняя значения этих параметров можно задавать другие цвета.
261
Thissat
c6df25f6-9a62-4f0c-bf85-58c6d5ac80f3
34a6ea07-2fb7-462b-99c3-97b9f6cab658
if ( Random_burst ) { thisdelay = time_rb;
thissat = Thissat;
random_burst();
}
107
idex = random(0, LED_COUNT);
ihue = random(0, 255);
leds[idex] = CHSV(ihue, thissat, 255);
LEDS.show();
delay(thisdelay);
129
void
random_burst
630@310
510@260 corner: 510@310
Q2
480@260
500@260
480@250 corner: 500@270
480@270 corner: 500@290
19
610@430
630@430 corner: 786.0d@490
610@430 corner: 806.0d@490
635.0d@444.5d
610@450 corner: 630@470
time_cbf
40
610@480
630@480
596.0d@483.5d
Effect_RAINBOW_LOOP
Rainbow_loop
895c4f29-7943-446f-baa6-b1c8fd9dc4ce
85f502d4-7269-4357-a9d1-7827e98e694d
time_rl
f319ad2a-1bcf-4b20-886e-e827ac3cb9eb
c8e629f4-6559-4122-a648-01e02275bee3
af7ed5d9-2a9e-462a-afd2-0187576a93d6
Эффект RAINBOW_LOOP
Ставится блок между главным и последними блоками.
LED_COUNT
f932f7e1-f765-48c4-9e33-9778f5f2a6c5
c041f2fd-6a2e-421c-acb9-5b3067390339
if ( Rainbow_loop ) { thisdelay = time_rl;
thisstep = 10;
rainbow_loop();
}
idex++;
ihue = ihue + thisstep;
if (idex >= LED_COUNT) {
idex = 0;
}
if (ihue > 255) {
ihue = 0;
}
leds[idex] = CHSV(ihue, thissat, 255);
LEDS.show();
delay(thisdelay);
void
rainbow_loop
610@470 corner: 630@490
610@460
Effect_BOUNCE COLOR FADE
Color_bounceFADE
6b444889-637d-454f-8435-782b2f7a3e93
Эффект BOUNCE COLOR FADE
Ставится блок между главным и последними блоками.
Входы:
Color_bounceFADE - включение блока;
time_cbf - скорость выполнения эффекта.
Параметры:
LED_COUNT - количество светодиодов в ленте.
Thishue, Thissat - меняя значения этих параметров можно задавать другие цвета.
274
Thishue
a86d97de-8a66-4768-8860-375e85cba2a5
ac4b8400-f2dc-4c6a-8260-aeb4f0720d7f
Thissat
734c6ce6-9d24-4139-8a14-90818f649cbb
ca6e2de6-1a86-494f-939e-b566458b4d1e
if ( Color_bounceFADE ) { thisdelay = time_cbf ;
thishue = Thishue;
thissat = Thissat;
color_bounceFADE();
}
139
if (bouncedirection == 0) {
idex = idex + 1;
if (idex == LED_COUNT) {
bouncedirection = 1;
idex = idex - 1;
}
}
if (bouncedirection == 1) {
idex = idex - 1;
if (idex == 0) {
bouncedirection = 0;
}
}
int iL1 = adjacent_cw(idex);
int iL2 = adjacent_cw(iL1);
int iL3 = adjacent_cw(iL2);
int iR1 = adjacent_ccw(idex);
int iR2 = adjacent_ccw(iR1);
int iR3 = adjacent_ccw(iR2);
for (int i = 0; i < LED_COUNT; i++ ) {
if (i == idex) {
leds[i] = CHSV(thishue, thissat, 255);
}
else if (i == iL1) {
leds[i] = CHSV(thishue, thissat, 150);
}
else if (i == iL2) {
leds[i] = CHSV(thishue, thissat, 80);
}
else if (i == iL3) {
leds[i] = CHSV(thishue, thissat, 20);
}
else if (i == iR1) {
leds[i] = CHSV(thishue, thissat, 150);
}
else if (i == iR2) {
leds[i] = CHSV(thishue, thissat, 80);
}
else if (i == iR3) {
leds[i] = CHSV(thishue, thissat, 20);
}
else {
leds[i] = CHSV(0, 0, 0);
}
}
LEDS.show();
delay(thisdelay);
1085
void
color_bounceFADE
156.0d
630@460
530@300 corner: 530@460
Q4
16.0d
480@300
500@300
480@290 corner: 500@310
26
610@500
630@500 corner: 794.0d@560
610@500 corner: 814.0d@560
635.0d@514.5d
610@520 corner: 630@540
time_elone
610@550
630@550
596.0d@553.5d
Effect_RAINBOW_LOOP
Rainbow_loop
895c4f29-7943-446f-baa6-b1c8fd9dc4ce
85f502d4-7269-4357-a9d1-7827e98e694d
time_rl
f319ad2a-1bcf-4b20-886e-e827ac3cb9eb
c8e629f4-6559-4122-a648-01e02275bee3
af7ed5d9-2a9e-462a-afd2-0187576a93d6
Эффект RAINBOW_LOOP
Ставится блок между главным и последними блоками.
LED_COUNT
f932f7e1-f765-48c4-9e33-9778f5f2a6c5
c041f2fd-6a2e-421c-acb9-5b3067390339
if ( Rainbow_loop ) { thisdelay = time_rl;
thisstep = 10;
rainbow_loop();
}
idex++;
ihue = ihue + thisstep;
if (idex >= LED_COUNT) {
idex = 0;
}
if (ihue > 255) {
ihue = 0;
}
leds[idex] = CHSV(ihue, thissat, 255);
LEDS.show();
delay(thisdelay);
void
rainbow_loop
610@540 corner: 630@560
610@530
Effect_POLICE LIGHTS SINGLE
Ems_lightsONE
ee9c72a6-561b-4582-a4e7-be65955699c4
Эффект POLICE LIGHTS SINGLE
Ставится блок между главным и последними блоками.
Входы:
Ems_lightsONE - включение блока;
time_elone - скорость выполнения эффекта.
Параметры:
LED_COUNT - количество светодиодов в ленте.
Thishue, Thissat - меняя значения этих параметров можно задавать другие цвета.
275
LED_COUNT
74564eaf-0ff0-43b3-9cf9-900b92802e49
0b9c4552-377b-4543-973d-36e67c62bff7
Thishue
316d33a5-7d30-4303-9cfa-e417a9601aba
3876cb5f-dcf6-4138-8787-95346691fac7
Thissat
ae33053a-d138-4021-b331-7a477bd12057
f3324ad8-3ed6-403d-80cf-6bb80aa9e8b3
if ( Ems_lightsONE ) { thisdelay = time_elone;
thishue = Thishue; ;
thissat = Thissat;
ems_lightsONE();
}
140
idex++;
if (idex >= LED_COUNT) {
idex = 0;
}
int idexR = idex;
int idexB = antipodal_index(idexR);
int thathue = (thishue + 160) % 255;
for (int i = 0; i < LED_COUNT; i++ ) {
if (i == idexR) {
leds[i] = CHSV(thishue, thissat, 255);
}
else if (i == idexB) {
leds[i] = CHSV(thathue, thissat, 255);
}
else {
leds[i] = CHSV(0, 0, 0);
}
}
LEDS.show();
delay(thisdelay);
430
void
ems_lightsONE
164.0d
630@530
550@320 corner: 550@530
Q5
480@320
500@320
480@310 corner: 500@330
21
610@570
630@570 corner: 787.0d@630
610@570 corner: 807.0d@630
635.0d@584.5d
610@590 corner: 630@610
time_elall
610@620
630@620
596.0d@623.5d
610@610 corner: 630@630
610@600
Effect_POLICE LIGHTS SOLID
Ems_lightsALL
14a0d4d9-610e-4209-9433-ff99026ebdcc
Эффект POLICE LIGHTS SOLID
Ставится блок между главным и последними блоками.
Входы:
Ems_lightsALL - включение блока;
time_elall - скорость выполнения эффекта.
Параметры:
LED_COUNT - количество светодиодов в ленте.
Thishue , Thissat - меняя значения этих параметров можно задавать другие цвета.
276
Thishue
e6fefb66-ce12-41c0-aefd-513750002968
4c8d5aa4-73cb-4647-a3d0-5ca289412733
Thissat
a98284e1-496e-427a-9410-1c10dd17005d
bcffbdae-20ee-42b6-94d9-2004f608124b
if ( Ems_lightsALL ) { thisdelay = time_elall;
thishue = Thishue;
thissat = Thissat;
ems_lightsALL();
}
137
idex++;
if (idex >= LED_COUNT) {
idex = 0;
}
int idexR = idex;
int idexB = antipodal_index(idexR);
int thathue = (thishue + 160) % 255;
leds[idexR] = CHSV(thishue, thissat, 255);
leds[idexB] = CHSV(thathue, thissat, 255);
LEDS.show();
delay(thisdelay);
void
ems_lightsALL
157.0d
630@600
510@340 corner: 510@600
Q6
480@340
500@340
480@330 corner: 500@350
22
610@640
630@640 corner: 752.0d@680
610@640 corner: 772.0d@680
635.0d@654.5d
610@660 corner: 630@680
610@670
Effect_STRIP FLICKER
Flicker
07c6ddc6-d495-4e6b-93f3-e7bb019e0fea
Эффект STRIP FLICKER
Ставится блок между главным и последними блоками.
Входы:
Flicker - включение блока;
Параметры:
LED_COUNT - количество светодиодов в ленте.
Thishue , Thissat - меняя значения этих параметров можно задавать другие цвета.
228
Thissat
b330408d-555e-4e96-a04d-effb0915d3a6
bdb29ae1-cdc8-47c1-a9ad-b0533eadb2d1
Thishue
160
250
8e4e03d1-a8cd-4409-8a92-a112982f9cef
d7f108a3-9f99-49f1-9b64-2c8e3a54d56e
if ( Flicker ) { thishue = Thishue;
thissat =Thissat;
flicker();
}
88
int random_bright = random(0, 255);
int random_delay = random(10, 100);
int random_bool = random(0, random_bright);
if (random_bool < 10) {
for (int i = 0 ; i < LED_COUNT; i++ ) {
leds[i] = CHSV(thishue, thissat, random_bright);
}
LEDS.show();
delay(random_delay);
}
298
void
flicker
122.0d
630@670
520@360 corner: 520@670
Q7
480@360
500@360
480@350 corner: 500@370
27
610@690
630@690 corner: 817.0d@750
610@690 corner: 837.0d@750
635.0d@704.5d
610@710 corner: 630@730
time_poca
15
610@740
630@740
597.0d@743.5d
time_flicker
078467be-1809-4236-b47b-960d6a43a3d5
9860af04-ca85-4b80-8bc0-b9119352afcc
59fb3510-6e41-4f15-9a95-3672356e4fd4
if ( Flicker ) { thisdelay = time_flicker;
thissat = 50;
flicker();
}
92
610@730 corner: 630@750
610@720
Effect_PULSE COLOR BRIGHTNESS
Pulse_one_color_all
552e4278-0778-40c8-8082-44f1382a8699
Эффект PULSE COLOR BRIGHTNESS
Ставится блок между главным и последними блоками.
Изменяя параметр Thishue и Thissat можно получить разные цвета
time_poca - скоростьэффека
144
Thishue
9627ade8-cd14-41a7-870b-2c6bde7d8755
5400b6e8-738b-4bad-86ce-03cc1f655d3f
Thissat
48f18b38-0ea8-4227-be7e-1ce1a7546e79
e788b6f8-e172-4263-bee6-264523852c1b
if ( Pulse_one_color_all) { thisdelay = time_poca;
thishue = Thishue;
thissat = Thissat;
pulse_one_color_all();
}
152
if (bouncedirection == 0) {
ibright++;
if (ibright >= 255) {
bouncedirection = 1;
}
}
if (bouncedirection == 1) {
ibright = ibright - 1;
if (ibright <= 1) {
bouncedirection = 0;
}
}
for (int idex = 0 ; idex < LED_COUNT; idex++ ) {
leds[idex] = CHSV(thishue, thissat, ibright);
}
LEDS.show();
delay(thisdelay);
365
void
pulse_one_color_all
187.0d
630@720
540@380 corner: 540@720
Q8
480@380
500@380
480@370 corner: 500@390
31
610@760
630@760 corner: 817.0d@820
610@760 corner: 837.0d@820
635.0d@774.5d
610@780 corner: 630@800
time_ocar
610@810
630@810
597.0d@813.5d
Effect_STRIP FLICKER
Effect_RAINBOW_LOOP
Rainbow_loop
895c4f29-7943-446f-baa6-b1c8fd9dc4ce
85f502d4-7269-4357-a9d1-7827e98e694d
time_rl
f319ad2a-1bcf-4b20-886e-e827ac3cb9eb
c8e629f4-6559-4122-a648-01e02275bee3
af7ed5d9-2a9e-462a-afd2-0187576a93d6
Эффект RAINBOW_LOOP
Ставится блок между главным и последними блоками.
LED_COUNT
f932f7e1-f765-48c4-9e33-9778f5f2a6c5
c041f2fd-6a2e-421c-acb9-5b3067390339
if ( Rainbow_loop ) { thisdelay = time_rl;
thisstep = 10;
rainbow_loop();
}
idex++;
ihue = ihue + thisstep;
if (idex >= LED_COUNT) {
idex = 0;
}
if (ihue > 255) {
ihue = 0;
}
leds[idex] = CHSV(ihue, thissat, 255);
LEDS.show();
delay(thisdelay);
void
rainbow_loop
Flicker
time_flicker
078467be-1809-4236-b47b-960d6a43a3d5
9860af04-ca85-4b80-8bc0-b9119352afcc
59fb3510-6e41-4f15-9a95-3672356e4fd4
Эффект STRIP FLICKER
LED_COUNT
74564eaf-0ff0-43b3-9cf9-900b92802e49
0b9c4552-377b-4543-973d-36e67c62bff7
if ( Flicker ) { thisdelay = time_flicker;
thissat = 50;
flicker();
}
idex++;
if (idex >= LED_COUNT) {
idex = 0;
}
int idexR = idex;
int idexB = antipodal_index(idexR);
int thathue = (thishue + 160) % 255;
leds[idexR] = CHSV(thishue, thissat, 255);
leds[idexB] = CHSV(thathue, thissat, 255);
LEDS.show();
delay(thisdelay);
void
ems_lightsALL
610@800 corner: 630@820
610@790
Effect_PULSE COLOR SATURATION
Pulse_one_color_all_rev
0646488d-32d6-4d41-ac78-79974d7e2d17
Эффект PULSE COLOR SATURATION
Ставится блок между главным и последними блоками.
Входы:
Pulse_one_color_all_rev - включение блока;
time_ocar - скорость выполнения эффекта.
Параметры:
LED_COUNT - количество светодиодов в ленте.
Thishue, Isat - меняя значения этих параметров можно задавать другие цвета.
Thishue
73a4f080-0399-4548-a2a2-6ad024c87b27
3aaf2557-8137-407b-8f93-ad841fc9ed3c
if ( Pulse_one_color_all_rev) { thisdelay = time_ocar;
thishue = Thishue;
pulse_one_color_all_rev();
}
145
if (bouncedirection == 0) {
isat++;
if (isat >= 255) {
bouncedirection = 1;
}
}
if (bouncedirection == 1) {
isat = isat - 1;
if (isat <= 1) {
bouncedirection = 0;
}
}
for (int idex = 0 ; idex < LED_COUNT; idex++ ) {
leds[idex] = CHSV(thishue, isat, 255);
}
LEDS.show();
delay(thisdelay);
343
void
pulse_one_color_all_rev
630@790
500@400 corner: 500@790
Q9
480@400
500@400
480@390 corner: 500@410
500@280
Q3
480@280
500@280 corner: 500@390
Color_bounce
610@390
630@390
610@380 corner: 630@400
time_cl
610@410
630@410
596.0d@413.5d
610@400 corner: 630@420
Effect_BOUNCE COLOR
8a45c6d5-5e47-4021-a795-6b7f95d87950
Эффект BOUNCE COLOR
Ставится блок между главным и последними блоками.
Входы:
Color_bounce - включение блока;
time_cl - скорость выполнения эффекта.
Параметры:
LED_COUNT - количество светодиодов в ленте.
Thishue , Thissat - меняя значения этих параметров можно задавать другие цвета.
Thishue
daaa6bed-aeca-429f-ab21-261722529a80
26945cd9-2491-4d4e-9da9-8cf7493f9932
Thissat
d540f45a-4112-4332-b184-8f10e39a9081
ed10ed3a-46b3-4ceb-a4af-08c998604ff3
if ( Color_bounce ) { thisdelay = time_cl ;
thishue = Thishue;
thissat = Thissat;
color_bounce();
}
135
if (bouncedirection == 0) {
idex = idex + 1;
if (idex == LED_COUNT) {
bouncedirection = 1;
idex = idex - 1;
}
}
if (bouncedirection == 1) {
idex = idex - 1;
if (idex == 0) {
bouncedirection = 0;
}
}
for (int i = 0; i < LED_COUNT; i++ ) {
if (i == idex) {
leds[i] = CHSV(thishue, thissat, 255);
}
else {
leds[i] = CHSV(0, 0, 0);
}
}
LEDS.show();
delay(thisdelay);
448
void
color_bounce
25
610@0
630@0 corner: 775.0d@60
610@0 corner: 795.0d@60
635.0d@14.5d
en_g
610@30
624@30
WS2812_Eff_Gyver_main
ff84043f-248e-41ab-9e01-ee69e464ad45
d33a14d9-0b55-40cf-9dbf-1387189f8d25
brightness
eb520ab3-b1eb-4c10-8133-28cfa0fd619b
5c8320ed-cb31-4afe-ab5a-55d2de2f1efc
LedMode
d7203749-7779-43ec-b213-cc01c0754a0f
2d1caead-279e-4ab3-8bab-dba56bedd7ce
02999e23-1989-47d2-a147-65901b336b31
Эффекты на WS2812 Гивера главный
Входы:
en_g - включение блока;
brightness - яркость;
LedMode - стартовый режим:
0 - все выключены
1 - все включены
3 - кольцевая радуга
888 - демо-режим
Параметры:
LED_COUNT - количество светодиодов;
LED_DT - вывод, куда подключен DIN ленты
278
LED_COUNT
118101c3-0d16-469f-9bfb-66b196c7417a
aae27e5e-6f22-4607-86a0-eb91d4253e96
LED_DT
66eb2176-a6af-48a0-b401-4c340f72eab9
44d2d881-4390-4861-9307-49a2058df461
if (en_g) {
LEDS.setBrightness(brightness);
if (Serial.available() > 0) { // если что то прислали
ledMode = Serial.parseInt(); // парсим в тип данных int
change_mode(ledMode); // меняем режим через change_mode (там для каждого режима стоят цвета и задержки)
}
else {
ledMode = LedMode;
change_mode(ledMode);
}
switch (ledMode) {
case 999: break; // пауза
439
Serial.begin(9600);
LEDS.setBrightness( brightness );
LEDS.addLeds<WS2811, LED_DT, GRB>(leds, LED_COUNT);
one_color_all(0, 0, 0);
LEDS.show();
154
библиотека для работы с лентой
#include
"FastLED.h"
ledMode
= LedMode ;
int
/* Стартовый режим
0 - все выключены
1 - все включены
3 - кольцевая радуга
888 - демо-режим */
цвета мячиков для режима
ballColors
[3][3] = {
{0xff, 0, 0},
{0xff, 0xff, 0xff},
{0 , 0 , 0xff},
};
byte
светодиод начала отсчёта
BOTTOM_INDEX
= 0;
int
TOP_INDEX
= int(LED_COUNT / 2);
int
EVENODD
= LED_COUNT % 2;
int
leds
[LED_COUNT];
CRGB
-ARRAY FOR COPYING WHATS IN THE LED STRIP CURRENTLY (FOR CELL-AUTOMATA, MARCH, ETC)
ledsX
[LED_COUNT][3];
int
-FX LOOPS DELAY VAR
thisdelay
= 20;
int
-FX LOOPS DELAY VAR
thisstep
= 10;
int
-FX LOOPS DELAY VAR
thishue
= 0;
int
-FX LOOPS DELAY VAR
thissat
= 255;
int
thisindex
= 0;
int
thisRED
= 0;
int
thisGRN
= 0;
int
thisBLU
= 0;
int
-LED INDEX (0 to LED_COUNT-1
idex
= 0;
int
-HUE (0-255)
ihue
= 0;
int
-BRIGHTNESS (0-255)
ibright
= 0;
int
-SATURATION (0-255)
isat
= 0;
int
-SWITCH FOR COLOR BOUNCE (0-1)
bouncedirection
= 0;
int
-INC VAR FOR SIN LOOPS
tcount
= 0.0;
float
-ANOTHER COUNTING VAR
lcount
= 0;
int
for (int i = 0 ; i < LED_COUNT; i++ ) {
leds[i].setRGB( cred, cgrn, cblu);
}
82
void
one_color_all
int
cred
int
cgrn
int
cblu
//-SET ALL LEDS TO ONE COLOR (HSV)
for (int i = 0 ; i < LED_COUNT; i++ ) {
leds[i] = CHSV(ahue, thissat, 255);
}
121
void
one_color_allHSV
int
ahue
thissat = 255;
switch (newmode) {
case 0: one_color_all(0, 0, 0); LEDS.show(); break; //---ALL OFF
case 1: one_color_all(255, 255, 255); LEDS.show(); break; //---ALL ON
case 2: thisdelay = 20; break; //---STRIP RAINBOW FADE
case 3: thisdelay = 20; thisstep = 10; break; //---RAINBOW LOOP
case 4: thisdelay = 20; break; //---RANDOM BURST
case 5: thisdelay = 20; thishue = 0; break; //---CYLON v1
case 6: thisdelay = 40; thishue = 0; break; //---CYLON v2
case 7: thisdelay = 40; thishue = 0; break; //---POLICE LIGHTS SINGLE
case 8: thisdelay = 40; thishue = 0; break; //---POLICE LIGHTS SOLID
case 9: thishue = 160; thissat = 50; break; //---STRIP FLICKER
case 10: thisdelay = 15; thishue = 0; break; //---PULSE COLOR BRIGHTNESS
case 11: thisdelay = 15; thishue = 0; break; //---PULSE COLOR SATURATION
case 12: thisdelay = 60; thishue = 180; break; //---VERTICAL SOMETHING
case 13: thisdelay = 100; break; //---CELL AUTO - RULE 30 (RED)
case 14: thisdelay = 40; break; //---MARCH RANDOM COLORS
case 15: thisdelay = 80; break; //---MARCH RWB COLORS
case 16: thisdelay = 60; thishue = 95; break; //---RADIATION SYMBOL
//---PLACEHOLDER FOR COLOR LOOP VAR DELAY VARS
case 19: thisdelay = 35; thishue = 180; break; //---SIN WAVE BRIGHTNESS
case 20: thisdelay = 100; thishue = 0; break; //---POP LEFT/RIGHT
case 21: thisdelay = 100; thishue = 180; break; //---QUADRATIC BRIGHTNESS CURVE
//---PLACEHOLDER FOR FLAME VARS
case 23: thisdelay = 50; thisstep = 15; break; //---VERITCAL RAINBOW
case 24: thisdelay = 50; break; //---PACMAN
case 25: thisdelay = 35; break; //---RANDOM COLOR POP
case 26: thisdelay = 25; thishue = 0; break; //---EMERGECNY STROBE
case 27: thisdelay = 25; thishue = 0; break; //---RGB PROPELLER
case 28: thisdelay = 100; thishue = 0; break; //---KITT
case 29: thisdelay = 50; thishue = 95; break; //---MATRIX RAIN
case 30: thisdelay = 5; break; //---NEW RAINBOW LOOP
case 31: thisdelay = 100; break; //---MARCH STRIP NOW CCW
case 32: thisdelay = 100; break; //---MARCH STRIP NOW CCW
case 33: thisdelay = 50; break; // colorWipe
case 34: thisdelay = 50; break; // CylonBounce
case 35: thisdelay = 15; break; // Fire
case 36: thisdelay = 50; break; // NewKITT
case 37: thisdelay = 20; break; // rainbowCycle
case 38: thisdelay = 10; break; // rainbowTwinkle
case 39: thisdelay = 50; break; // RunningLights
case 40: thisdelay = 0; break; // Sparkle
case 41: thisdelay = 20; break; // SnowSparkle
case 42: thisdelay = 50; break; // theaterChase
case 43: thisdelay = 50; break; // theaterChaseRainbow
case 44: thisdelay = 100; break; // Strobe
case 101: one_color_all(255, 0, 0); LEDS.show(); break; //---ALL RED
case 102: one_color_all(0, 255, 0); LEDS.show(); break; //---ALL GREEN
case 103: one_color_all(0, 0, 255); LEDS.show(); break; //---ALL BLUE
case 104: one_color_all(255, 255, 0); LEDS.show(); break; //---ALL COLOR X
case 105: one_color_all(0, 255, 255); LEDS.show(); break; //---ALL COLOR Y
case 106: one_color_all(255, 0, 255); LEDS.show(); break; //---ALL COLOR Z
}
bouncedirection = 0;
one_color_all(0, 0, 0);
ledMode = newmode;
3824
void
change_mode
int
newmode
610@20 corner: 624@40
100
610@50
630@50
591.0d@53.5d
610@40 corner: 630@60
WS2812_Eff_Gyver_main_1
2d0a688e-3f53-440e-a9c9-41603c6c5b54
Эффекты на WS2812 Гивера главный_1
Создан на основе скетчей Алекса Гивера https://alexgyver.ru/ws2812b-fx/.
Ставится блок первым, работает только с последним блоком. Между ними ставить блоки эффектов.
Входы:
en_g - включение блока;
brightness - яркость;
Параметры:
LED_COUNT - количество светодиодов;
LED_DT - вывод, куда подключен DIN ленты. Для плат ESP8266 Nodemcu и тп, если стоит LED_DT = 2, то подключать к D2 (и так аналогично для других выводов, библиотека так написана). Для голых ESP8266 с выводами в GPIO совпадают.
aidar_i
15/12/2019
519
LED_COUNT
0bf96f67-5262-4d7e-b728-0a9dc47df8ae
84e66d63-ba89-45f6-b686-76b4af598d25
if (en_g) {
LEDS.setBrightness(brightness);
51
LEDS.setBrightness( 100 );
LEDS.addLeds<WS2811, LED_DT, GRB>(leds, LED_COUNT);
one_color_all(0, 0, 0);
LEDS.show();
127
библиотека для работы с лентой
#include
"FastLED.h"
ballColors
[3][3] = {
{0xff, 0, 0},
{0xff, 0xff, 0xff},
{0 , 0 , 0xff},
};
byte
светодиод начала отсчёта
BOTTOM_INDEX
= 0;
int
TOP_INDEX
= int(LED_COUNT / 2);
int
EVENODD
= LED_COUNT % 2;
int
leds
[LED_COUNT];
CRGB
-ARRAY FOR COPYING WHATS IN THE LED STRIP CURRENTLY (FOR CELL-AUTOMATA, MARCH, ETC)
ledsX
[LED_COUNT][3];
int
-FX LOOPS DELAY VAR
thisdelay
= 20;
int
-FX LOOPS DELAY VAR
thisstep
= 10;
int
-FX LOOPS DELAY VAR
thishue
= 0;
int
-FX LOOPS DELAY VAR
thissat
= 255;
int
thisindex
= 0;
int
thisRED
= 0;
int
thisGRN
= 0;
int
thisBLU
= 0;
int
-LED INDEX (0 to LED_COUNT-1
idex
= 0;
int
-HUE (0-255)
ihue
= 0;
int
-BRIGHTNESS (0-255)
ibright
= 0;
int
-SATURATION (0-255)
isat
= 0;
int
-SWITCH FOR COLOR BOUNCE (0-1)
bouncedirection
= 0;
int
-INC VAR FOR SIN LOOPS
tcount
= 0.0;
float
-ANOTHER COUNTING VAR
lcount
= 0;
int
leds[adex].setRGB( cred, cgrn, cblu);
39
void
set_color_led
int
adex
int
cred
int
cgrn
int
cblu
//-ONLY WORKS WITH INDEX < TOPINDEX
if (i == BOTTOM_INDEX) {
return BOTTOM_INDEX;
}
if (i == TOP_INDEX && EVENODD == 1) {
return TOP_INDEX + 1;
}
if (i == TOP_INDEX && EVENODD == 0) {
return TOP_INDEX;
}
return LED_COUNT - i;
253
int
horizontal_index
int
i
int iN = i + TOP_INDEX;
if (i >= TOP_INDEX) {
iN = ( i + TOP_INDEX ) % LED_COUNT;
}
return iN;
106
int
antipodal_index
int
i
int r;
if (i < LED_COUNT - 1) {
r = i + 1;
}
else {
r = 0;
}
return r;
90
int
adjacent_cw
int
i
int r;
if (i > 0) {
r = i - 1;
}
else {
r = LED_COUNT - 1;
}
return r;
int
adjacent_ccw
int
i
for (int i = 0; i < LED_COUNT; i++ ) {
ledsX[i][0] = leds[i].r;
ledsX[i][1] = leds[i].g;
ledsX[i][2] = leds[i].b;
}
131
void
copy_led_array
leds[Pixel].r = red;
leds[Pixel].g = green;
leds[Pixel].b = blue;
71
void
setPixel
int
Pixel
byte
red
byte
green
byte
blue
for (int i = 0; i < LED_COUNT; i++ ) {
setPixel(i, red, green, blue);
}
FastLED.show();
void
setAll
byte
red
byte
green
byte
blue
145.0d
800@160
800@160 corner: 976.0d@181.0d
left
плавная смена цветов всей ленты
170.0d
3@13.0d
10.0d
800@230
800@230 corner: 898.0d@248.0d
крутящаяся радуга
92.0d
3@10.0d
7.0d
790@300
790@300 corner: 918.0d@321.0d
случайная смена цветов
3@13.0d
820@370
820@370 corner: 932.0d@391.0d
бегающий светодиод
106.0d
3@13.0d
820@440
820@440 corner: 995.0d@461.0d
бегающий паровозик светодиодов
169.0d
3@13.0d
810@510
810@510 corner: 958.0d@531.0d
вращаются красный и синий
142.0d
3@13.0d
840@580
840@580 corner: 1085.0d@598.0d
вращается половина красных и половина синих
239.0d
3@10.0d
840@650
840@650 corner: 961.0d@671.0d
8
случайный стробоскоп
115.0d
3@13.0d
830@720
830@720 corner: 961.0d@738.0d
пульсация одним цветом
3@10.0d
840@790
840@790 corner: 990.0d@811.0d
пульсация со сменой цветов
144.0d
3@13.0d
160@260
160@260 corner: 334.0d@281.0d
вывод случайного числа от 0 до 9
168.0d
3@13.0d
790@20
790@20 corner: 863.0d@40.0d
12
главный блок
67.0d
3@12.0d
790@840
790@840 corner: 877.0d@860.0d
последний блок
81.0d
3@12.0d
941.0d
reset
9600
arduinoIDE
179
4096
ESP8266 NodeMcu v3
109802410