Projekt Krippenbeleuchtung

So jetzt hab ich mich ein paar Stunden mit dem umprogramieren versucht

Es klappt soweit

Nur in dem Bereich wo die LED's die Farben wechseln sollen (Blinkeffekt) hackt es.
(rot markiert--------- ähhhh klappt nicht) nach meiner Meinung müsste er die Farben wechseln
bleibt aber auf der ersten Farbkombination

Anmerkung : Die Zeiten sind noch nicht richtig eingestellt um die Ergebnisse besser zu sehen. Die Farben rot und blau sollen den effekt besser zeigen...sie werden auch angepasst. Zur Zeit ist das nur für Block1 (linkes Gebäude) wenn der Sauber läuft dann verdoppel ich den

#include "FastLED.h"
#define NUM_LEDS 2
#define DATA_PIN1    2
#define DATA_PIN2    3
#define LED_TYPE    WS2812B
#define COLOR_ORDER GRB
#define BRIGHTNESS  50

CRGB leds1[NUM_LEDS];
CRGB leds2[NUM_LEDS];

// Min und Max fuer Wartezeit wann Block 1 oder 2 angeht
const uint32_t WARTEZEITMIN = 3000, WARTEZEITMAX = 12000;

// Min und Max fuer Randomzeit des Flackern
const uint32_t FLACKERMIN = 1200, FLACKERMAX = 2500;

// Konst für Wartezeiten und Flackerzeiten für Block 1 und 2
uint32_t alt1Millis, alt2Millis, wartezeit1, wartezeit2, FLACKERZEIT1, FLACKERZEIT2;

// keinen Dunst zur Zeit
bool updateLeds;

// Flags fur an und aus 1=an/flackern 2 fuer aus
uint8_t flag1, flag2;

//Deklartionen
void setup() {
  FastLED.addLeds<LED_TYPE, DATA_PIN1, COLOR_ORDER>(leds1, NUM_LEDS).setCorrection(TypicalLEDStrip); // initializes LED strip
  FastLED.addLeds<LED_TYPE, DATA_PIN2, COLOR_ORDER>(leds2, NUM_LEDS).setCorrection(TypicalLEDStrip); // initializes LED strip
  FastLED.setBrightness(BRIGHTNESS);// global brightness
  FastLED.show();
  randomSeed(analogRead(A3));  // Eingang A3 als Elektronenfänger, da darf nicht angeschlossen sein!
  Serial.begin(9600);
  Serial.print("flag1 Start: ");Serial.println(flag1);
}

// Loop Programm
void loop() 
{
//  Serial.print("Wartezeit: ");Serial.println(wartezeit1);
//  Serial.print("Alt1Millis: ");Serial.println(alt1Millis);

//  BLOCK 1
//
// hier wird erechnet wann umgeschaltet wird bzw das Flag hochgesetzt wird    
    if (millis() - alt1Millis >= wartezeit1) 
      {
      alt1Millis = millis();
      wartezeit1 = random(WARTEZEITMIN, WARTEZEITMAX);
      flag1++;
      Serial.print("flag1 Zeit 1: ");Serial.println(flag1);
      }
      
//      Serial.print("flag1 If 1: ");Serial.println(flag1);

// wenn das flag zum umschalten größer als ist wird es wieder auf 0 gesetzt
      if (flag1 > 1) flag1 = 0;

// Wenn flag auf 0 ist werden die LED's angemacht      
        if (flag1 == 0) 
          {
          FLACKERZEIT1 = random(FLACKERMIN, FLACKERMAX);
          Serial.print("Flackerzeit 1: ");Serial.println(FLACKERZEIT1);
          
          
          leds1[0] = CRGB::Orange;
          leds1[1] = CRGB::Yellow;
          FastLED.show();

// Die Farben der LED's werden gewechselt und etwas gewartet
       
          delay (FLACKERZEIT1);
          
          leds1[0] = CRGB::Red;
          leds1[1] = CRGB::Blue;
          FastLED.show(); 
          } 

// wenn Flag 1 ist werden die LEDs ausgemacht          
        else if (flag1 == 1)
          {
          leds1[0] = CRGB::Black;
          leds1[1] = CRGB::Black;
          FastLED.show();
          }  
       }

PS: wer ist auf dei Idee mit der Post Wartezeit von 5 Min gekommen ???