#include <FastLED.h>
#define NUM_LEDS 55 // Egy LED-szalagon található LED-ek száma
#define DATA_PIN_1 6 // Az első LED-szalag adatbemenete
#define DATA_PIN_2 7 // A második LED-szalag adatbemenete
CRGB leds1[NUM_LEDS]; // Első LED-szalag tömbje
CRGB leds2[NUM_LEDS]; // Második LED-szalag tömbje
// Színek definiálása
const CRGB color1 = CRGB::Blue; // Kék
const CRGB color2 = CRGB::Red; // Piros
const CRGB color3 = CRGB::White; // Fehér
void setup() {
FastLED.addLeds<WS2812B, DATA_PIN_1, GRB>(leds1, NUM_LEDS); // Első szalag inicializálása
FastLED.addLeds<WS2812B, DATA_PIN_2, GRB>(leds2, NUM_LEDS); // Második szalag inicializálása
FastLED.setBrightness(255); // Maximális fényerő beállítása
}
void loop() {
alternatingFlash(); // Kék-piros váltakozás (5 másodperc)
strobeEffect(); // Stroboszkóp effektus (10 másodperc)
alternatingFlash2(); // Kék-piros váltakozás (5 másodperc)
strobeEffect2(); // Stroboszkóp effektus (10 másodperc)
strobeEffect3(); // Stroboszkóp effektus (10 másodperc)
}
// 1. Kék-piros váltakozás
void alternatingFlash() {
for (int i = 0; i < 3; i++) { // 3 imétlés
fill_solid(leds1, NUM_LEDS, color1); // Első szalag kék
fill_solid(leds2, NUM_LEDS, CRGB::Black); // Második szalag kikapcsolva
FastLED.show();
delay(150);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Mindkét szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, CRGB::Black);
FastLED.show();
delay(150);
fill_solid(leds1, NUM_LEDS, color1); // Első szalag kék
fill_solid(leds2, NUM_LEDS, CRGB::Black); // Második szalag kikapcsolva
FastLED.show();
delay(150);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Mindkét szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, CRGB::Black);
FastLED.show();
delay(150);
fill_solid(leds1, NUM_LEDS, color1); // Első szalag kék
fill_solid(leds2, NUM_LEDS, CRGB::Black); // Második szalag kikapcsolva
FastLED.show();
delay(150);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Mindkét szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, CRGB::Black);
FastLED.show();
delay(150);
fill_solid(leds1, NUM_LEDS, color1); // Első szalag kék
fill_solid(leds2, NUM_LEDS, CRGB::Black); // Második szalag kikapcsolva
FastLED.show();
delay(150);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Mindkét szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, CRGB::Black);
FastLED.show();
delay(150);
fill_solid(leds2, NUM_LEDS, color2); // Első szalag piros
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Második szalag kikapcsolva
FastLED.show();
delay(150);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Mindkét szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, CRGB::Black);
FastLED.show();
delay(150);
fill_solid(leds2, NUM_LEDS, color2); // Első szalag piros
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Második szalag kikapcsolva
FastLED.show();
delay(150);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Mindkét szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, CRGB::Black);
FastLED.show();
delay(150);
fill_solid(leds2, NUM_LEDS, color2); // Első szalag piros
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Második szalag kikapcsolva
FastLED.show();
delay(150);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Mindkét szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, CRGB::Black);
FastLED.show();
delay(150);
fill_solid(leds2, NUM_LEDS, color2); // Első szalag piros
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Második szalag kikapcsolva
FastLED.show();
delay(150);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Mindkét szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, CRGB::Black);
FastLED.show();
delay(150);
fill_solid(leds2, NUM_LEDS, color2); // Első szalag piros
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Második szalag kikapcsolva
FastLED.show();
delay(150);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Mindkét szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, CRGB::Black);
FastLED.show();
delay(150);
}
}
// 2. Stroboszkóp effektus (10 másodperc)
void strobeEffect() {
for (int i = 0; i < 40; i++) { // 40 ismétlés
fill_solid(leds1, NUM_LEDS, color1); // Első szalag kék
fill_solid(leds2, NUM_LEDS, color2); // Második szalag piros
FastLED.show();
delay(50);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Mindkét szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, CRGB::Black);
FastLED.show();
delay(50);
}
}
// 3. Kék-piros váltakozás (5 másodperc)
void alternatingFlash2() {
for (int
i
= 0; i < 3; i++) { // 3 imétlés
fill_solid(leds1, NUM_LEDS, color1); // Első szalag kék
fill_solid(leds2, NUM_LEDS, CRGB::Black); // Második szalag kikapcsolva
FastLED.show();
delay(50);
fill_solid(leds1, NUM_LEDS, color1); // Első szalag kék
fill_solid(leds2, NUM_LEDS, CRGB::Black); // Második szalag kikapcsolva
FastLED.show();
delay(50);
fill_solid(leds1, NUM_LEDS, color1); // Első szalag kék
fill_solid(leds2, NUM_LEDS, CRGB::Black); // Második szalag kikapcsolva
FastLED.show();
delay(50);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Mindkét szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, CRGB::Black);
FastLED.show();
delay(50);
fill_solid(leds1, NUM_LEDS, color1); // Első szalag kék
fill_solid(leds2, NUM_LEDS, CRGB::Black); // Második szalag kikapcsolva
FastLED.show();
delay(50);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Mindkét szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, CRGB::Black);
FastLED.show();
delay(50);
fill_solid(leds1, NUM_LEDS, color1); // Első szalag kék
fill_solid(leds2, NUM_LEDS, CRGB::Black); // Második szalag kikapcsolva
FastLED.show();
delay(50);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Mindkét szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, CRGB::Black);
FastLED.show();
delay(50);
fill_solid(leds1, NUM_LEDS, color1); // Első szalag kék
fill_solid(leds2, NUM_LEDS, CRGB::Black); // Második szalag kikapcsolva
FastLED.show();
delay(50);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Mindkét szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, CRGB::Black);
FastLED.show();
delay(50);
fill_solid(leds1, NUM_LEDS, color1); // Első szalag kék
fill_solid(leds2, NUM_LEDS, CRGB::Black); // Második szalag kikapcsolva
FastLED.show();
delay(50);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Mindkét szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, CRGB::Black);
FastLED.show();
delay(50);
fill_solid(leds1, NUM_LEDS, color1); // Első szalag kék
fill_solid(leds2, NUM_LEDS, CRGB::Black); // Második szalag kikapcsolva
FastLED.show();
delay(50);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Mindkét szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, CRGB::Black);
FastLED.show();
delay(50);
fill_solid(leds2, NUM_LEDS, color2); // Első szalag piros
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Második szalag kikapcsolva
FastLED.show();
delay(50);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Mindkét szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, CRGB::Black);
FastLED.show();
delay(50);
fill_solid(leds2, NUM_LEDS, color2); // Első szalag piros
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Második szalag kikapcsolva
FastLED.show();
delay(50);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Mindkét szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, CRGB::Black);
FastLED.show();
delay(50);
fill_solid(leds2, NUM_LEDS, color2); // Első szalag piros
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Második szalag kikapcsolva
FastLED.show();
delay(50);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Mindkét szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, CRGB::Black);
FastLED.show();
delay(50);
fill_solid(leds2, NUM_LEDS, color2); // Első szalag piros
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Második szalag kikapcsolva
FastLED.show();
delay(50);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Mindkét szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, CRGB::Black);
FastLED.show();
delay(50);
fill_solid(leds2, NUM_LEDS, color2); // Első szalag piros
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Második szalag kikapcsolva
FastLED.show();
delay(50);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Mindkét szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, CRGB::Black);
FastLED.show();
delay(50);
fill_solid(leds2, NUM_LEDS, color2); // Első szalag piros
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Második szalag kikapcsolva
FastLED.show();
delay(50);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Mindkét szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, CRGB::Black);
FastLED.show();
delay(50);
fill_solid(leds2, NUM_LEDS, color2); // Első szalag piros
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Második szalag kikapcsolva
FastLED.show();
delay(50);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Mindkét szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, CRGB::Black);
FastLED.show();
delay(50);
}
}
// 4. Stroboszkóp effektus (10 másodperc)
void strobeEffect2() {
for (int i = 0; i < 20; i++) { // 40 ciklus
fill_solid(leds1, NUM_LEDS, color2); // Első szalag piros
fill_solid(leds2, NUM_LEDS, CRGB::Black); // Második szalag Kikapcsolva
//fill_solid(leds2, NUM_LEDS, color1); // Második szalag kék
FastLED.show();
delay(50);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Első szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, color1); // Második szalag kék
FastLED.show();
delay(50);
}
}
// 5. Stroboszkóp effektus (10 másodperc)
void strobeEffect3() {
for (int i = 0; i < 20; i++) { // 40 ciklus
fill_solid(leds1, NUM_LEDS, color2); // Első szalag piros
fill_solid(leds2, NUM_LEDS, CRGB::Black); // Második szalag Kikapcsolva
//fill_solid(leds2, NUM_LEDS, color1); // Második szalag kék
FastLED.show();
delay(250);
fill_solid(leds1, NUM_LEDS, CRGB::Black); // Első szalag kikapcsolva
fill_solid(leds2, NUM_LEDS, color1); // Második szalag kék
FastLED.show();
delay(250);
}
}