So ist es noch einfacher, dann erhältst Du auch Hilfe von den Smart-Nutzern:
#include <Adafruit_NeoPixel.h>
Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, 6, NEO_RGB + NEO_KHZ800);
long f00 = strip.Color(0, 0, 0); long f01 = strip.Color (255, 0, 0); long f02 = strip.Color(218, 37, 0); long f03 = strip.Color (187, 68, 0); long f04 = strip.Color(157, 98, 0);
long f05 = strip.Color(128, 128, 0); long f06 = strip.Color(98, 156, 0); long f07 = strip.Color(0, 255, 0); long f08 = strip.Color(0, 197, 56); long f09 = strip.Color(0, 58, 196);
long f10 = strip.Color(38, 29, 196); long f11 = strip.Color(72, 0, 183); long f12 = strip.Color(96, 0, 159); long f13 = strip.Color(120, 0, 135); long fw0 = strip.Color(255, 255, 255);
int zw1 = 0; int zw2 = 0; int zw3 = 0; int zw4 = 0;
long farbe01 = 0; long farbe02 = 0;
long regen [7][13] = {
{f00, f00, f00, f00, f00, f00, f07 , f00, f00, f00, f00, f00, f00},
{f00, f00, f00, f00, f00, f01, f07 , f13, f00, f00, f00, f00, f00},
{f00, f00, f00, f00, f01, f02, f07 , f12, f13, f00, f00, f00, f00},
{f00, f00, f00, f01, f02, f03, f07 , f11, f12, f13, f00, f00, f00},
{f00, f00, f01, f02, f03, f04, f07 , f10, f11, f12, f13, f00, f00},
{f00, f01, f02, f03, f04, f05, f07 , f09, f10, f11, f12, f13, f00},
{f01, f02, f03, f04, f05, f06, f07 , f08, f09, f10, f11, f12, f13}
};
void setup() {
strip.begin();
strip.show(); // Initialize all pixels to 'off'
//strip.setBrightness(125); strip.show();
}
void loop() {
delay(2000);
zwei_farben (); verschieben_l ();delay(1000); regenbogen2 (); verschieben_l (); loeschen (); delay(1000); punkt (); regen_auf ();
regen_zu () ; punkt_zu (); regen_auf (); verschieben_l (); regen_nach_r (); loeschen (); delay(1000);
drei_punkte (); verschieben_l (); loeschen (); delay(1000);
}
//-------------------------------------------------------------
void regenbogen2 () {
zw1 = 0; zw3 = 0;
do {
zw2 = 0; zw4 = 0;
do {
strip.setPixelColor (zw1, regen [6][zw2]);//strip.show();
zw1++; zw2++; zw4++;
} while (zw4 != 13);
//strip.show();
zw1 = zw1 + 11; zw3++;
} while (zw3 != 3);
zw1 = 13; zw3 = 0;
do {
zw2 = 11; zw4 = 0;
do {
strip.setPixelColor (zw1, regen [6][zw2]);//strip.show();
zw1++; zw2--; zw4++;
} while (zw4 != 11);
//strip.show();
zw1 = zw1 + 13; zw3++; delay(1000);
} while (zw3 != 2);
strip.show();
delay(1000);
}
//--------------------------------------------------------------
void drei_punkte () {
zw3 = 0;
do {
zw1 = 4; zw2 = 0;
do {
strip.setPixelColor (zw1, zw3, 0, 0); strip.setPixelColor (zw1 + 1, 0, zw3, 0); strip.setPixelColor (zw1 + 2, 0, 0, zw3);
zw1 = zw1 + 10; zw2++;
} while (zw2 != 6);
strip.show(); zw3++; delay(10);
} while (zw3 != 255);
}
//-------------------------------------------------------------
void zwei_farben () {
zw4 = 0;
do {
zw1 = 0; zw2 = 59; zw3 = 05;
do {
strip.setPixelColor (zw1, zw3, 0, 0); strip.setPixelColor (zw2, 0, zw3, 0); strip.show(); delay(200);
zw1++; zw2--; zw3 = zw3 + 4;
} while (zw1 != 60);
zw4++;
} while (zw4 != 2);
}
//------------------------------------------------------------
void loeschen () {
zw1 = 0;
do {
strip.setPixelColor (zw1, f00); zw1++;
} while (zw1 != 60);
}
//------------------------------------------------------------
void regen_nach_r () {
zw1 = 0;
do {
zw2 = 0;
do {
strip.setPixelColor (zw2, regen [6][zw1]); zw2++; strip.show(); delay(20);
} while (zw2 != 60);
delay(1000);
zw1++;
} while ( zw1 != 13);
}
//------------------------------------------------------------
void verschieben_l() {
farbe01 = strip.getPixelColor(59); delay(1000);
zw2 = 60;
do {
zw1 = 58;
farbe01 = strip.getPixelColor(59);
do {
farbe02 = strip.getPixelColor(zw1);
strip.setPixelColor (zw1 + 1, farbe02);
zw1--;
strip.show();
} while (zw1 != -1);
strip.setPixelColor (0, farbe01);
strip.show(); delay(100);
zw2--;
} while (zw2 != 0);
delay(1000);
zw1 = 0;
do {
strip.setPixelColor (zw1, f00);
zw1++;
}
while (zw1 != 60);
}
//-----------------------------------------------------------
void punkt () {
zw1 = 0;
do {
strip.setPixelColor (7, zw1, zw1, zw1); strip.setPixelColor (22, zw1, zw1, zw1);
strip.setPixelColor (37, zw1, zw1, zw1); strip.setPixelColor (52, zw1, zw1, zw1);
strip.show(); delay(20);
zw1++;
}
while (zw1 != 255);
}
//-----------------------------------------------------------
void regen_auf () {
zw2 = 0;
do {
zw1 = 0;
do {
strip.setPixelColor (zw1 + 1, regen [zw2][zw1]); strip.setPixelColor (zw1 + 16, regen [zw2][zw1]);
strip.setPixelColor (zw1 + 31, regen [zw2][zw1]); strip.setPixelColor (zw1 + 46, regen [zw2][zw1]);
strip.show();
zw1++;
} while (zw1 != 13);
zw2++; delay(500);
} while (zw2 != 7);
delay(1000);
}
//---------------------------------------------------------
void regen_zu () {
zw2 = 7;
do {
zw1 = 0;
do {
strip.setPixelColor (zw1 + 1, regen [zw2 - 1][zw1]); strip.setPixelColor (zw1 + 16, regen [zw2 - 1][zw1]);
strip.setPixelColor (zw1 + 31, regen [zw2 - 1][zw1]); strip.setPixelColor (zw1 + 46, regen [zw2 - 1][zw1]);
strip.show();
zw1++;
} while (zw1 != 13);
zw2--; delay(500);
} while (zw2 != 0);
delay(1000);
}
//----------------------------------------------------------
void punkt_zu () {
zw1 = 255;
do {
strip.setPixelColor (7, zw1, zw1, zw1); strip.setPixelColor (22, zw1, zw1, zw1);
strip.setPixelColor (37, zw1, zw1, zw1); strip.setPixelColor (52, zw1, zw1, zw1);
strip.show(); delay(10);
zw1--;
}
while (zw1 != -1); delay(1000);
}
Sorry Tommy, da waren wir parallel aktiv 