JUHHHUUUUUUU
ich habs
Sieht prima aus
jetzt noch das andere Gebäude und fertig
#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 = 30000, WARTEZEITMAX = 120000;
// Min und Max fuer Randomzeit des Flackern
const uint32_t FLACKERMIN = 150, FLACKERMAX = 220;
// 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::Yellow;
leds1[1] = CRGB::Orange;
FastLED.show();
delay (FLACKERZEIT1);
FLACKERZEIT1 = random(FLACKERMIN, FLACKERMAX);
leds1[0] = CRGB::Orange;
leds1[1] = CRGB::Yellow;
FastLED.show();
delay (FLACKERZEIT1);
FLACKERZEIT1 = random(FLACKERMIN, FLACKERMAX);
leds1[0] = CRGB::Yellow;
leds1[1] = CRGB::Orange;
FastLED.show();
delay (FLACKERZEIT1);
FLACKERZEIT1 = random(FLACKERMIN, FLACKERMAX);
leds1[0] = CRGB::Orange;
leds1[1] = CRGB::Yellow;
FastLED.show();
delay (FLACKERZEIT1);
}
// wenn Flag 1 ist werden die LEDs ausgemacht
else if (flag1 == 1)
{
leds1[0] = CRGB::Black;
leds1[1] = CRGB::Black;
FastLED.show();
}
}