Stap 6: Code en Video
#include "LPD8806.h"
#include
Voorbeeld bepalen van de LPD8806 gebaseerde RGB LED Modules in een strook
digitale ingang pin 11
klok in pin 13
/*****************************************************************************/
De LED strips zijn 32 LEDs per meter, maar u kunt de strip verlengen/knippen
LPD8806 strip = LPD8806(32); De eerste variabele instellen op het aantal pixels. 32 = 32 pixels in een rij
VOID Setup {}
Opstarten van de LED-strip
strip.begin();
Update van de strip, om te beginnen zijn ze allemaal 'uit'
strip.show();
}
void loop {}
randomSparkleUpSegment (strip. Color(25,0,0),15,10,101,152); kleur, dichtheid, vertraging, dieptepunt, hoogtepunt
turnSegmentOn (strip. Kleur (25,0,0), 1000, 101, 152); kleur, vertraging, begin van segment, einde van segment
randomSparkleUpSegment (strip. Color(0,25,0),15,10,0,100); kleur, dichtheid, vertraging, dieptepunt, hoogtepunt
turnSegmentOn (strip. Color(0,25,0),200,0,100); kleur, vertraging, begin van segment, einde van segment
delay(500);
turnAllOff;
fillUpTheStar (strip. Color(0,0,25),30); kleur, vertraging
fillUpCenterStar (strip. Color(0,0,25),30); kleur, vertraging
fillUpTheStar (strip. Color(25,0,0),30); kleur, vertraging
fillUpCenterStar (strip. Color(25,0,0),30); kleur, vertraging
fillUpTheStar (strip. Color(0,25,0),30); kleur, vertraging
fillUpCenterStar (strip. Color(0,25,0),30); kleur, vertraging
fillUpTheStar (strip. Color(25,25,25),30); kleur, vertraging
fillUpCenterStar (strip. Color(25,25,25),30); kleur, vertraging
turnAllOn (strip. Color(25,0,0),200); kleur, vertragen - zet alle pixels één kleur
Dither(strip. Color(0,25,0), 50); kleur, delay - willekeurige vult de strook
fadeDown(0,25,0,30); rood, groen, blauw, delay - fade naar beneden alle pixels één kleur
Dither(strip. Color(25,0,0), 50); kleur, delay - willekeurige vult de strook
fadeDown(25,0,0,30); rood, groen, blauw, delay - fade naar beneden alle pixels één kleur
turnAllOn (strip. Color(25,0,0),400); kleur, vertragen - zet alle pixels één kleur
turnAllOn (strip. Color(0,25,0),400); kleur, vertragen - zet alle pixels één kleur
turnAllOn (strip. Color(25,0,0),400); kleur, vertragen - zet alle pixels één kleur
turnAllOn (strip. Color(0,25,0),400); kleur, vertragen - zet alle pixels één kleur
turnAllOn (strip. Color(25,0,0),400); kleur, vertragen - zet alle pixels één kleur
turnAllOn (strip. Color(0,25,0),400); kleur, vertragen - zet alle pixels één kleur
turnAllOn (strip. Color(25,0,0),400); kleur, vertragen - zet alle pixels één kleur
turnAllOn (strip. Color(0,25,0),400); kleur, vertragen - zet alle pixels één kleur
turnAllOn (strip. Color(25,0,0),400); kleur, vertragen - zet alle pixels één kleur
turnAllOn (strip. Color(0,25,0),400); kleur, vertragen - zet alle pixels één kleur
turnAllOn (strip. Color(25,0,0),400); kleur, vertragen - zet alle pixels één kleur
turnAllOn (strip. Color(0,25,0),400); kleur, vertragen - zet alle pixels één kleur
chaseBetweenLToH (strip. Color(25,25,25),20,0,100); kleur, vertraging, laag, hoog - chase geleid tussen twee locaties vordert keten van
chaseBetweenHToL (strip. Color(25,25,25),20,103,152); kleur, vertraging, laag, hoog - chase geleid tussen twee locaties vordert in de keten
turnAllOff(); alle pixels uitschakelen
fadeUp(25,0,0,20); rood, groen, blauw, delay - fade alle pixels één kleur
fadeDown(25,0,0,20); rood, groen, blauw, delay - fade naar beneden alle pixels één kleur
fadeUp(0,25,0,20); rood, groen, blauw, delay - fade alle pixels één kleur
fadeDown(0,25,0,20); rood, groen, blauw, delay - fade naar beneden alle pixels één kleur
turnAllOff();
strobe effect r/g rg
randomSparkle (strip. Kleur (25,0,0), 20, 30); kleur, dichtheid, delay - willekeurige schittert in één kleur
randomSparkle (strip. Kleur (0,25,0), 20, 30); kleur, dichtheid, delay - willekeurige schittert in één kleur
twoColorSparkle (strip. Color(25,0,0), strip. Color(0,25,0), 20, 10); kleur 1, kleur 2, dichtheid, delay - willekeurige schittert in twee kleuren
Rainbow(20);
turnAllOff();
randomColorSparkle(30); delay - willekeurige kleur sparkles
turnAllOn (strip. Color(0,0,25),1000); kleur, vertragen - zet alle pixels één kleur
chaseBetweenLToH (strip. Color(25,25,25),1,0,159); kleur, vertraging, laag, hoog - chase leds tussen twee locaties vordert keten van
chaseBetweenLToH (strip. Color(0,25,0),0,0,159); kleur, vertraging, laag, hoog - chase leds tussen twee locaties vordert keten van
chaseBetweenHToL (strip. Color(25,0,0),0,0,159); kleur, vertraging, laag, hoog - chase leds tussen twee locaties vordert in de keten
chaseBetweenHToL (strip. Color(0,25,0),0,0,159); kleur, vertraging, laag, hoog - chase leds tussen twee locaties vordert in de keten
chaseToCenter (strip. Color(25,0,0),25,1,0,159); kleur, aantal leds in lijn, vertraging, laag, hoog - chase lijnen naar het midden
chasePastCenter (strip. Color(25,0,0),25,1,0,159); kleur, aantal leds in lijn, vertraging, laag, hoog - chase lijnen langs de center
chaseBetweenLToH (strip. Color(50,50,25),1,0,159); kleur, vertraging, laag, hoog - chase leds tussen twee locaties vordert keten van
chaseBetweenLToH (strip. Color(25,0,0),0,0,159); kleur, vertraging, laag, hoog - chase leds tussen twee locaties vordert keten van
chaseBetweenLToH (strip. Color(0,25,0),0,0,159); kleur, vertraging, laag, hoog - chase leds tussen twee locaties vordert keten van
chaseLineHToL (strip. Color(25,0,0),50,0,0,159); kleur, aantal leds in lijn, vertraging, laag, hoog - chase leds in een lijn vordert keten van
chaseLineLToH (strip. Color(0,25,0),50,0,0,159); kleur, vertraging, laag, hoog - chase leds tussen twee locaties vordert keten van
rainbowCycle(0); het doorlopen van de cyclus vrij snel maken
turnAllOff();
rode en groene segmenten rond omtrek, Midden blauw
int i;
voor (ik = 1; ik < = 4; i ++) {}
delay(1000);
fadeDown(25,25,25,40); rood, groen, blauw, delay - fade naar beneden alle pixels één kleur
}
turnAllOn (strip. Color(0,0,25),200);
Dither(strip. Color(25,0,0), 20); kleur, delay - willekeurige vult de strook
fadeDown(25,0,0,30); rood, groen, blauw, delay - fade naar beneden alle pixels één kleur
turnSegmentOn (strip. Color(0,0,25),10,104,159); kleur, vertraging, begin van segment, einde van segment
turnSegmentOn (strip. Color(0,0,25),10,0,103); kleur, vertraging, begin van segment, einde van segment
chaseUpTheStar (strip. Color(25,0,0),30); kleur, vertraging
chaseUpCenterStar (strip. Color(25,0,0),30); kleur, vertraging
turnSegmentOn (strip. Color(0,25,0),10,0,159); kleur, vertraging, begin van segment, einde van segment
chaseUpTheStar (strip. Color(25,0,0),30); kleur, vertraging
turnAllOff();
fillUpTheStar (strip. Color(25,0,0),30); kleur, vertraging
fillUpCenterStar (strip. Color(0,25,0), 30); kleur, vertraging
fillUpTheStar (strip. Color(0,25,0),30); kleur, vertraging
fillUpCenterStar (strip. Color(25,0,0),30); kleur, vertraging
fillUpTheStar (strip. Color(25,25,25),30); kleur, vertraging
fillUpCenterStar (strip. Color(25,25,25),30); kleur, vertraging
turnAllOff();
Dither(strip. Color(0,25,25), 10); kleur, delay - willekeurige vult de strook
fadeDown(0,25,25,20); rood, groen, blauw, delay - fade naar beneden alle pixels één kleur
turnAllOff();
scanner(25,0,0,10); rood, groen, blauw, vertraging
turnAllOff();
Golf (strip. Color(25,0,0),5,0,200); kleur cycli, vertraging, herhalingen
fadeDown(25,0,0,20); rood, groen, blauw, delay - fade naar beneden alle pixels één kleur
Golf (strip. Color(0,25,0),5,0,200); kleur cycli, vertraging, herhalingen
turnAllOff();
randomSparkleUpStrip (strip. Color(25,25,25),15,10); kleur, dichtheid, wachten
turnAllOn (strip. Color(25,25,25),500);
fadeDown(25,25,25,20); rood, groen, blauw, delay - fade naar beneden alle pixels één kleur
randomSparkleUpStrip (strip. Color(20,20,25),15,10);
turnAllOn (strip. Color(20,20,25),500);
fadeDown(20,20,25,20); rood, groen, blauw, delay - fade naar beneden alle pixels één kleur
randomSparkleUpStrip (strip. Color(25,50,25),15,10);
turnAllOn (strip. Color(25,50,25),500);
fadeDown(25,50,25,20); rood, groen, blauw, delay - fade naar beneden alle pixels één kleur
randomSparkleUpStrip (strip. Color(20,25,39),15,10);
turnAllOn (strip. Color(20,127,39),500);
fadeDown(20,25,39,20); rood, groen, blauw, delay - fade naar beneden alle pixels één kleur
randomSparkleUpStrip (strip. Color(10,10,25),15,10);
turnAllOn (strip. Color(10,10,25),500);
fadeDown(10,10,25,20); rood, groen, blauw, delay - fade naar beneden alle pixels één kleur
turnAllOn (strip. Color(0,25,0),400);
chaseBetweenLToH (strip. Color(25,0,0),20,0,100); kleur, vertraging, laag, hoog - chase geleid tussen twee locaties vordert keten van
chaseBetweenHToL (strip. Color(25,0,0),20,103,152); kleur, vertraging, laag, hoog - chase geleid tussen twee locaties vordert in de keten
groen met rode Golf
Golf (strip. Color(0,25,0),5,0,100); kleur cycli, vertraging, herhalingen
Golf (strip. Color(20,25,0),10,0,50); kleur cycli, vertraging, herhalingen
Golf (strip. Color(40,25,0),15,0,50); kleur cycli, vertraging, herhalingen
Golf (strip. Color(80,25,0),20,0,50); kleur cycli, vertraging, herhalingen
Golf (strip. Color(25,25,0),25,0,50); kleur cycli, vertraging, herhalingen
Golf (strip. Color(25,80,0),35,0,50); kleur cycli, vertraging, herhalingen
Golf (strip. Color(25,40,0),35,0,50); kleur cycli, vertraging, herhalingen
Golf (strip. Color(25,20,0),35,0,50); kleur cycli, vertraging, herhalingen
Golf (strip. Color(25,0,0),35,0,100); kleur cycli, vertraging, herhalingen
Golf (strip. Color(25,0,0),35,0,50); kleur cycli, vertraging, herhalingen
turnAllOff();
Golf (strip. Color(0,25,0),35,0,100); kleur cycli, vertraging, herhalingen
Golf (strip. Color(20,107,0),35,0,50); kleur cycli, vertraging, herhalingen
Golf (strip. Color(40,87,0),35,0,50); kleur cycli, vertraging, herhalingen
Golf (strip. Color(80,47,0),30,0,50); kleur cycli, vertraging, herhalingen
Golf (strip. Color(107,27,0),20,0,100); kleur cycli, vertraging, herhalingen
Golf (strip. Color(25,0,0),5,0,200); kleur cycli, vertraging, herhalingen
int j;
voor (j = 1; j < = 15; j ++) {}
turnSegmentOn (strip. Kleur (0,0,25), 0, 60, 100); //red 1 op - kleur, vertraging, begin van segment, einde van segment
turnSegmentOn (strip. Kleur (25,0,0), 0, 147, 152); blauw 1 op - kleur, vertraging, begin van segment, einde van segment
turnSegmentOn (strip. Kleur (25,0,0), 200, 103, 109); blauw 1 op - kleur, vertraging, begin van segment, einde van segment
turnSegmentOn (strip. Kleur (25,25,0), 0, 44, 59); rood 4 off - kleur, vertraging, begin van segment, einde van segment
turnSegmentOn (strip. Kleur (0,25,0), 0, 110, 121); blauw 4 off - kleur, vertraging, begin van segment, einde van segment
turnSegmentOn (strip. Kleur (0,0,25), 0, 0, 15); rood 2 op - kleur, vertraging, begin van segment, einde van segment
turnSegmentOn (strip. Kleur (25,0,0), 200, 135, 146); blauw 2 op - kleur, vertraging, begin van segment, einde van segment
turnSegmentOn (strip. Kleur (25,25,0), 0, 60, 100); rood 1 uit - vertraging, begin van segment, kleur, einde van segment
turnSegmentOn (strip. Kleur (0,25,0), 0, 147, 152); blauw 1 off - kleur, vertraging, begin van segment, einde van segment
turnSegmentOn (strip. Kleur (0,25,0), 0, 103, 109); blauw 1 off - kleur, vertraging, begin van segment, einde van segment
turnSegmentOn (strip. Kleur (0,0,25), 0, 16, 43); rood 3 op - kleur, vertraging, begin van segment, einde van segment
turnSegmentOn (strip. Kleur (25,0,0), 200, 122, 134); blauw 3 op - kleur, vertraging, begin van segment, einde van segment
turnSegmentOn (strip. Kleur (25,25,0), 0, 0, 15); rood 2 uit - vertraging, begin van segment, kleur, einde van segment
turnSegmentOn (strip. Kleur (0,25,0), 0, 135, 146); blauw 2 korting - kleur, vertraging, begin van segment, einde van segment
turnSegmentOn (strip. Kleur (0,0,25), 0, 44, 59); rood 4 op - kleur, vertraging, begin van segment, einde van segment
turnSegmentOn (strip. Kleur (25,0,0), 200, 110, 121); blauw 4 op - kleur, vertraging, begin van segment, einde van segment
turnSegmentOn (strip. Kleur (25,25,0), 0, 16, 43); rood 3 uit - vertraging, begin van segment, kleur, einde van segment
turnSegmentOn (strip. Kleur (0,25,0), 0, 122, 134); blauw 3 uit - vertraging, begin van segment, kleur, einde van segment
}
chaseMultipleLinesLToH(10,10,0,152); aantal leds in lijn, vertraging, laag, hoog - achtervolgen van meerdere regels vordert keten van
}
Een "bestelde dithering" vult elke pixel in een volgorde die kijkt
sparkly en bijna willekeurige, maar volgt daadwerkelijk een bepaalde volgorde.
VOID dithering (uint32_t c, uint8_t wachten) {}
Bepalen van de hoogste bit moest vertegenwoordigen van de pixel index
int hiBit = 0;
int n = strip.numPixels() - 1;
voor (int bit = 1; bit < 0x8000; bit << = 1) {}
Als (n & beetje) hiBit = beetje;
}
int bits, omgekeerde;
for (int i = 0; ik < (hiBit << 1); i ++) {}
Omkeren van de bits in ik bestelde dither te maken:
omgekeerde = 0;
voor (bit = 1; bit < = hiBit; bit << = 1) {}
omgekeerde << = 1;
Als (ik & bits) omkeert | = 1;
}
strip.setPixelColor (omgekeerde, c);
strip.show();
delay(wait);
}
delay(250); Houd afbeelding voor 1/4 sec
}
"Larson scanner" = Cylon/KITT stuiteren lichteffect
VOID scanner (uint8_t r uint8_t g, uint8_t b, uint8_t wachten) {}
int i, j, pos, dir;
POS = 0;
dir = 1;
voor (ik = 0; ik < ((strip.numPixels()-1) * 8); i ++) {}
Draw 5 pixels gecentreerd op pos. setPixelColor() zal clip
alle pixels uit de uiteinden van de strip, geen zorgen er.
We maken de kleuren dimmer aan de randen voor een mooie pulse
blik
strip.setPixelColor (pos - 2, strip. Color(r/4, g/4, b/4));
strip.setPixelColor (pos - 1, strip. Color(r/2, g/2, b/2));
strip.setPixelColor (pos, strip. Kleur (r, g, b));
strip.setPixelColor (pos + 1, strip. Color(r/2, g/2, b/2));
strip.setPixelColor (pos + 2 strippen. Color(r/4, g/4, b/4));
strip.show();
delay(wait);
Als we wilden worden stiekeme zou kunnen we gewoon de staart wissen
pixel, maar het is veel makkelijker om gewoon te wissen van het hele ding
en teken een nieuwe een volgende keer.
voor (j =-2; j < = 2; j ++)
strip.setPixelColor (pos + j, strip. Color(0,0,0));
Uiteinden van strip stuiteren
POS += dir;
Als (pos < 0) {}
POS = 1;
dir = - dir;
} else if (pos > = {strip.numPixels())}
POS = strip.numPixels() - 2;
dir = - dir;
}
}
}
Sinus golf effect
#define PI 3,14159265
VOID Golf (uint32_t c, int cycli uint8_t wachten, int herhalingen) {}
float y;
byte r, g, b, r2, g2, b2;
Moet ontleden van kleur in de r, g, b-elementen
g = (c >> 16) & 0x7f;
r = (c >> 8) & 0x7f;
b = c & 0x7f;
voor (int x = 0; x {
voor (int i = 0; ik y = zonde (PI * (float) cycli * (float)(x + i) / (float)strip.numPixels());
y = 1.0 - y; Y vertalen naar (boven) 0.0 te 1.0 (midden)
R2 = (byte) ((float) r * y);
G2 (byte) = ((float) g * y);
B2 = (byte) ((float) b * y);
strip.setPixelColor (i, r2, g2, b2);
}
strip.show();
delay(wait);
}
}
VOID chaseUpTheStar (uint32_t c, uint8_t wachten) {}
int i, j;
strip.setPixelColor (80 c);
delay(wait);
strip.setPixelColor (80, strip. Color(0,0,0));
voor (ik = 1; ik < = 20; i ++) {}
strip.setPixelColor (80 + i, c);
strip.setPixelColor (80-i, c);
strip.show(); alle pixels uitschrijven
delay(wait);
strip.setPixelColor (80 + i, strip. Color(0,0,0));
strip.setPixelColor (80-i, strip. Color(0,0,0));
strip.show(); alle pixels uitschrijven
}
voor (j = 0; j < = 29; j ++) {}
strip.setPixelColor (j, c);
strip.setPixelColor (59-j, c);
strip.show(); alle pixels uitschrijven
delay(wait);
strip.setPixelColor (j, strip. Color(0,0,0));
strip.setPixelColor (59-j, strip. Color(0,0,0));
strip.show(); alle pixels uitschrijven
}
}
VOID chaseUpCenterStar (uint32_t c, uint8_t wachten) {}
int i, j;
voor (ik = 1; ik < = 6; i ++) {}
strip.setPixelColor (146 + i, c);
strip.setPixelColor (147-i, c);
strip.show(); alle pixels uitschrijven
delay(wait);
strip.setPixelColor (146 + i, strip. Color(0,0,0));
strip.setPixelColor (147-i, strip. Color(0,0,0));
strip.show(); alle pixels uitschrijven
}
voor (j = 0; j < = 18; j ++) {}
strip.setPixelColor (103 + j, c);
strip.setPixelColor (140-j, c);
strip.show(); alle pixels uitschrijven
delay(wait);
strip.setPixelColor (103 + j, strip. Color(0,0,0));
strip.setPixelColor (140-j, strip. Color(0,0,0));
strip.show(); alle pixels uitschrijven
}
}
VOID fillUpTheStar (uint32_t c, uint8_t wachten) {}
int i, j;
strip.setPixelColor (80 c);
delay(wait);
voor (ik = 1; ik < = 20; i ++) {}
strip.setPixelColor (80 + i, c);
strip.setPixelColor (80-i, c);
strip.show(); alle pixels uitschrijven
delay(wait);
}
voor (j = 0; j < = 29; j ++) {}
strip.setPixelColor (j, c);
strip.setPixelColor (59-j, c);
strip.show(); alle pixels uitschrijven
delay(wait);
}
}
VOID fillUpCenterStar (uint32_t c, uint8_t wachten) {}
int i, j;
voor (ik = 1; ik < = 6; i ++) {}
strip.setPixelColor (146 + i, c);
strip.setPixelColor (147-i, c);
strip.show(); alle pixels uitschrijven
delay(wait);
}
voor (j = 0; j < = 18; j ++) {}
strip.setPixelColor (103 + j, c);
strip.setPixelColor (140-j, c);
strip.show(); alle pixels uitschrijven
delay(wait);
}
}
VOID chaseBetweenLToH (uint32_t c uint8_t wachten, uint8_t pointL, uint8_t pointH) {}
int i;
voor (ik = pointL; ik < = pointH; i ++) {}
strip.setPixelColor (i, c);
strip.show(); alle pixels uitschrijven
delay(wait);
strip.setPixelColor (i, strip. Color(0,0,0));
strip.show(); alle pixels uitschrijven
}
}
VOID chaseBetweenHToL (uint32_t c uint8_t wachten, uint8_t pointL, uint8_t pointH) {}
int i;
voor (ik = pointH; ik > = pointL; i--) {}
strip.setPixelColor (i, c);
strip.show(); alle pixels uitschrijven
delay(wait);
strip.setPixelColor (i, strip. Color(0,0,0));
strip.show(); alle pixels uitschrijven
}
}
VOID chaseLineLToH (uint32_t c, uint8_t lijnnummer uint8_t wachten, uint8_t pointL, uint8_t pointH) {}
int i, j;
voor (ik = pointL; ik < pointH + lijnnummer; i ++) {}
voor (j = 0; j < lijnnummer; j ++) {}
strip.setPixelColor (i-j, c);
}
strip.show(); alle pixels uitschrijven
delay(wait);
turnAllOff();
}
}
VOID chaseLineHToL (uint32_t c, uint8_t lijnnummer uint8_t wachten, uint8_t pointL, uint8_t pointH) {}
int i, j;
voor (ik = pointH; ik > pointL; i--) {}
voor (j = 0; j strip.setPixelColor (i + j, c);
}
strip.show(); alle pixels uitschrijven
delay(wait);
turnAllOff();
}
}
VOID chaseToCenter (uint32_t c, uint8_t lijnnummer uint8_t wachten, uint8_t pointL, uint8_t pointH) {}
int i, j, k;
Ik = pointL;
k = pointH;
terwijl (ik < k & & k > ik) {}
voor (j = 0; j < lijnnummer; j ++) {}
strip.setPixelColor (i-j, c);
strip.setPixelColor (k + j, c);
}
strip.show(); alle pixels uitschrijven
delay(wait);
i ++;
k--;
turnAllOff();
}
}
VOID chasePastCenter (uint32_t c, uint8_t lijnnummer uint8_t wachten, uint8_t pointL, uint8_t pointH) {}
int i, j, k;
Ik = pointL;
k = pointH;
terwijl (ik < pointH & & k > pointL) {}
voor (j = 0; j < lijnnummer; j ++) {}
strip.setPixelColor (i-j, c);
strip.setPixelColor (k + j, c);
}
strip.show(); alle pixels uitschrijven
delay(wait);
i ++;
k--;
turnAllOff();
}
}
VOID turnAllOn (uint32_t c, uint32_t wachten) {}
int i;
voor (ik = 0; ik < strip.numPixels(); i ++) {}
strip.setPixelColor (i, c); alle pixels inschakelen
}
strip.show(); alle pixels uitschrijven
delay(wait);
}
VOID turnSegmentOn (uint32_t c, uint32_t wachten uint8_t startofseg, uint8_t endofseg) {}
int i;
voor (ik = startofseg; ik < = endofseg; i ++) {}
strip.setPixelColor (i, c); alle pixels inschakelen
}
strip.show(); alle pixels uitschrijven
delay(wait);
}
VOID fadeUpSeg (uint32_t o uint32_t g, uint32_t b, uint32_t wacht, uint8_t startofseg, uint8_t endofseg) {}
int i, j;
voor (j = 0; j < = 100; j ++) {}
voor (ik = startofseg; ik < = endofseg; i ++) {}
strip.setPixelColor (i, strip. Color((r*j)/100,(g*j)/100,(b*j)/100));
}
strip.show();
}
delay(wait);
}
VOID fadeDownSeg (uint32_t o uint32_t g, uint32_t b, uint32_t wacht, uint8_t startofseg, uint8_t endofseg) {}
int i, j;
voor (j = 100; j > = 0; j--) {}
voor (ik = startofseg; ik < = endofseg; i ++) {}
strip.setPixelColor (i, strip. Color((r*j)/100,(g*j)/100,(b*j)/100)); alle pixels inschakelen
}
strip.show();
}
delay(wait);
}
VOID fadeUp (uint32_t o uint32_t g, uint32_t b, uint32_t wachten) {}
int i, j;
voor (j = 0; j < = 100; j ++) {}
voor (ik = 0; ik < strip.numPixels(); i ++) {}
strip.setPixelColor (i, strip. Color((r*j)/100,(g*j)/100,(b*j)/100));
}
strip.show();
}
delay(wait);
}
VOID fadeDown (uint32_t o uint32_t g, uint32_t b, uint32_t wachten) {}
int i, j;
voor (j = 100; j > = 0; j--) {}
voor (ik = 0; ik < strip.numPixels(); i ++) {}
strip.setPixelColor (i, strip. Color((r*j)/100,(g*j)/100,(b*j)/100)); alle pixels inschakelen
}
strip.show();
}
delay(wait);
}
VOID chaseMultipleLinesLToH (uint8_t lijnnummer uint8_t wachten, uint8_t pointL, uint8_t pointH) {}
int i, j;
voor (ik = pointL; ik < = pointH; i ++) {}
voor (j = 0; j < lijnnummer; j ++) {}
strip.setPixelColor (i, strip. Color(0,0,127));
strip.setPixelColor(i+j+(2*lineNumber), strip. Color(25,0,0));
strip.setPixelColor(i+j+(3*lineNumber), strip. Color(0,25,0));
strip.setPixelColor(i+j+(4*lineNumber), strip. Color(25,25,0));
strip.setPixelColor(i+j+(5*lineNumber), strip. Color(0,25,25));
strip.setPixelColor(i+j+(6*lineNumber), strip. Color(25,0,25));
strip.setPixelColor(i+j+(7*lineNumber), strip. Color(0,0,25));
strip.setPixelColor(i+j+(8*lineNumber), strip. Color(25,0,0));
strip.setPixelColor(i+j+(9*lineNumber), strip. Color(0,0,0));
}
strip.show(); alle pixels uitschrijven
delay(wait);
}
}
ongeldig turnAllOff() {}
int i;
voor (ik = 0; ik < strip.numPixels(); i ++) {}
strip.setPixelColor (i, 0); alle pixels uitschakelen
}
strip.show(); alle pixels uitschrijven
}
VOID randomSparkleUpSegment (uint32_t c, uint32_t dichtheid uint8_t wachten, uint8_t pointL, uint8_t pointH) {}
int i, j, locatie;
voor (j = pointL; j < = pointH; j ++) {}
voor (ik = 0; ik < = dichtheid; i ++) {}
locatie = random(pointL,j);
strip.setPixelColor (locatie, c);
}
strip.show(); alle pixels uitschrijven
delay(wait);
turnAllOff();
strip.show(); alle pixels uitschrijven
}
}
VOID randomSparkleUpStrip (uint32_t c, uint32_t dichtheid, uint8_t wachten) {}
int i, j, locatie;
voor (j = dichtheid; j voor (ik = 0; ik < = dichtheid; i ++) {}
locatie = random(0,j);
strip.setPixelColor (locatie, c);
}
strip.show(); alle pixels uitschrijven
delay(wait);
turnAllOff();
strip.show(); alle pixels uitschrijven
}
}
VOID randomSparkle (uint32_t c, uint32_t dichtheid, uint8_t wachten) {}
int i, j, locatie;
voor (j = 0; j < 200; j ++) {}
voor (ik = 0; ik < = dichtheid; i ++) {}
locatie = random(0,strip.numPixels()); willekeurige locatie in eerste 5e van de strip
strip.setPixelColor (locatie, c);
}
strip.show(); alle pixels uitschrijven
delay(wait);
turnAllOff();
strip.show(); alle pixels uitschrijven
}
}
VOID randomColorSparkle (uint8_t wachten) {}
int i;
int location1, location2, location3, location4, location5;
int color1, color2, color3;
voor (ik = 0; ik < 200; i ++) {}
location1 = random(0,32); willekeurige locatie in eerste 5e van de strip
location2 = random(33,64); willekeurige locatie in 2de 5e van de strip
Location3 = random(65,96); willekeurige locatie in 3e 5e van de strip
location4 = random(97,128); willekeurige locatie in 4e 5e van de strip
location5 = random(129,159); Randon locatie in laatste 5e van strip
Color1 = random(25);
kleur2 = random(25);
color3 = random(25);
strip.setPixelColor (location1, strip. Color(color1,color2,0));
strip.setPixelColor (location2, strip. Color(color3,0,color1));
strip.setPixelColor (location3, strip. Color(0,color2,color3));
strip.setPixelColor (location4, strip. Color(color1,color2,0));
strip.setPixelColor (location5, strip. Color(color3,0,color1));
strip.show(); alle pixels uitschrijven
delay(wait);
strip.setPixelColor (location1, strip. Color(0,0,0));
strip.setPixelColor (location2, strip. Color(0,0,0));
strip.setPixelColor (location3, strip. Color(0,0,0));
strip.setPixelColor (location4, strip. Color(0,0,0));
strip.setPixelColor (location5, strip. Color(0,0,0));
strip.show(); alle pixels uitschrijven
}
}
VOID twoColorSparkle (uint32_t c1 uint32_t c2, uint32_t dichtheid, uint8_t wachten) {}
int i, j, location1, location2;
voor (j = 0; j < 200; j ++) {}
voor (ik = 0; ik < = dichtheid; i ++) {}
location1 = random(0,strip.numPixels()); willekeurige locatie nummer 1
location2 = random(0,strip.numPixels()); willekeurige locatie nummer 2
strip.setPixelColor (location1, c1);
strip.setPixelColor (location2, c2);
}
strip.show(); alle pixels uitschrijven
delay(wait);
turnAllOff();
strip.show(); alle pixels uitschrijven
}
}
VOID regenboog (uint8_t wachten) {}
int i, j;
voor (j = 0; j < 384; j ++) {/ / 3 cycli van alle 384 kleuren in het wiel
voor (ik = 0; ik < strip.numPixels(); i ++) {}
strip.setPixelColor (i, wiel ((i + j) % 384));
}
strip.show(); alle pixels uitschrijven
delay(wait);
}
}
Iets anders, dit maakt het wiel van de regenboog gelijkmatig verdeeld
langs de keten
VOID rainbowCycle (uint8_t wachten) {}
uint16_t i, j;
voor (j = 0; j < 384 * 5; j ++) {/ / 5 cycli van alle 384 kleuren in het wiel
voor (ik = 0; ik < strip.numPixels(); i ++) {}
lastig math! We gebruiken elke pixel in een breuk van het volledige 384-kleurenwiel
(dat is de i / strip.numPixels() deel)
Voeg vervolgens in j waardoor dat de kleuren gaan rond per pixel
de % 384 is om het wiel cyclus rond
strip.setPixelColor (ik, wiel (((i * 384/strip.numPixels()) + j) % 384));
}
strip.show(); alle pixels uitschrijven
delay(wait);
}
}
Vul de puntjes een na de ander met genoemde kleur
goed voor testdoeleinden
VOID colorWipe (uint32_t c, uint8_t wachten) {}
int i;
voor (ik = 0; ik < strip.numPixels(); i ++) {}
strip.setPixelColor (i, c);
strip.show();
delay(wait);
}
}
Chase een punt langs de strip
goed voor testdoeleinden
VOID colorChase (uint32_t c, uint8_t wachten) {}
int i;
voor (ik = 0; ik < strip.numPixels(); i ++) {}
strip.setPixelColor (i, 0); alle pixels uitschakelen
}
voor (ik = 0; ik < strip.numPixels(); i ++) {}
strip.setPixelColor (i, c);
Als (i == 0) {}
strip.setPixelColor (strip.numPixels ()-1, 0);
} else {}
strip.setPixelColor (i-1, 0);
}
strip.show();
delay(wait);
}
}
/ * Hulpfuncties * /
Invoergegevens naar een waarde van 0 tot en met 384 om een kleurwaarde.
De kleuren zijn een r - g -b - van de overgang terug naar r
uint32_t wiel (uint16_t WheelPos)
{
byte r, g, b;
switch(WheelPos / 128)
{
Case 0:
r = 25 - WheelPos % 128; Red omlaag
g = WheelPos % 128; Groen omhoog
b = 0; blauwe off
breken;
Case 1:
g = 25 - WheelPos % 128; groene down
b = WheelPos % 128; blauwe omhoog
r = 0; rode uit
breken;
Case 2:
b = 25 - WheelPos % 128; blauwe down
r = WheelPos % 128; rode up
g = 0; groen uit
breken;
}
terugkeer (strip. Color(r,g,b));
}