Paso 6: Código y Video
#include "LPD8806.h"
#include
Ejemplo para controlar RGB LED módulos basados en LPD8806 en una tira
digital en el pin 11
reloj en el pin 13
/*****************************************************************************/
Las tiras LED son 32 LEDs por metro, pero puede extender/cortar la tira de
Tira de LPD8806 = LPD8806(32); Establece la primera variable en el número de píxeles. 32 = 32 píxeles en una fila
void setup() {}
Poner en marcha la tira del LED
Strip.Begin();
Actualizar la faja, para empezar todos son 'off'
Strip.Show();
}
void loop() {}
randomSparkleUpSegment (de la tira. Color(25,0,0),15,10,101,152); color, densidad, retardo, punto bajo, punto alto
turnSegmentOn (de la tira. Color (25,0,0), 1000, 101, 152); color, retraso, Inicio de segmento, extremo del segmento
randomSparkleUpSegment (de la tira. Color(0,25,0),15,10,0,100); color, densidad, retardo, punto bajo, punto alto
turnSegmentOn (de la tira. Color(0,25,0),200,0,100); color, retraso, Inicio de segmento, extremo del segmento
Delay(500);
turnAllOff;
fillUpTheStar (de la tira. Color(0,0,25),30); color, retraso
fillUpCenterStar (de la tira. Color(0,0,25),30); color, retraso
fillUpTheStar (de la tira. Color(25,0,0),30); color, retraso
fillUpCenterStar (de la tira. Color(25,0,0),30); color, retraso
fillUpTheStar (de la tira. Color(0,25,0),30); color, retraso
fillUpCenterStar (de la tira. Color(0,25,0),30); color, retraso
fillUpTheStar (de la tira. Color(25,25,25),30); color, retraso
fillUpCenterStar (de la tira. Color(25,25,25),30); color, retraso
turnAllOn (de la tira. Color(25,0,0),200); color, retrasar - activar un color de los píxeles
dither(Strip. Color(0,25,0), 50); color, retraso - al azar se llena la franja
fadeDown(0,25,0,30); rojo, delay azul, verde, - se descolora abajo un color de los píxeles
dither(Strip. Color(25,0,0), 50); color, retraso - al azar se llena la franja
fadeDown(25,0,0,30); rojo, delay azul, verde, - se descolora abajo un color de los píxeles
turnAllOn (de la tira. Color(25,0,0),400); color, retrasar - activar un color de los píxeles
turnAllOn (de la tira. Color(0,25,0),400); color, retrasar - activar un color de los píxeles
turnAllOn (de la tira. Color(25,0,0),400); color, retrasar - activar un color de los píxeles
turnAllOn (de la tira. Color(0,25,0),400); color, retrasar - activar un color de los píxeles
turnAllOn (de la tira. Color(25,0,0),400); color, retrasar - activar un color de los píxeles
turnAllOn (de la tira. Color(0,25,0),400); color, retrasar - activar un color de los píxeles
turnAllOn (de la tira. Color(25,0,0),400); color, retrasar - activar un color de los píxeles
turnAllOn (de la tira. Color(0,25,0),400); color, retrasar - activar un color de los píxeles
turnAllOn (de la tira. Color(25,0,0),400); color, retrasar - activar un color de los píxeles
turnAllOn (de la tira. Color(0,25,0),400); color, retrasar - activar un color de los píxeles
turnAllOn (de la tira. Color(25,0,0),400); color, retrasar - activar un color de los píxeles
turnAllOn (de la tira. Color(0,25,0),400); color, retrasar - activar un color de los píxeles
chaseBetweenLToH (de la tira. Color(25,25,25),20,0,100); color, retraso, bajo, alto - chase conducido entre dos ubicaciones que están avanzando en la cadena de
chaseBetweenHToL (de la tira. Color(25,25,25),20,103,152); color, retraso, bajo, alto - chase conducido entre dos localidades progresa hacia abajo de la cadena
turnAllOff(); Apague todos los píxeles
fadeUp(25,0,0,20); rojo, delay azul, verde, - se descolora a un color de los píxeles
fadeDown(25,0,0,20); rojo, delay azul, verde, - se descolora abajo un color de los píxeles
fadeUp(0,25,0,20); rojo, delay azul, verde, - se descolora a un color de los píxeles
fadeDown(0,25,0,20); rojo, delay azul, verde, - se descolora abajo un color de los píxeles
turnAllOff();
efecto de luz estroboscópica r/g rg
randomSparkle (de la tira. Color (25,0,0), 20, 30); color, densidad, delay - destellos aleatorios en un color
randomSparkle (de la tira. Color (0,25,0), 20, 30); color, densidad, delay - destellos aleatorios en un color
twoColorSparkle (de la tira. Color(25,0,0), tira. Color(0,25,0), 20, 10); destellos de color 1, color 2, densidad, retraso - al azar en dos colores
Rainbow(20);
turnAllOff();
randomColorSparkle(30); Delay - destellos de color al azar
turnAllOn (de la tira. Color(0,0,25),1000); color, retrasar - activar un color de los píxeles
chaseBetweenLToH (de la tira. Color(25,25,25),1,0,159); color, retardo, bajo, alto - leds de persecución entre dos ubicaciones que están avanzando en la cadena de
chaseBetweenLToH (de la tira. Color(0,25,0),0,0,159); color, retardo, bajo, alto - leds de persecución entre dos ubicaciones que están avanzando en la cadena de
chaseBetweenHToL (de la tira. Color(25,0,0),0,0,159); color, retardo, bajo, alto - leds de persecución entre dos localidades progresa hacia abajo de la cadena
chaseBetweenHToL (de la tira. Color(0,25,0),0,0,159); color, retardo, bajo, alto - leds de persecución entre dos localidades progresa hacia abajo de la cadena
chaseToCenter (de la tira. Color(25,0,0),25,1,0,159); color, número de leds en línea retraso, bajo, alto - chase líneas al centro de
chasePastCenter (de la tira. Color(25,0,0),25,1,0,159); color, número de leds en línea retraso, bajo, alto - líneas de chase más allá del centro
chaseBetweenLToH (de la tira. Color(50,50,25),1,0,159); color, retardo, bajo, alto - leds de persecución entre dos ubicaciones que están avanzando en la cadena de
chaseBetweenLToH (de la tira. Color(25,0,0),0,0,159); color, retardo, bajo, alto - leds de persecución entre dos ubicaciones que están avanzando en la cadena de
chaseBetweenLToH (de la tira. Color(0,25,0),0,0,159); color, retardo, bajo, alto - leds de persecución entre dos ubicaciones que están avanzando en la cadena de
chaseLineHToL (de la tira. Color(25,0,0),50,0,0,159); color, número de leds en línea, retraso, bajo, alto - leds de chase en una línea avanza en la cadena de
chaseLineLToH (de la tira. Color(0,25,0),50,0,0,159); color, retardo, bajo, alto - leds de persecución entre dos ubicaciones que están avanzando en la cadena de
rainbowCycle(0); hacer que vaya bastante rápido a través del ciclo
turnAllOff();
segmentos rojos y verdes alrededor del perímetro, centro azul
int i;
para (i = 1; i < = 4; i ++) {}
Delay(1000);
fadeDown(25,25,25,40); rojo, delay azul, verde, - se descolora abajo un color de los píxeles
}
turnAllOn (de la tira. Color(0,0,25),200);
dither(Strip. Color(25,0,0), 20); color, retraso - al azar se llena la franja
fadeDown(25,0,0,30); rojo, delay azul, verde, - se descolora abajo un color de los píxeles
turnSegmentOn (de la tira. Color(0,0,25),10,104,159); color, retraso, Inicio de segmento, extremo del segmento
turnSegmentOn (de la tira. Color(0,0,25),10,0,103); color, retraso, Inicio de segmento, extremo del segmento
chaseUpTheStar (de la tira. Color(25,0,0),30); color, retraso
chaseUpCenterStar (de la tira. Color(25,0,0),30); color, retraso
turnSegmentOn (de la tira. Color(0,25,0),10,0,159); color, retraso, Inicio de segmento, extremo del segmento
chaseUpTheStar (de la tira. Color(25,0,0),30); color, retraso
turnAllOff();
fillUpTheStar (de la tira. Color(25,0,0),30); color, retraso
fillUpCenterStar (de la tira. Color(0,25,0), 30); color, retraso
fillUpTheStar (de la tira. Color(0,25,0),30); color, retraso
fillUpCenterStar (de la tira. Color(25,0,0),30); color, retraso
fillUpTheStar (de la tira. Color(25,25,25),30); color, retraso
fillUpCenterStar (de la tira. Color(25,25,25),30); color, retraso
turnAllOff();
dither(Strip. Color(0,25,25), 10); color, retraso - al azar se llena la franja
fadeDown(0,25,25,20); rojo, delay azul, verde, - se descolora abajo un color de los píxeles
turnAllOff();
Scanner(25,0,0,10); rojo, retraso azul, verde,
turnAllOff();
onda (de la tira. Color(25,0,0),5,0,200); color, ciclos, retardo, repeticiones
fadeDown(25,0,0,20); rojo, delay azul, verde, - se descolora abajo un color de los píxeles
onda (de la tira. Color(0,25,0),5,0,200); color, ciclos, retardo, repeticiones
turnAllOff();
randomSparkleUpStrip (de la tira. Color(25,25,25),15,10); color, densidad, esperar
turnAllOn (de la tira. Color(25,25,25),500);
fadeDown(25,25,25,20); rojo, delay azul, verde, - se descolora abajo un color de los píxeles
randomSparkleUpStrip (de la tira. Color(20,20,25),15,10);
turnAllOn (de la tira. Color(20,20,25),500);
fadeDown(20,20,25,20); rojo, delay azul, verde, - se descolora abajo un color de los píxeles
randomSparkleUpStrip (de la tira. Color(25,50,25),15,10);
turnAllOn (de la tira. Color(25,50,25),500);
fadeDown(25,50,25,20); rojo, delay azul, verde, - se descolora abajo un color de los píxeles
randomSparkleUpStrip (de la tira. Color(20,25,39),15,10);
turnAllOn (de la tira. Color(20,127,39),500);
fadeDown(20,25,39,20); rojo, delay azul, verde, - se descolora abajo un color de los píxeles
randomSparkleUpStrip (de la tira. Color(10,10,25),15,10);
turnAllOn (de la tira. Color(10,10,25),500);
fadeDown(10,10,25,20); rojo, delay azul, verde, - se descolora abajo un color de los píxeles
turnAllOn (de la tira. Color(0,25,0),400);
chaseBetweenLToH (de la tira. Color(25,0,0),20,0,100); color, retraso, bajo, alto - chase conducido entre dos ubicaciones que están avanzando en la cadena de
chaseBetweenHToL (de la tira. Color(25,0,0),20,103,152); color, retraso, bajo, alto - chase conducido entre dos localidades progresa hacia abajo de la cadena
verde a roja de la onda
onda (de la tira. Color(0,25,0),5,0,100); color, ciclos, retardo, repeticiones
onda (de la tira. Color(20,25,0),10,0,50); color, ciclos, retardo, repeticiones
onda (de la tira. Color(40,25,0),15,0,50); color, ciclos, retardo, repeticiones
onda (de la tira. Color(80,25,0),20,0,50); color, ciclos, retardo, repeticiones
onda (de la tira. Color(25,25,0),25,0,50); color, ciclos, retardo, repeticiones
onda (de la tira. Color(25,80,0),35,0,50); color, ciclos, retardo, repeticiones
onda (de la tira. Color(25,40,0),35,0,50); color, ciclos, retardo, repeticiones
onda (de la tira. Color(25,20,0),35,0,50); color, ciclos, retardo, repeticiones
onda (de la tira. Color(25,0,0),35,0,100); color, ciclos, retardo, repeticiones
onda (de la tira. Color(25,0,0),35,0,50); color, ciclos, retardo, repeticiones
turnAllOff();
onda (de la tira. Color(0,25,0),35,0,100); color, ciclos, retardo, repeticiones
onda (de la tira. Color(20,107,0),35,0,50); color, ciclos, retardo, repeticiones
onda (de la tira. Color(40,87,0),35,0,50); color, ciclos, retardo, repeticiones
onda (de la tira. Color(80,47,0),30,0,50); color, ciclos, retardo, repeticiones
onda (de la tira. Color(107,27,0),20,0,100); color, ciclos, retardo, repeticiones
onda (de la tira. Color(25,0,0),5,0,200); color, ciclos, retardo, repeticiones
int j;
para (j = 1; j < = 15; j ++) {}
turnSegmentOn (de la tira. Color (0,0,25), 0, 60, 100); //red 1 en - color, retraso, Inicio de segmento, extremo del segmento
turnSegmentOn (de la tira. Color (25,0,0), 0, 147, 152); azul 1 en - color, retraso, Inicio de segmento, extremo del segmento
turnSegmentOn (de la tira. Color (25,0,0), 200, 103, 109); azul 1 en - color, retraso, Inicio de segmento, extremo del segmento
turnSegmentOn (de la tira. Color (25,25,0), 0, 44, 59); rojo 4 off - color, retraso, Inicio de segmento, extremo del segmento
turnSegmentOn (de la tira. Color (0,25,0), 0, 110, 121); azul 4 - color, retraso, Inicio de segmento, extremo del segmento
turnSegmentOn (de la tira. Color (0,0,25), 0, 0, 15); rojo 2 - color, retraso, Inicio de segmento, extremo del segmento
turnSegmentOn (de la tira. Color (25,0,0), 200, 135, 146); azul 2 - color, retraso, Inicio de segmento, extremo del segmento
turnSegmentOn (de la tira. Color (25,25,0), 0, 60, 100); rojo 1 off - color, retraso, Inicio de segmento, extremo del segmento
turnSegmentOn (de la tira. Color (0,25,0), 0, 147, 152); azul 1 off - color, retraso, Inicio de segmento, extremo del segmento
turnSegmentOn (de la tira. Color (0,25,0), 0, 103, 109); azul 1 off - color, retraso, Inicio de segmento, extremo del segmento
turnSegmentOn (de la tira. Color (0,0,25), 0, 16, 43); rojo 3 - color, retraso, Inicio de segmento, extremo del segmento
turnSegmentOn (de la tira. Color (25,0,0), 200, 122, 134); azul 3 - color, retraso, Inicio de segmento, extremo del segmento
turnSegmentOn (de la tira. Color (25,25,0), 0, 0, 15); rojo 2 off - color, retraso, Inicio de segmento, extremo del segmento
turnSegmentOn (de la tira. Color (0,25,0), 0, 135, 146); azul 2 off - color, retraso, Inicio de segmento, extremo del segmento
turnSegmentOn (de la tira. Color (0,0,25), 0, 44, 59); rojo 4 - color, retraso, Inicio de segmento, extremo del segmento
turnSegmentOn (de la tira. Color (25,0,0), 200, 110, 121); azul 4 - color, retraso, Inicio de segmento, extremo del segmento
turnSegmentOn (de la tira. Color (25,25,0), 0, 16, 43); rojo 3 off - color, retraso, Inicio de segmento, extremo del segmento
turnSegmentOn (de la tira. Color (0,25,0), 0, 122, 134); azul 3 off - color, retraso, Inicio de segmento, extremo del segmento
}
chaseMultipleLinesLToH(10,10,0,152); número de leds en línea, retraso, bajo, alto - perseguir múltiples líneas avanza en la cadena de
}
Un "tramado ordenado" llena cada píxel en una secuencia que se ve
brillante y casi al azar, pero realmente sigue un orden específico.
{} void tramado (uint32_t c, uint8_t espera)
Determinar mayor bits necesarios para representar el índice de pixel
hibitos int = 0;
int n = strip.numPixels() - 1;
para (bit int = 1; bit < 0x8000; bit << = 1) {}
Si hibitos (n y poco) = poco;
}
int, bit, inversa;
para (int i = 0; i < (hibitos << 1); i ++) {}
Invertir los bits en el que crear pedido dither:
reverso = 0;
para (bit = 1; bit < = hibitos; bit << = 1) {}
inversa << = 1;
Si invierte (i & bit) | = 1;
}
strip.setPixelColor inversa, c;
Strip.Show();
Delay(Wait);
}
Delay(250); Tienen imagen para 1/4 seg
}
"Larson scanner" = Cylon/KITT que despide luz efecto
void scanner (uint8_t r, uint8_t g, uint8_t b, uint8_t espera) {}
int i, j, pos, dir;
pos = 0;
DIR = 1;
para (i = 0; i < ((strip.numPixels()-1) * 8); i ++) {}
Recortará sorteo 5 píxeles centrados en setPixelColor() pos.
los píxeles de los extremos de la tira, no se preocupe hay.
vamos a hacer los colores regulador de intensidad en los bordes de un buen pulso
Ver
strip.setPixelColor (pos - 2, la tira. Color(r/4, g/4, b/4));
strip.setPixelColor (pos - 1, tira. Color(r/2, g/2, b/2));
strip.setPixelColor (pos, tira. Color (r, g, b));
strip.setPixelColor (pos + 1, de la tira. Color(r/2, g/2, b/2));
strip.setPixelColor (pos + 2, de la tira. Color(r/4, g/4, b/4));
Strip.Show();
Delay(Wait);
Si queríamos ser astuto podríamos borrar sólo el extremo de la cola
pixel, pero 's mucho más fácil simplemente borrar todo
y dibujar un nuevo una próxima vez.
para (j =-2; j < = 2; j ++)
strip.setPixelColor (pos + j, tira. Color(0,0,0));
Rebotan en los extremos de la tira
pos += dir;
Si (pos < 0) {}
POS = 1;
DIR = - dir;
} else if (pos > = {strip.numPixels())}
pos = strip.numPixels() - 2;
DIR = - dir;
}
}
}
Efecto de la onda de seno
#define PI 3,14159265
onda vacío (uint32_t c, int ciclos, uint8_t espera, int repeticiones) {}
Float y;
byte r, g, b, r2, g2 y b2;
Necesario descomponer el color en sus elementos de b, g, r
g = (c >> 16) & 0x7f;
r = (c >> 8) & 0x7f;
b = c & 0x7f;
para (int x = 0; x {
para (int i = 0; i y = pecado (PI * (float) ciclos * (flotador)(x + i) / (float)strip.numPixels());
y = 1.0 - y; Traducir Y a 0.0 (superior) a 1.0 (centro)
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 espera)
int i, j;
strip.setPixelColor (80, c);
Delay(Wait);
strip.setPixelColor (80, de la tira. Color(0,0,0));
para (i = 1; i < = 20; i ++) {}
strip.setPixelColor (80 + i, c);
strip.setPixelColor (80-i, c);
Strip.Show(); escribir todos los píxeles
Delay(Wait);
strip.setPixelColor (80 + i, tira. Color(0,0,0));
strip.setPixelColor (80-i, de la tira. Color(0,0,0));
Strip.Show(); escribir todos los píxeles
}
para (j = 0; j < = 29; j ++) {}
strip.setPixelColor (j, c);
strip.setPixelColor (59-j, c);
Strip.Show(); escribir todos los píxeles
Delay(Wait);
strip.setPixelColor (j, tira. Color(0,0,0));
strip.setPixelColor (59-j, de la tira. Color(0,0,0));
Strip.Show(); escribir todos los píxeles
}
}
{} void chaseUpCenterStar (uint32_t c, uint8_t espera)
int i, j;
para (i = 1; i < = 6; i ++) {}
strip.setPixelColor (146 + i, c);
strip.setPixelColor (147-i, c);
Strip.Show(); escribir todos los píxeles
Delay(Wait);
strip.setPixelColor (146 + i, tira. Color(0,0,0));
strip.setPixelColor (147-i, de la tira. Color(0,0,0));
Strip.Show(); escribir todos los píxeles
}
para (j = 0; j < = 18; j ++) {}
strip.setPixelColor (103 + j, c);
strip.setPixelColor (140-j, c);
Strip.Show(); escribir todos los píxeles
Delay(Wait);
strip.setPixelColor (103 + j, tira. Color(0,0,0));
strip.setPixelColor (140-j, de la tira. Color(0,0,0));
Strip.Show(); escribir todos los píxeles
}
}
{} void fillUpTheStar (uint32_t c, uint8_t espera)
int i, j;
strip.setPixelColor (80, c);
Delay(Wait);
para (i = 1; i < = 20; i ++) {}
strip.setPixelColor (80 + i, c);
strip.setPixelColor (80-i, c);
Strip.Show(); escribir todos los píxeles
Delay(Wait);
}
para (j = 0; j < = 29; j ++) {}
strip.setPixelColor (j, c);
strip.setPixelColor (59-j, c);
Strip.Show(); escribir todos los píxeles
Delay(Wait);
}
}
{} void fillUpCenterStar (uint32_t c, uint8_t espera)
int i, j;
para (i = 1; i < = 6; i ++) {}
strip.setPixelColor (146 + i, c);
strip.setPixelColor (147-i, c);
Strip.Show(); escribir todos los píxeles
Delay(Wait);
}
para (j = 0; j < = 18; j ++) {}
strip.setPixelColor (103 + j, c);
strip.setPixelColor (140-j, c);
Strip.Show(); escribir todos los píxeles
Delay(Wait);
}
}
void chaseBetweenLToH (uint32_t c uint8_t espera, uint8_t pointL, uint8_t pointH) {}
int i;
para (i = pointL; i < = pointH; i ++) {}
strip.setPixelColor (i, c);
Strip.Show(); escribir todos los píxeles
Delay(Wait);
strip.setPixelColor (i, tira. Color(0,0,0));
Strip.Show(); escribir todos los píxeles
}
}
void chaseBetweenHToL (uint32_t c uint8_t espera, uint8_t pointL, uint8_t pointH) {}
int i;
para (i = pointH; i > = pointL; i--) {}
strip.setPixelColor (i, c);
Strip.Show(); escribir todos los píxeles
Delay(Wait);
strip.setPixelColor (i, tira. Color(0,0,0));
Strip.Show(); escribir todos los píxeles
}
}
void chaseLineLToH (uint32_t c uint8_t lineNumber, uint8_t espera, uint8_t pointL, uint8_t pointH) {}
int i, j;
para (i = pointL; i < pointH + lineNumber; i ++) {}
para (j = 0; j < lineNumber; j ++) {}
strip.setPixelColor (i-j, c);
}
Strip.Show(); escribir todos los píxeles
Delay(Wait);
turnAllOff();
}
}
void chaseLineHToL (uint32_t c uint8_t lineNumber, uint8_t espera, uint8_t pointL, uint8_t pointH) {}
int i, j;
para (i = pointH; i > pointL; i--) {}
para (j = 0; j strip.setPixelColor (i + j, c);
}
Strip.Show(); escribir todos los píxeles
Delay(Wait);
turnAllOff();
}
}
void chaseToCenter (uint32_t c uint8_t lineNumber, uint8_t espera, uint8_t pointL, uint8_t pointH) {}
int i, j, k;
i = pointL;
k = pointH;
mientras (i < k & & k > i) {}
para (j = 0; j < lineNumber; j ++) {}
strip.setPixelColor (i-j, c);
strip.setPixelColor (k + j, c);
}
Strip.Show(); escribir todos los píxeles
Delay(Wait);
i ++;
k--;
turnAllOff();
}
}
void chasePastCenter (uint32_t c uint8_t lineNumber, uint8_t espera, uint8_t pointL, uint8_t pointH) {}
int i, j, k;
i = pointL;
k = pointH;
mientras (i < pointH & & k > pointL) {}
para (j = 0; j < lineNumber; j ++) {}
strip.setPixelColor (i-j, c);
strip.setPixelColor (k + j, c);
}
Strip.Show(); escribir todos los píxeles
Delay(Wait);
i ++;
k--;
turnAllOff();
}
}
void turnAllOn (uint32_t c, espera de uint32_t) {}
int i;
para (i = 0; i < strip.numPixels(); i ++) {}
strip.setPixelColor (i, c); Encienda todos los píxeles
}
Strip.Show(); escribir todos los píxeles
Delay(Wait);
}
void turnSegmentOn (uint32_t c uint32_t espera, uint8_t startofseg, uint8_t endofseg) {}
int i;
para (i = startofseg; i < = endofseg; i ++) {}
strip.setPixelColor (i, c); Encienda todos los píxeles
}
Strip.Show(); escribir todos los píxeles
Delay(Wait);
}
void fadeUpSeg (uint32_t r uint32_t g, b de uint32_t, uint32_t espera, uint8_t startofseg, uint8_t endofseg) {}
int i, j;
para (j = 0; j < = 100; j ++) {}
para (i = startofseg; i < = endofseg; i ++) {}
strip.setPixelColor (i, tira. Color((r*j)/100,(g*j)/100,(b*j)/100));
}
Strip.Show();
}
Delay(Wait);
}
void fadeDownSeg (uint32_t r uint32_t g, b de uint32_t, uint32_t espera, uint8_t startofseg, uint8_t endofseg) {}
int i, j;
para (j = 100; j > = 0; j--) {}
para (i = startofseg; i < = endofseg; i ++) {}
strip.setPixelColor (i, tira. Color((r*j)/100,(g*j)/100,(b*j)/100)); Encienda todos los píxeles
}
Strip.Show();
}
Delay(Wait);
}
{} void fadeUp (uint32_t r, uint32_t g, b uint32_t, espera de uint32_t)
int i, j;
para (j = 0; j < = 100; j ++) {}
para (i = 0; i < strip.numPixels(); i ++) {}
strip.setPixelColor (i, tira. Color((r*j)/100,(g*j)/100,(b*j)/100));
}
Strip.Show();
}
Delay(Wait);
}
void fadeDown (uint32_t r, uint32_t g, b uint32_t, espera de uint32_t) {}
int i, j;
para (j = 100; j > = 0; j--) {}
para (i = 0; i < strip.numPixels(); i ++) {}
strip.setPixelColor (i, tira. Color((r*j)/100,(g*j)/100,(b*j)/100)); Encienda todos los píxeles
}
Strip.Show();
}
Delay(Wait);
}
void chaseMultipleLinesLToH (uint8_t lineNumber uint8_t espera, uint8_t pointL, uint8_t pointH) {}
int i, j;
para (i = pointL; i < = pointH; i ++) {}
para (j = 0; j < lineNumber; j ++) {}
strip.setPixelColor (i, tira. Color(0,0,127));
strip.setPixelColor(i+j+(2*lineNumber), tira. Color(25,0,0));
strip.setPixelColor(i+j+(3*lineNumber), tira. Color(0,25,0));
strip.setPixelColor(i+j+(4*lineNumber), tira. Color(25,25,0));
strip.setPixelColor(i+j+(5*lineNumber), tira. Color(0,25,25));
strip.setPixelColor(i+j+(6*lineNumber), tira. Color(25,0,25));
strip.setPixelColor(i+j+(7*lineNumber), tira. Color(0,0,25));
strip.setPixelColor(i+j+(8*lineNumber), tira. Color(25,0,0));
strip.setPixelColor(i+j+(9*lineNumber), tira. Color(0,0,0));
}
Strip.Show(); escribir todos los píxeles
Delay(Wait);
}
}
void turnAllOff() {}
int i;
para (i = 0; i < strip.numPixels(); i ++) {}
strip.setPixelColor (i, 0); Apague todos los píxeles
}
Strip.Show(); escribir todos los píxeles
}
void randomSparkleUpSegment (uint32_t c densidad de uint32_t uint8_t espera, uint8_t pointL, uint8_t pointH) {}
int i, j, ubicación;
para (j = pointL; j < = pointH; j ++) {}
para (i = 0; i < = densidad; i ++) {}
Ubicación = random(pointL,j);
strip.setPixelColor (ubicación, c);
}
Strip.Show(); escribir todos los píxeles
Delay(Wait);
turnAllOff();
Strip.Show(); escribir todos los píxeles
}
}
{} void randomSparkleUpStrip (uint32_t c, densidad de uint32_t, uint8_t espera)
int i, j, ubicación;
para (j = densidad; j para (i = 0; i < = densidad; i ++) {}
Ubicación = random(0,j);
strip.setPixelColor (ubicación, c);
}
Strip.Show(); escribir todos los píxeles
Delay(Wait);
turnAllOff();
Strip.Show(); escribir todos los píxeles
}
}
{} void randomSparkle (uint32_t c, densidad de uint32_t, uint8_t espera)
int i, j, ubicación;
para (j = 0; j < 200; j ++) {}
para (i = 0; i < = densidad; i ++) {}
Ubicación = random(0,strip.numPixels()); localización al azar en los 5 primeros de la tira
strip.setPixelColor (ubicación, c);
}
Strip.Show(); escribir todos los píxeles
Delay(Wait);
turnAllOff();
Strip.Show(); escribir todos los píxeles
}
}
void randomColorSparkle (uint8_t espera) {}
int i;
int location1, location2, location3, location4, location5;
int color1, color2, color3;
para (i = 0; i < 200; i ++) {}
location1 = random(0,32); localización al azar en los 5 primeros de la tira
location2 = random(33,64); localización al azar en 5 º 2 º de la tira
location3 = random(65,96); localización al azar en 5 º 3ª de la tira
location4 = random(97,128); localización al azar en 4 º 5ª de la tira de
location5 = random(129,159); Ubicación de Randon en últimos 5 de tira
color1 = random(25);
color2 = random(25);
color3 = random(25);
strip.setPixelColor (location1, tira. Color(color1,color2,0));
strip.setPixelColor (location2, tira. Color(color3,0,color1));
strip.setPixelColor (location3, tira. Color(0,color2,color3));
strip.setPixelColor (location4, tira. Color(color1,color2,0));
strip.setPixelColor (location5, tira. Color(color3,0,color1));
Strip.Show(); escribir todos los píxeles
Delay(Wait);
strip.setPixelColor (location1, tira. Color(0,0,0));
strip.setPixelColor (location2, tira. Color(0,0,0));
strip.setPixelColor (location3, tira. Color(0,0,0));
strip.setPixelColor (location4, tira. Color(0,0,0));
strip.setPixelColor (location5, tira. Color(0,0,0));
Strip.Show(); escribir todos los píxeles
}
}
{} void twoColorSparkle (uint32_t c1, c2 de uint32_t, densidad de uint32_t, uint8_t espera)
int i, j, location1, location2;
para (j = 0; j < 200; j ++) {}
para (i = 0; i < = densidad; i ++) {}
location1 = random(0,strip.numPixels()); Ubicación aleatoria del número 1
location2 = random(0,strip.numPixels()); Ubicación aleatoria del número 2
strip.setPixelColor (location1, c1);
strip.setPixelColor (location2, c2);
}
Strip.Show(); escribir todos los píxeles
Delay(Wait);
turnAllOff();
Strip.Show(); escribir todos los píxeles
}
}
{} void arco iris (uint8_t esperar)
int i, j;
para (j = 0; j < 384; j ++) {/ / 3 ciclos de todos los 384 colores en la rueda
para (i = 0; i < strip.numPixels(); i ++) {}
strip.setPixelColor (i, rueda ((i + j) % 384));
}
Strip.Show(); escribir todos los píxeles
Delay(Wait);
}
}
Ligeramente diferente, esta se hace la rueda del arco iris igualmente distribuida
a lo largo de la cadena
void rainbowCycle (uint8_t espera) {}
uint16_t i, j;
para (j = 0; j < 384 * 5; j ++) {/ / 5 ciclos de todos los 384 colores en la rueda
para (i = 0; i < strip.numPixels(); i ++) {}
matemáticas complicadas! utilizamos cada píxel como una fracción de la rueda completa 384-color
(que es la i / strip.numPixels() parte)
Luego añadir en j que hace que recorrer los colores por píxel
el % 384 es hacer la rueda de ciclo de alrededor de
strip.setPixelColor (i, rueda (((i * 384/strip.numPixels()) + j) % 384));
}
Strip.Show(); escribir todos los píxeles
Delay(Wait);
}
}
rellenar los puntos uno tras otro con dicho color
bueno para propósitos de prueba
{} void colorWipe (uint32_t c, uint8_t espera)
int i;
para (i = 0; i < strip.numPixels(); i ++) {}
strip.setPixelColor (i, c);
Strip.Show();
Delay(Wait);
}
}
Perseguir un punto abajo de la tira
bueno para propósitos de prueba
{} void colorChase (uint32_t c, uint8_t espera)
int i;
para (i = 0; i < strip.numPixels(); i ++) {}
strip.setPixelColor (i, 0); Apague todos los píxeles
}
para (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);
}
}
/ * Funciones auxiliares * /
Un valor 0 a 384 para obtener un valor de color de entrada.
Los colores son una transición r - g -b - a r
Rueda de uint32_t (uint16_t WheelPos)
{
byte r, g, b;
Switch(WheelPos / 128)
{
caso 0:
r = 25 - WheelPos % 128; Rojo hacia abajo
g = WheelPos % 128; Verde para arriba
b = 0; azul apagado
rotura;
caso 1:
g = 25 - WheelPos % 128; abajo verde
b = WheelPos % 128; arriba azul
r = 0; rojo apagado
rotura;
caso 2:
b = 25 - WheelPos % 128; abajo azul
r = WheelPos % 128; arriba rojo
g = 0; verde apagado
rotura;
}
retorno (de la tira. Color(r,g,b));
}