Étape 6: Code et vidéo
#include « LPD8806.h »
#include
Exemple de contrôle axée sur la LPD8806 des Modules de LED RVB dans une bande de
numérique sur la broche 11
horloge sur la broche 13
/*****************************************************************************/
Les bandes de LED sont 32 LEDs par mètre, mais vous pouvez étendre/couper la bande
Bande de LPD8806 = LPD8806(32) ; Définissez la variable première au nombre de pixels. 32 = 32 pixels dans une ligne
void setup() {}
Commencez vers le haut de la bande de LED
Strip.Begin() ;
Mise à jour de la bande, pour commencer, ils sont tous « arrêt »
Strip.Show() ;
}
void loop() {}
randomSparkleUpSegment (bande. Color(25,0,0),15,10,101,152) ; couleur, densité, retard, point le plus bas, point d’orgue
turnSegmentOn (bande. Couleur (25,0,0), 1000, 101, 152) ; couleur, délai, début du segment, fin du segment
randomSparkleUpSegment (bande. Color(0,25,0),15,10,0,100) ; couleur, densité, retard, point le plus bas, point d’orgue
turnSegmentOn (bande. Color(0,25,0),200,0,100) ; couleur, délai, début du segment, fin du segment
Delay(500) ;
turnAllOff ;
fillUpTheStar (bande. Color(0,0,25),30) ; couleur, délai
fillUpCenterStar (bande. Color(0,0,25),30) ; couleur, délai
fillUpTheStar (bande. Color(25,0,0),30) ; couleur, délai
fillUpCenterStar (bande. Color(25,0,0),30) ; couleur, délai
fillUpTheStar (bande. Color(0,25,0),30) ; couleur, délai
fillUpCenterStar (bande. Color(0,25,0),30) ; couleur, délai
fillUpTheStar (bande. Color(25,25,25),30) ; couleur, délai
fillUpCenterStar (bande. Color(25,25,25),30) ; couleur, délai
turnAllOn (bande. Color(25,0,0),200) ; Color, retarder - tourner unicolore pixels
dither(strip. Color(0,25,0), 50) ; couleur, délai - aléatoire se remplit la bande
fadeDown(0,25,0,30) ; rouge, retard de bleu, vert, - baisse progressive unicolore pixels
dither(strip. Color(25,0,0), 50) ; couleur, délai - aléatoire se remplit la bande
fadeDown(25,0,0,30) ; rouge, retard de bleu, vert, - baisse progressive unicolore pixels
turnAllOn (bande. Color(25,0,0),400) ; Color, retarder - tourner unicolore pixels
turnAllOn (bande. Color(0,25,0),400) ; Color, retarder - tourner unicolore pixels
turnAllOn (bande. Color(25,0,0),400) ; Color, retarder - tourner unicolore pixels
turnAllOn (bande. Color(0,25,0),400) ; Color, retarder - tourner unicolore pixels
turnAllOn (bande. Color(25,0,0),400) ; Color, retarder - tourner unicolore pixels
turnAllOn (bande. Color(0,25,0),400) ; Color, retarder - tourner unicolore pixels
turnAllOn (bande. Color(25,0,0),400) ; Color, retarder - tourner unicolore pixels
turnAllOn (bande. Color(0,25,0),400) ; Color, retarder - tourner unicolore pixels
turnAllOn (bande. Color(25,0,0),400) ; Color, retarder - tourner unicolore pixels
turnAllOn (bande. Color(0,25,0),400) ; Color, retarder - tourner unicolore pixels
turnAllOn (bande. Color(25,0,0),400) ; Color, retarder - tourner unicolore pixels
turnAllOn (bande. Color(0,25,0),400) ; Color, retarder - tourner unicolore pixels
chaseBetweenLToH (bande. Color(25,25,25),20,0,100) ; Color, retard, bas, haut - chase a conduit entre deux emplacements progresse vers le haut de la chaîne
chaseBetweenHToL (bande. Color(25,25,25),20,103,152) ; Color, retard, bas, haut - chase a conduit entre deux emplacements progressant vers le bas de la chaîne
turnAllOff() ; désactiver tous les pixels
fadeUp(25,0,0,20) ; rouge, retard de bleu, vert, - fade up unicolore pixels
fadeDown(25,0,0,20) ; rouge, retard de bleu, vert, - baisse progressive unicolore pixels
fadeUp(0,25,0,20) ; rouge, retard de bleu, vert, - fade up unicolore pixels
fadeDown(0,25,0,20) ; rouge, retard de bleu, vert, - baisse progressive unicolore pixels
turnAllOff() ;
stroboscope effet r/g rg
randomSparkle (bande. Couleur (25,0,0), 20, 30) ; couleur, densité, retard - sparkles aléatoires en une seule couleur
randomSparkle (bande. Couleur (0,25,0), 20, 30) ; couleur, densité, retard - sparkles aléatoires en une seule couleur
twoColorSparkle (bande. Color(25,0,0), bande. Color(0,25,0), 20, 10) ; couleur 1, couleur 2, densité, retard - aléatoire scintille en deux couleurs
Rainbow(20) ;
turnAllOff() ;
randomColorSparkle(30) ; Delay - étincelles de couleur aléatoire
turnAllOn (bande. Color(0,0,25),1000) ; Color, retarder - tourner unicolore pixels
chaseBetweenLToH (bande. Color(25,25,25),1,0,159) ; couleur, retard, bas, haut - leds de chasse entre deux emplacements progresse vers le haut de la chaîne
chaseBetweenLToH (bande. Color(0,25,0),0,0,159) ; couleur, retard, bas, haut - leds de chasse entre deux emplacements progresse vers le haut de la chaîne
chaseBetweenHToL (bande. Color(25,0,0),0,0,159) ; couleur, retard, bas, haut - leds de chasse entre deux emplacements progressant vers le bas de la chaîne
chaseBetweenHToL (bande. Color(0,25,0),0,0,159) ; couleur, retard, bas, haut - leds de chasse entre deux emplacements progressant vers le bas de la chaîne
chaseToCenter (bande. Color(25,0,0),25,1,0,159) ; couleur, nombre de voyants en ligne, retard, bas, haut - chase lignes vers le centre
chasePastCenter (bande. Color(25,0,0),25,1,0,159) ; couleur, nombre de voyants en ligne, retard, bas, haut - chase lignes devant le centre
chaseBetweenLToH (bande. Color(50,50,25),1,0,159) ; couleur, retard, bas, haut - leds de chasse entre deux emplacements progresse vers le haut de la chaîne
chaseBetweenLToH (bande. Color(25,0,0),0,0,159) ; couleur, retard, bas, haut - leds de chasse entre deux emplacements progresse vers le haut de la chaîne
chaseBetweenLToH (bande. Color(0,25,0),0,0,159) ; couleur, retard, bas, haut - leds de chasse entre deux emplacements progresse vers le haut de la chaîne
chaseLineHToL (bande. Color(25,0,0),50,0,0,159) ; couleur, nombre de voyants en ligne, retard, bas, haut - chase leds dans une ligne progressant vers le haut de la chaîne
chaseLineLToH (bande. Color(0,25,0),50,0,0,159) ; couleur, retard, bas, haut - leds de chasse entre deux emplacements progresse vers le haut de la chaîne
rainbowCycle(0) ; faire passer le cycle assez rapide
turnAllOff() ;
segments rouges et vertes autour du périmètre, centre bleu
int i ;
pour (i = 1; i < = 4; i ++) {}
Delay(1000) ;
fadeDown(25,25,25,40) ; rouge, retard de bleu, vert, - baisse progressive unicolore pixels
}
turnAllOn (bande. Color(0,0,25),200) ;
dither(strip. Color(25,0,0), 20) ; couleur, délai - aléatoire se remplit la bande
fadeDown(25,0,0,30) ; rouge, retard de bleu, vert, - baisse progressive unicolore pixels
turnSegmentOn (bande. Color(0,0,25),10,104,159) ; couleur, délai, début du segment, fin du segment
turnSegmentOn (bande. Color(0,0,25),10,0,103) ; couleur, délai, début du segment, fin du segment
chaseUpTheStar (bande. Color(25,0,0),30) ; couleur, délai
chaseUpCenterStar (bande. Color(25,0,0),30) ; couleur, délai
turnSegmentOn (bande. Color(0,25,0),10,0,159) ; couleur, délai, début du segment, fin du segment
chaseUpTheStar (bande. Color(25,0,0),30) ; couleur, délai
turnAllOff() ;
fillUpTheStar (bande. Color(25,0,0),30) ; couleur, délai
fillUpCenterStar (bande. Color(0,25,0), 30) ; couleur, délai
fillUpTheStar (bande. Color(0,25,0),30) ; couleur, délai
fillUpCenterStar (bande. Color(25,0,0),30) ; couleur, délai
fillUpTheStar (bande. Color(25,25,25),30) ; couleur, délai
fillUpCenterStar (bande. Color(25,25,25),30) ; couleur, délai
turnAllOff() ;
dither(strip. Color(0,25,25), 10) ; couleur, délai - aléatoire se remplit la bande
fadeDown(0,25,25,20) ; rouge, retard de bleu, vert, - baisse progressive unicolore pixels
turnAllOff() ;
Scanner(25,0,0,10) ; rouge, retard de bleu, vert,
turnAllOff() ;
vague (bande. Color(25,0,0),5,0,200) ; couleur, cycles, retard, répétitions
fadeDown(25,0,0,20) ; rouge, retard de bleu, vert, - baisse progressive unicolore pixels
vague (bande. Color(0,25,0),5,0,200) ; couleur, cycles, retard, répétitions
turnAllOff() ;
randomSparkleUpStrip (bande. Color(25,25,25),15,10) ; couleur, densité, attendre
turnAllOn (bande. Color(25,25,25),500) ;
fadeDown(25,25,25,20) ; rouge, retard de bleu, vert, - baisse progressive unicolore pixels
randomSparkleUpStrip (bande. Color(20,20,25),15,10) ;
turnAllOn (bande. Color(20,20,25),500) ;
fadeDown(20,20,25,20) ; rouge, retard de bleu, vert, - baisse progressive unicolore pixels
randomSparkleUpStrip (bande. Color(25,50,25),15,10) ;
turnAllOn (bande. Color(25,50,25),500) ;
fadeDown(25,50,25,20) ; rouge, retard de bleu, vert, - baisse progressive unicolore pixels
randomSparkleUpStrip (bande. Color(20,25,39),15,10) ;
turnAllOn (bande. Color(20,127,39),500) ;
fadeDown(20,25,39,20) ; rouge, retard de bleu, vert, - baisse progressive unicolore pixels
randomSparkleUpStrip (bande. Color(10,10,25),15,10) ;
turnAllOn (bande. Color(10,10,25),500) ;
fadeDown(10,10,25,20) ; rouge, retard de bleu, vert, - baisse progressive unicolore pixels
turnAllOn (bande. Color(0,25,0),400) ;
chaseBetweenLToH (bande. Color(25,0,0),20,0,100) ; Color, retard, bas, haut - chase a conduit entre deux emplacements progresse vers le haut de la chaîne
chaseBetweenHToL (bande. Color(25,0,0),20,103,152) ; Color, retard, bas, haut - chase a conduit entre deux emplacements progressant vers le bas de la chaîne
vert à rouge vague
vague (bande. Color(0,25,0),5,0,100) ; couleur, cycles, retard, répétitions
vague (bande. Color(20,25,0),10,0,50) ; couleur, cycles, retard, répétitions
vague (bande. Color(40,25,0),15,0,50) ; couleur, cycles, retard, répétitions
vague (bande. Color(80,25,0),20,0,50) ; couleur, cycles, retard, répétitions
vague (bande. Color(25,25,0),25,0,50) ; couleur, cycles, retard, répétitions
vague (bande. Color(25,80,0),35,0,50) ; couleur, cycles, retard, répétitions
vague (bande. Color(25,40,0),35,0,50) ; couleur, cycles, retard, répétitions
vague (bande. Color(25,20,0),35,0,50) ; couleur, cycles, retard, répétitions
vague (bande. Color(25,0,0),35,0,100) ; couleur, cycles, retard, répétitions
vague (bande. Color(25,0,0),35,0,50) ; couleur, cycles, retard, répétitions
turnAllOff() ;
vague (bande. Color(0,25,0),35,0,100) ; couleur, cycles, retard, répétitions
vague (bande. Color(20,107,0),35,0,50) ; couleur, cycles, retard, répétitions
vague (bande. Color(40,87,0),35,0,50) ; couleur, cycles, retard, répétitions
vague (bande. Color(80,47,0),30,0,50) ; couleur, cycles, retard, répétitions
vague (bande. Color(107,27,0),20,0,100) ; couleur, cycles, retard, répétitions
vague (bande. Color(25,0,0),5,0,200) ; couleur, cycles, retard, répétitions
int j ;
pour (j = 1; j < = 15; j ++) {}
turnSegmentOn (bande. Couleur (0,0,25), 0, 60, 100); //red 1 sur - couleur, délai, début du segment, fin du segment
turnSegmentOn (bande. Couleur (25,0,0), 0, 147, 152) ; bleu 1 - couleur, retard, début du segment, fin du segment
turnSegmentOn (bande. Couleur (25,0,0), 200, 103, 109) ; bleu 1 - couleur, retard, début du segment, fin du segment
turnSegmentOn (bande. Couleur (25,25,0), 0, 44, 59) ; rouge 4 off - couleur, délai, début du segment, fin du segment
turnSegmentOn (bande. Couleur (0,25,0), 0, 110, 121) ; bleu 4 hors - couleur, délai, début du segment, fin du segment
turnSegmentOn (bande. Couleur (0,0,25), 0, 0, 15) ; rouge 2 - fin du segment, début du segment, retard, couleur
turnSegmentOn (bande. Couleur (25,0,0), 200, 135, 146) ; bleu 2 sur - couleur, délai, début du segment, fin du segment
turnSegmentOn (bande. Couleur (25,25,0), 0, 60, 100) ; rouge 1 off - couleur, délai, début du segment, fin du segment
turnSegmentOn (bande. Couleur (0,25,0), 0, 147, 152) ; bleu 1 hors - couleur, délai, début du segment, fin du segment
turnSegmentOn (bande. Couleur (0,25,0), 0, 103, 109) ; bleu 1 hors - couleur, délai, début du segment, fin du segment
turnSegmentOn (bande. Couleur (0,0,25), 0, 16, 43) ; rouge 3 sur - couleur, délai, début du segment, fin du segment
turnSegmentOn (bande. Couleur (25,0,0), 200, 122, 134) ; bleu 3 sur - couleur, délai, début du segment, fin du segment
turnSegmentOn (bande. Couleur (25,25,0), 0, 0, 15) ; rouge 2 off - couleur, délai, début du segment, fin du segment
turnSegmentOn (bande. Couleur (0,25,0), 0, 135, 146) ; bleu 2 off - couleur, délai, début du segment, fin du segment
turnSegmentOn (bande. Couleur (0,0,25), 0, 44, 59) ; rouge 4 - couleurs, retard, début du segment, fin du segment
turnSegmentOn (bande. Couleur (25,0,0), 200, 110, 121) ; bleu 4 sur - couleur, délai, début du segment, fin du segment
turnSegmentOn (bande. Couleur (25,25,0), 0, 16, 43) ; rouge 3 off - couleur, délai, début du segment, fin du segment
turnSegmentOn (bande. Couleur (0,25,0), 0, 122, 134) ; bleu 3 hors - couleur, délai, début du segment, fin du segment
}
chaseMultipleLinesLToH(10,10,0,152) ; nombre de LED en ligne, retard, bas, haut - chasser plusieurs lignes progresse vers le haut de la chaîne
}
Un « dither ordonné » remplit chaque pixel dans une séquence qui ressemble
brillant et presque au hasard, mais suit en fait un ordre spécifique.
tramage Sub (uint32_t c, uint8_t attente) {}
Déterminer le bit le plus élevé nécessaire pour représenter l’indice pixel
hiBit int = 0 ;
int n = strip.numPixels() - 1 ;
pour (int bits = 1; bit 0 x 8000 < ; bit << = 1) {}
Si (n & peu) hiBit = bit ;
}
bit d’int, inverse ;
pour (int i = 0; i < (hiBit << 1); i ++) {}
Inverser les bits dans j’ai créer dither ordonné :
inversion = 0 ;
pour (bit = 1; bit < = hiBit ; bit << = 1) {}
Reverse << = 1 ;
Si en arrière (j’ai & bit) | = 1 ;
}
strip.setPixelColor inverse, c ;
Strip.Show() ;
Delay(Wait) ;
}
Delay(250) ; Tenir l’image pendant 1/4 sec
}
« Scanner de Larson » = Cylon/KITT rebondissant luminescence
void scanner (uint8_t r, uint8_t g, uint8_t b, uint8_t attente) {}
int i, j, pos, dir ;
POS = 0 ;
dir = 1 ;
pour (i = 0; i < ((strip.numPixels()-1) * 8); i ++) {}
Écrêtera tirage 5 pixels centrés sur setPixelColor() pos.
tous les pixels les extrémités de la bande, pas de soucis il.
Nous essaierons de rendre les couleurs variateur sur les bords pour une impulsion de nice
coup d’oeil
strip.setPixelColor (pos - 2, de la bande. Color(r/4, g/4, b/4)) ;
strip.setPixelColor (pos - 1, bande. Color(r/2, g/2, b/2)) ;
strip.setPixelColor (pos, bande. Couleur (r, g, b)) ;
strip.setPixelColor (pos + 1, de la bande. Color(r/2, g/2, b/2)) ;
strip.setPixelColor (pos + 2, de la bande. Color(r/4, g/4, b/4)) ;
Strip.Show() ;
Delay(Wait) ;
Si nous voulions être sournois nous pourrions effacer juste la queue
Pixel, mais il est beaucoup plus facile juste effacer le tout
et dessiner un nouveau une prochaine fois.
pour (j =-2; j < = 2; j ++)
strip.setPixelColor (pos + j, bande. Color(0,0,0)) ;
Rebondissent sur les extrémités de la bande
POS = dir ;
Si (pos < 0) {}
POS = 1 ;
dir = - dir ;
} ElseIf (pos > = {strip.numPixels())}
POS = strip.numPixels() - 2 ;
dir = - dir ;
}
}
}
Effet de l’onde sinusoïdale
#define PI 3.14159265
onde vide (uint32_t c, int cycles, uint8_t attente, répétitions int) {}
float y ;
octet r, g, b, r2, g2, b2 ;
Besoin de décomposer la couleur dans son r, g, b Eléments
g = (c >> 16) & 0x7f ;
r = (c >> 8) & 0x7f ;
b = c & 0x7f ;
pour (int x = 0; x {
pour (int i = 0; j’y = sin (PI * cycles (flotteur) * (flotteur)(x + i) / (float)strip.numPixels()) ;
y = 1. 0 - y ; Définition de Y à 0.0 (en haut) à 1,0 (Centre)
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 attente) {}
int i, j ;
strip.setPixelColor (80, c) ;
Delay(Wait) ;
strip.setPixelColor (80, bande. Color(0,0,0)) ;
pour (i = 1; i < = 20; i ++) {}
strip.setPixelColor (80 + i, c) ;
strip.setPixelColor (80-i, c) ;
Strip.Show() ; écrire tous les pixels
Delay(Wait) ;
strip.setPixelColor (80 + i, bande. Color(0,0,0)) ;
strip.setPixelColor (80-i, bande. Color(0,0,0)) ;
Strip.Show() ; écrire tous les pixels
}
pour (j = 0; j < = 29; j ++) {}
strip.setPixelColor (j, c) ;
strip.setPixelColor (59-j, c) ;
Strip.Show() ; écrire tous les pixels
Delay(Wait) ;
strip.setPixelColor (j, strip. Color(0,0,0)) ;
strip.setPixelColor (59-j, bande. Color(0,0,0)) ;
Strip.Show() ; écrire tous les pixels
}
}
void chaseUpCenterStar (uint32_t c, uint8_t attente) {}
int i, j ;
pour (i = 1; i < = 6; i ++) {}
strip.setPixelColor (146 + i, c) ;
strip.setPixelColor (147-i, c) ;
Strip.Show() ; écrire tous les pixels
Delay(Wait) ;
strip.setPixelColor (146 + i, bande. Color(0,0,0)) ;
strip.setPixelColor (147-i, bande. Color(0,0,0)) ;
Strip.Show() ; écrire tous les pixels
}
pour (j = 0; j < = 18; j ++) {}
strip.setPixelColor (103 + j, c) ;
strip.setPixelColor (140-j, c) ;
Strip.Show() ; écrire tous les pixels
Delay(Wait) ;
strip.setPixelColor (103 + j, strip. Color(0,0,0)) ;
strip.setPixelColor (140-j, bande. Color(0,0,0)) ;
Strip.Show() ; écrire tous les pixels
}
}
void fillUpTheStar (uint32_t c, uint8_t attente) {}
int i, j ;
strip.setPixelColor (80, c) ;
Delay(Wait) ;
pour (i = 1; i < = 20; i ++) {}
strip.setPixelColor (80 + i, c) ;
strip.setPixelColor (80-i, c) ;
Strip.Show() ; écrire tous les pixels
Delay(Wait) ;
}
pour (j = 0; j < = 29; j ++) {}
strip.setPixelColor (j, c) ;
strip.setPixelColor (59-j, c) ;
Strip.Show() ; écrire tous les pixels
Delay(Wait) ;
}
}
void fillUpCenterStar (uint32_t c, uint8_t attente) {}
int i, j ;
pour (i = 1; i < = 6; i ++) {}
strip.setPixelColor (146 + i, c) ;
strip.setPixelColor (147-i, c) ;
Strip.Show() ; écrire tous les pixels
Delay(Wait) ;
}
pour (j = 0; j < = 18; j ++) {}
strip.setPixelColor (103 + j, c) ;
strip.setPixelColor (140-j, c) ;
Strip.Show() ; écrire tous les pixels
Delay(Wait) ;
}
}
void chaseBetweenLToH (uint32_t c, uint8_t attente, pointL uint8_t, uint8_t Pr\648606fr) {}
int i ;
pour (i = pointL; i < = Pr\648606fr; i ++) {}
strip.setPixelColor (i, c) ;
Strip.Show() ; écrire tous les pixels
Delay(Wait) ;
strip.setPixelColor (i, bande. Color(0,0,0)) ;
Strip.Show() ; écrire tous les pixels
}
}
void chaseBetweenHToL (uint32_t c, uint8_t attente, pointL uint8_t, uint8_t Pr\648606fr) {}
int i ;
pour (i = Pr\648606fr ; j’ai > = pointL; i--) {}
strip.setPixelColor (i, c) ;
Strip.Show() ; écrire tous les pixels
Delay(Wait) ;
strip.setPixelColor (i, bande. Color(0,0,0)) ;
Strip.Show() ; écrire tous les pixels
}
}
void chaseLineLToH (uint32_t c, uint8_t lineNumber, uint8_t attente, pointL uint8_t, uint8_t Pr\648606fr) {}
int i, j ;
pour (i = pointL; i < Pr\648606fr + lineNumber; i ++) {}
pour (j = 0; j < lineNumber; j ++) {}
strip.setPixelColor (i-j, c) ;
}
Strip.Show() ; écrire tous les pixels
Delay(Wait) ;
turnAllOff() ;
}
}
void chaseLineHToL (uint32_t c, uint8_t lineNumber, uint8_t attente, pointL uint8_t, uint8_t Pr\648606fr) {}
int i, j ;
pour (i = Pr\648606fr; i > pointL; i--) {}
pour (j = 0; strip.setPixelColor j (i + j, c) ;
}
Strip.Show() ; écrire tous les pixels
Delay(Wait) ;
turnAllOff() ;
}
}
void chaseToCenter (uint32_t c, uint8_t lineNumber, uint8_t attente, pointL uint8_t, uint8_t Pr\648606fr) {}
int i, j, k ;
J’ai = pointL ;
k = Pr\648606fr ;
tandis que (j’ai < k & & k > i) {}
pour (j = 0; j < lineNumber; j ++) {}
strip.setPixelColor (i-j, c) ;
strip.setPixelColor (k + j, c) ;
}
Strip.Show() ; écrire tous les pixels
Delay(Wait) ;
i ++ ;
k--;
turnAllOff() ;
}
}
void chasePastCenter (uint32_t c, uint8_t lineNumber, uint8_t attente, pointL uint8_t, uint8_t Pr\648606fr) {}
int i, j, k ;
J’ai = pointL ;
k = Pr\648606fr ;
tandis que (j’ai < Pr\648606fr & & k > pointL) {}
pour (j = 0; j < lineNumber; j ++) {}
strip.setPixelColor (i-j, c) ;
strip.setPixelColor (k + j, c) ;
}
Strip.Show() ; écrire tous les pixels
Delay(Wait) ;
i ++ ;
k--;
turnAllOff() ;
}
}
void turnAllOn (uint32_t c, uint32_t attente) {}
int i ;
pour (i = 0; i < strip.numPixels(); i ++) {}
strip.setPixelColor (i, c) ; Allumez tous les pixels
}
Strip.Show() ; écrire tous les pixels
Delay(Wait) ;
}
void turnSegmentOn (uint32_t c, uint32_t attente, uint8_t startofseg, uint8_t endofseg) {}
int i ;
pour (i = startofseg; i < = endofseg; i ++) {}
strip.setPixelColor (i, c) ; Allumez tous les pixels
}
Strip.Show() ; écrire tous les pixels
Delay(Wait) ;
}
void fadeUpSeg (uint32_t r, uint32_t g, uint32_t b, uint32_t attente, uint8_t startofseg, uint8_t endofseg) {}
int i, j ;
pour (j = 0; j < = 100; j ++) {}
pour (i = startofseg; i < = endofseg; i ++) {}
strip.setPixelColor (i, bande. Color((r*j)/100,(g*j)/100,(b*j)/100)) ;
}
Strip.Show() ;
}
Delay(Wait) ;
}
void fadeDownSeg (uint32_t r, uint32_t g, uint32_t b, uint32_t attente, uint8_t startofseg, uint8_t endofseg) {}
int i, j ;
pour (j = 100; j > = 0; j--) {}
pour (i = startofseg; i < = endofseg; i ++) {}
strip.setPixelColor (i, bande. Color((r*j)/100,(g*j)/100,(b*j)/100)) ; Allumez tous les pixels
}
Strip.Show() ;
}
Delay(Wait) ;
}
void fadeUp (uint32_t r, uint32_t g, uint32_t b, uint32_t attente) {}
int i, j ;
pour (j = 0; j < = 100; j ++) {}
pour (i = 0; i < strip.numPixels(); i ++) {}
strip.setPixelColor (i, bande. Color((r*j)/100,(g*j)/100,(b*j)/100)) ;
}
Strip.Show() ;
}
Delay(Wait) ;
}
void fadeDown (uint32_t r, uint32_t g, uint32_t b, uint32_t attente) {}
int i, j ;
pour (j = 100; j > = 0; j--) {}
pour (i = 0; i < strip.numPixels(); i ++) {}
strip.setPixelColor (i, bande. Color((r*j)/100,(g*j)/100,(b*j)/100)) ; Allumez tous les pixels
}
Strip.Show() ;
}
Delay(Wait) ;
}
void chaseMultipleLinesLToH (uint8_t lineNumber, uint8_t attente, pointL uint8_t, uint8_t Pr\648606fr) {}
int i, j ;
pour (i = pointL; i < = Pr\648606fr; i ++) {}
pour (j = 0; j < lineNumber; j ++) {}
strip.setPixelColor (i, bande. Color(0,0,127)) ;
strip.setPixelColor(i+j+(2*lineNumber), bande. Color(25,0,0)) ;
strip.setPixelColor(i+j+(3*lineNumber), bande. Color(0,25,0)) ;
strip.setPixelColor(i+j+(4*lineNumber), bande. Color(25,25,0)) ;
strip.setPixelColor(i+j+(5*lineNumber), bande. Color(0,25,25)) ;
strip.setPixelColor(i+j+(6*lineNumber), bande. Color(25,0,25)) ;
strip.setPixelColor(i+j+(7*lineNumber), bande. Color(0,0,25)) ;
strip.setPixelColor(i+j+(8*lineNumber), bande. Color(25,0,0)) ;
strip.setPixelColor(i+j+(9*lineNumber), bande. Color(0,0,0)) ;
}
Strip.Show() ; écrire tous les pixels
Delay(Wait) ;
}
}
void turnAllOff() {}
int i ;
pour (i = 0; i < strip.numPixels(); i ++) {}
strip.setPixelColor (i, 0) ; désactiver tous les pixels
}
Strip.Show() ; écrire tous les pixels
}
void randomSparkleUpSegment (uint32_t c, uint32_t densité, uint8_t attente, pointL uint8_t, uint8_t Pr\648606fr) {}
int i, j, emplacement ;
pour (j = pointL; j < = Pr\648606fr; j ++) {}
pour (i = 0; i < = densité; i ++) {
emplacement = random(pointL,j) ;
strip.setPixelColor (emplacement, c) ;
}
Strip.Show() ; écrire tous les pixels
Delay(Wait) ;
turnAllOff() ;
Strip.Show() ; écrire tous les pixels
}
}
void randomSparkleUpStrip (uint32_t c, uint32_t densité, attente uint8_t) {}
int i, j, emplacement ;
pour (j = masse volumique; j pour (i = 0; j’ai < = masse volumique; i ++) {}
emplacement = random(0,j) ;
strip.setPixelColor (emplacement, c) ;
}
Strip.Show() ; écrire tous les pixels
Delay(Wait) ;
turnAllOff() ;
Strip.Show() ; écrire tous les pixels
}
}
Sub randomSparkle (uint32_t c, uint32_t densité, attente uint8_t) {}
int i, j, emplacement ;
pour (j = 0; j < 200; j ++) {}
pour (i = 0; i < = densité; i ++) {
emplacement = random(0,strip.numPixels()) ; endroit au hasard dans les 5 premières de bande
strip.setPixelColor (emplacement, c) ;
}
Strip.Show() ; écrire tous les pixels
Delay(Wait) ;
turnAllOff() ;
Strip.Show() ; écrire tous les pixels
}
}
void randomColorSparkle (attente uint8_t) {}
int i ;
int location1, d’invités Endroit2, location3, location4 location5 ;
int color1, color2, couleur3 ;
pour (i = 0; i < 200; i ++) {
location1 = random(0,32) ; endroit au hasard dans les 5 premières de bande
location2 = random(33,64) ; emplacement aléatoire en 2ème 5ème de bande
Location3 = random(65,96) ; emplacement aléatoire en 5e 3e de bande
location4 = random(97,128) ; emplacement aléatoire en 5ème 4ème de bande
location5 = random(129,159) ; emplacement de Randon en 5ème dernier de bande
color1 = random(25) ;
color2 = random(25) ;
color3 = random(25) ;
strip.setPixelColor (location1, strip. Color(color1,color2,0)) ;
strip.setPixelColor (d’invités Endroit2, 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() ; écrire tous les pixels
Delay(Wait) ;
strip.setPixelColor (location1, strip. Color(0,0,0)) ;
strip.setPixelColor (d’invités Endroit2, 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() ; écrire tous les pixels
}
}
void twoColorSparkle (uint32_t c1, c2 d’uint32_t, uint32_t densité, attente uint8_t) {}
int i, j, location1, location2 ;
pour (j = 0; j < 200; j ++) {}
pour (i = 0; i < = densité; i ++) {
location1 = random(0,strip.numPixels()) ; Numéro de l’emplacement aléatoire 1
location2 = random(0,strip.numPixels()) ; Numéro de l’emplacement aléatoire 2
strip.setPixelColor (location1, c1) ;
strip.setPixelColor (d’invités Endroit2, c2) ;
}
Strip.Show() ; écrire tous les pixels
Delay(Wait) ;
turnAllOff() ;
Strip.Show() ; écrire tous les pixels
}
}
Sub arc-en-ciel (attente uint8_t) {}
int i, j ;
pour (j = 0; j < 384; j ++) {/ / 3 cycles de toutes les couleurs de 384 dans la roue
pour (i = 0; i < strip.numPixels(); i ++) {}
strip.setPixelColor (i, roue ((i + j) % 384)) ;
}
Strip.Show() ; écrire tous les pixels
Delay(Wait) ;
}
}
Légèrement différent, celui-ci rend la roue de l’arc-en-ciel qui soient également répartie
le long de la chaîne
void rainbowCycle (attente uint8_t) {}
uint16_t i, j ;
pour (j = 0; j < 384 * 5; j ++) {/ / 5 cycles de toutes les couleurs de 384 dans la roue
pour (i = 0; i < strip.numPixels(); i ++) {}
math difficile ! Nous utilisons chaque pixel comme une fraction de la roue complète 384-couleur
(c’est le i / strip.numPixels() partie)
Puis ajouter dans j qui rend que les couleurs contournez par pixel
le % 384 est de faire la roue un cycle autour de
strip.setPixelColor (je, roue (((i * 384/strip.numPixels()) + j) % 384)) ;
}
Strip.Show() ; écrire tous les pixels
Delay(Wait) ;
}
}
remplir les points un après l’autre avec ladite couleur
bon pour des fins de test
void colorWipe (uint32_t c, uint8_t attente) {}
int i ;
pour (i = 0; i < strip.numPixels(); i ++) {}
strip.setPixelColor (i, c) ;
Strip.Show() ;
Delay(Wait) ;
}
}
Chase un point vers le bas de la
bon pour des fins de test
void colorChase (uint32_t c, uint8_t attente) {}
int i ;
pour (i = 0; i < strip.numPixels(); i ++) {}
strip.setPixelColor (i, 0) ; désactiver tous les pixels
}
pour (i = 0; i < strip.numPixels(); i ++) {}
strip.setPixelColor (i, c) ;
Si (i == 0) {}
strip.setPixelColor (strip.numPixels ()-1, 0) ;
} else {}
strip.setPixelColor (i-1, 0) ;
}
Strip.Show() ;
Delay(Wait) ;
}
}
/ * Fonctions d’assistance * /
Entrer une valeur de 0 à 384 pour obtenir une valeur de couleur.
Les couleurs sont une transition r - g -b - retour à r
Roue d’uint32_t (uint16_t WheelPos)
{
octet r, g, b ;
Switch(WheelPos / 128)
{
case 0 :
r = 25 - WheelPos % 128 ; Rouge vers le bas
g = WheelPos % 128 ; Vert vers le haut
b = 0 ; bleu large
rupture ;
cas 1 :
g = 25 - WheelPos % 128 ; bas vert
b = WheelPos % 128 ; haut bleu
r = 0 ; rouge off
rupture ;
cas 2 :
b = 25 - WheelPos % 128 ; bas bleu
r = WheelPos % 128 ; haut rouge
g = 0 ; vert éteint
rupture ;
}
retour (bande. Color(r,g,b)) ;
}