#include <FastLED.h>
#define NUM_LEDS 55 // LED-ek száma a szalagon
#define DATA_PIN 6 // Az Arduino digitális kimenete, amelyhez a DIN csatlakozik
CRGB leds[NUM_LEDS]; // LED-ek tömbje
void setup() {
FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS); // WS2812B inicializálása
FastLED.setBrightness(255); // Fényerő beállítása (0–255 között)
}
void loop() {
rainbowCycle(); // Színes átmenet (rainbow effect)
theaterChase(); // Hullámzó fényeffekt (theater chase)
spiralEffect(); // Spirális színek
strobeEffect(); // Villogás (strobe effect)
}
// 1. Színes átmenet (Rainbow Cycle)
void rainbowCycle() {
for (int j = 0; j < 256; j++) { // Teljes színkör
for (int i = 0; i < NUM_LEDS; i++) {
leds[i] = CHSV((i * 4 + j) % 256, 255, 255); // Színes átmenet
}
FastLED.show();
delay(10);
}
}
// 2. Hullámzó fényeffekt (Theater Chase)
void theaterChase() {
for (int j = 0; j < 10; j++) { // 10 ismétlés
for (int q = 0; q < 3; q++) {
for (int i = 0; i < NUM_LEDS; i += 3) {
leds[i + q] = CRGB::Blue; // Kék fények
}
FastLED.show();
delay(50);
for (int i = 0; i < NUM_LEDS; i += 3) {
leds[i + q] = CRGB::Black; // Fények kikapcsolása
}
}
}
}
// 3. Spirális színek (Spiral Effect)
void spiralEffect() {
for (int j = 0; j < 256; j++) { // Spirális mozgás
for (int i = 0; i < NUM_LEDS; i++) {
leds[i] = CHSV((i * 8 + j) % 256, 255, 255); // Spirális színek
}
FastLED.show();
delay(15);
}
}
// 4. Villogás (Strobe Effect)
void strobeEffect() {
for (int j = 0; j < 10; j++) { // 10 villogás
fill_solid(leds, NUM_LEDS, CRGB::White); // Minden LED fehérre állítása
FastLED.show();
delay(50); // Villogás időtartama
fill_solid(leds, NUM_LEDS, CRGB::Black); // Minden LED kikapcsolása
FastLED.show();
delay(50); // Villogás közötti szünet
}
}