FastLED – Résumé des possibilités

FastLED est une librairie Arduino pour piloter des bandeaux de LED adressables (WS2812B, SK6812, APA102, etc.). Elle permet de contrôler chaque LED individuellement, gérer les couleurs, la luminosité et créer des animations complexes.

1. Configuration de base

MatérielInitialisation

Déclaration du type de LED, de la broche de données et du nombre de LEDs :

#include <FastLED.h>

#define LED_PIN    6
#define NUM_LEDS   30

CRGB leds[NUM_LEDS];

void setup() {
  FastLED.addLeds<WS2812B, LED_PIN, GRB>(leds, NUM_LEDS);
  FastLED.setBrightness(80); // 0 à 255
}

Principales possibilités :

2. Contrôle LED par LED

CouleursAdressable

Chaque LED est accessible via le tableau leds[] :

void loop() {
  leds[0] = CRGB::Red;          // Rouge
  leds[1] = CRGB(0, 255, 0);    // Vert (RGB)
  leds[2] = CRGB::Blue;         // Bleu

  FastLED.show();               // Envoie les données au bandeau
  delay(200);
}

Couleurs en HSV (teinte, saturation, valeur) :

uint8_t hue = 0;

void loop() {
  leds[0] = CHSV(hue, 255, 255); // Couleur arc-en-ciel
  hue++;                         // Incrémente la teinte
  FastLED.show();
  delay(20);
}

3. Luminosité et extinction

BrightnessÉnergie
fill_solid(leds, NUM_LEDS, CRGB::Black);
FastLED.show();

Diminuer une LED individuellement :

leds[0] = CRGB::Red;
leds[0].nscale8(50); // ≈ 20% de luminosité

4. Effets de base et dégradés

DégradésArc-en-ciel

Remplir le bandeau avec un arc-en-ciel :

void loop() {
  static uint8_t startHue = 0;
  fill_rainbow(leds, NUM_LE