-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathWS2812_ring_lights.ino
117 lines (102 loc) · 1.73 KB
/
WS2812_ring_lights.ino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#define DATA_IN 2
#define DATA_OUT 3
#define numLEDs 8 //there are 8 LEDs per ring
#include <FastLED.h>
CRGB leds[numLEDs];
int i;
int minusone;
int plusone;
int two;
int three;
int four;
int five;
int six;
int seven;
void setup() {
// put your setup code here, to run once:
pinMode(DATA_IN,OUTPUT);
pinMode(DATA_OUT,INPUT);
FastLED.addLeds<WS2812,DATA_IN,GRB>(leds,numLEDs);
FastLED.setBrightness(50);
}
void loop() {
i=0;
while (i<8){
minusone=i_minus_one();
plusone=i_plus_one();
two=i_plus_two();
three=i_plus_three();
four=i_plus_four();
five = i_plus_five();
six=i_plus_six();
seven=i_plus_seven();
leds[minusone]=CRGB::Black;
leds[i]=CRGB(30, 170, 220);
leds[plusone]=CRGB(30, 60, 20);
leds[two]=CRGB(30, 170, 220);
leds[three]=CRGB(30, 60, 20);
leds[four]=CRGB(30, 170, 220);
leds[five]=CRGB(30, 60, 20);
leds[six]=CRGB(30, 170, 220);
leds[seven]=CRGB(30, 60, 20);
FastLED.show();
delay(250);
i++;
}
}
int i_minus_one(){
if (i-1>=0){
return i-1;
} else if (i-1<0){
return i-1+8;
}
}
int i_plus_one(){
if (i+1<8){
return i+1;
} else if (i+1>=8){
return i+1-8;
}
}
int i_plus_two(){
if (i+2<8){
return i+2;
} else if (i+2>=8){
return i+2-8;
}
}
int i_plus_three(){
if (i+3<8){
return i+3;
} else if (i+3>=8){
return i+3-8;
}
}
int i_plus_four(){
if (i+4<8){
return i+4;
} else if (i+4>=8){
return i+4-8;
}
}
int i_plus_five(){
if (i+5<8){
return i+5;
} else if (i+5>=8){
return i+5-8;
}
}
int i_plus_six(){
if (i+6<8){
return i+6;
} else if (i+6>=8){
return i+6-8;
}
}
int i_plus_seven(){
if (i+7<8){
return i+7;
} else if (i+7>=8){
return i+7-8;
}
}