/
Neopixel_sunrise.ino
104 lines (94 loc) · 4.63 KB
/
Neopixel_sunrise.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
// written by M.Cristina Ciocci based on sunrise values of opengarage Antony Liekens
// BSD licence
long vorigeMillis;
long interval = 600000;
long huidigeTijd;
int i;
int fractie;
int R;
int G;
int B;
// Voor Arduino:
//int PixelStrook = 2;
// Voor NodeMCU:
int PixelStrook = D2;
uint8_t dageraad[ 256 ][ 3 ] = {
{0,0,0},{3,2,1},{6,4,2},{9,6,3},{12,8,4},{15,10,5},{18,13,5},
{21,15,6},{24,17,7},{27,19,8},{29,21,9},{32,23,10},{35,25,11},
{38,27,12},{41,29,13},{44,31,14},{47,33,15},{50,35,15},{53,38,16},
{56,40,17},{59,42,18},{62,44,19},{65,46,20},{68,48,21},{71,50,22},
{74,52,23},{77,54,24},{80,56,25},{82,58,25},{85,60,26},{88,63,27},
{91,65,28},{94,67,29},{97,69,30},{100,71,31},{103,73,32},{106,75,33},
{109,77,34},{112,79,35},{115,81,35},{118,83,36},{121,85,37},{124,88,38},
{127,90,39},{130,92,40},{133,94,41},{135,96,42},{138,98,43},{141,100,44},
{144,102,45},{147,104,45},{150,106,46},{153,108,47},{156,110,48},{159,113,49},
{162,115,50},{165,117,51},{168,119,52},{171,121,53},{174,123,54},{177,125,55},
{180,127,55},{183,129,56},{186,131,57},{188,133,58},{189,134,59},{190,136,60},
{191,137,62},{192,138,63},{192,139,64},{193,141,65},{194,142,66},{195,143,67},
{196,144,68},{197,146,69},{198,147,70},{199,148,72},{200,149,73},{201,151,74},
{201,152,75},{202,153,76},{203,154,77},{204,155,78},{205,157,79},{206,158,81},
{207,159,82},{208,160,83},{209,162,84},{210,163,85},{210,164,86},{211,165,87},
{212,167,88},{213,168,89},{214,169,91},{215,170,92},{216,172,93},{217,173,94},
{218,174,95},{218,175,96},{219,176,97},{220,178,98},{221,179,99},{222,180,101},
{223,181,102},{224,183,103},{225,184,104},{226,185,105},{227,186,106},{227,188,107},
{228,189,108},{229,190,110},{230,191,111},{231,193,112},{232,194,113},{233,195,114},
{234,196,115},{235,198,116},{236,199,117},{236,200,118},{237,201,120},{238,202,121},
{239,204,122},{240,205,123},{241,206,124},{242,207,125},{243,209,126},{244,210,127},
{245,211,128},{245,212,129},{245,213,130},{245,213,131},{246,214,132},
{246,214,133},{246,215,133},{246,216,134},{246,216,135},{246,217,136},{247,217,136},
{247,218,137},{247,219,138},{247,219,139},{247,220,140},
{247,221,140},{248,221,141},{248,222,142},{248,222,143},{248,223,143},{248,224,144},
{248,224,145},{249,225,146},{249,225,147},{249,226,147},
{249,227,148},{249,227,149},{249,228,150},{250,228,150},{250,229,151},{250,230,152},
{250,230,153},{250,231,153},{250,231,154},{251,232,155},
{251,233,156},{251,233,157},{251,234,157},{251,234,158},{251,235,159},{252,236,160},
{252,236,160},{252,237,161},{252,237,162},{252,238,163},
{253,239,164},{253,239,164},{253,240,165},{253,241,166},{253,241,167},{253,242,167},
{254,242,168},{254,243,169},{254,244,170},{254,244,171},
{254,245,171},{254,245,172},{255,246,173},{255,247,174},{255,247,174},{255,248,175},
{255,248,176},{255,249,177},{255,250,178},{255,250,178},
{255,250,179},{255,250,180},{255,251,181},{255,251,182},{255,251,183},{255,251,184},
{255,251,185},{255,251,186},{255,251,187},{255,251,188},
{255,251,189},{255,251,190},{255,251,191},{255,251,192},{255,251,193},{255,252,194},
{255,252,195},{255,252,196},{255,252,197},{255,252,198},
{255,252,199},{255,252,200},{255,252,201},{255,252,202},{255,252,203},{255,252,203},
{255,252,204},{255,252,205},{255,252,206},{255,253,207},
{255,253,208},{255,253,209},{255,253,210},{255,253,211},{255,253,212},{255,253,213},
{255,253,214},{255,253,215},{255,253,216},{255,253,217},
{255,253,218},{255,253,219},{255,253,220},{255,254,221},{255,254,222},{255,254,223},
{255,254,224},{255,254,225},{255,254,226},{255,254,227},
{255,254,228},{255,254,229},{255,254,230},{255,254,231},{255,254,232},{255,254,233},
{255,254,234},{255,255,235},{255,255,235},{255,255,236},
{255,255,237},{255,255,238},{255,255,239},{255,255,240}
};
#include <Adafruit_NeoPixel.h>
Adafruit_NeoPixel myNeo_PixelStrook = Adafruit_NeoPixel(72, PixelStrook, NEO_GRB + NEO_KHZ800);
// Deze functie beschrijven...
void bepaalKleur() {
fractie = (((huidigeTijd - vorigeMillis) *256.0/ interval));
/* "leds van een bepaalde kleur" */
//Serial.println(fractie);
R = dageraad[fractie] [0];
G = dageraad[fractie] [1];
B = dageraad[fractie] [2];
}
void setup() {
myNeo_PixelStrook.begin();
myNeo_PixelStrook.show();
vorigeMillis = millis();
huidigeTijd = millis();
Serial.begin(57600);
}
void loop() {
huidigeTijd = millis();
if (huidigeTijd - vorigeMillis < interval) {
/* "Alle 8 pixels zelfde kleur geven" */
bepaalKleur();
for (i = 1; i <= 72; i++) {
myNeo_PixelStrook.setPixelColor(i-1, myNeo_PixelStrook.Color(R,G,B));
myNeo_PixelStrook.show();
}
} else {
vorigeMillis = millis();
}
}