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 ???