Hi, bin gerade dabei an 4 Strips zu jeweils 24 Led´s, unabhängig von den Anderen Strips Animationen Durchzuschicken, an einem Funktioniert das wunderbar, aber hab leider keine Idee wie ich andere Animationen an die Anderen Strips aktiviere
Die Beispiele sind von https://www.tweaking4all.com/hardware/arduino/adruino-led-strip-effects/
vielleicht kann mir da jemmand weiterhelfen
#include "FastLED.h"
#include <EEPROM.h>
#define NUM_LEDS 24
CRGB leds1[NUM_LEDS];
CRGB leds2[NUM_LEDS];
CRGB leds3[NUM_LEDS];
CRGB leds4[NUM_LEDS];
#define PIN1 14
#define PIN2 15
#define PIN3 16
#define PIN4 17
const int addr = 0;
void setup()
{
FastLED.addLeds<WS2812, PIN1, GRB>(leds1, NUM_LEDS).setCorrection( TypicalLEDStrip );
FastLED.addLeds<WS2812, PIN2, GRB>(leds2, NUM_LEDS).setCorrection( TypicalLEDStrip );
FastLED.addLeds<WS2812, PIN3, GRB>(leds3, NUM_LEDS).setCorrection( TypicalLEDStrip );
FastLED.addLeds<WS2812, PIN4, GRB>(leds4, NUM_LEDS).setCorrection( TypicalLEDStrip );
Serial.begin(9600);
}
void serialEvent()
{
char effekt = Serial.read();
if (isalpha(effekt)) EEPROM[addr] = effekt;
}
void loop() {
switch ((char)EEPROM[addr]) {
case 'a' : {
FadeInOut(255, 0, 0);
break;
}
case 'b' : {
Sparkle(255, 255, 255, 10);
break;
}
}
}
void FadeInOut(byte red, byte green, byte blue) {
float r, g, b;
for (int k = 100; k < 256; k = k + 1) {
r = (k / 256.0) * red;
g = (k / 256.0) * green;
b = (k / 256.0) * blue;
setAll(r, g, b);
showStrip();
}
for (int k = 256; k >= 100; k = k - 0.01) {
r = (k / 256.0) * red;
g = (k / 256.0) * green;
b = (k / 256.0) * blue;
setAll(r, g, b);
showStrip();
}
}
void Sparkle(byte red, byte green, byte blue, int SpeedDelay) {
int Pixel = random(NUM_LEDS);
setPixel(Pixel, red, green, blue);
showStrip();
delay(SpeedDelay);
setPixel(Pixel, 0, 0, 0);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////
void showStrip() {
#ifdef ADAFRUIT_NEOPIXEL_H
// NeoPixel
strip.show();
#endif
#ifndef ADAFRUIT_NEOPIXEL_H
// FastLED
FastLED.show();
#endif
}
void setPixel(int Pixel, byte red, byte green, byte blue) {
#ifdef ADAFRUIT_NEOPIXEL_H
// NeoPixel
strip.setPixelColor(Pixel, strip.Color(red, green, blue));
#endif
#ifndef ADAFRUIT_NEOPIXEL_H
// FastLED
leds1[Pixel].r = red;
leds1[Pixel].g = green;
leds1[Pixel].b = blue;
#endif
}
void setAll(byte red, byte green, byte blue) {
for (int i = 0; i < NUM_LEDS; i++ ) {
setPixel(i, red, green, blue);
}
showStrip();
}


