Bonjour,
J'aurais eu besoin de quelques explications et d'une petite correction, j'ai l'impression d'être dans le faux mais à ma grande surprise j'ai enfin le résultat escompté.
Je suis partie de l'exemple qui allume les leds du bord extérieur vers l'intérieur, j'avais envi de faire le contraire. Du milieu vers les bords extérieurs.
C'est notamment ces 2 lignes que j'ai du mal à saisir. Comment devrais-je "les traduire"?
for(int i = 0; i < NUM_LEDS; i++) {
I égale à 0 mais inférieur à 60; i s'incrémente?
leds(NUM_LEDS/2, 0) = leds(NUM_LEDS/2, NUM_LEDS -1);
Alors là...
j'allume donc les (60/2 jusqu'à 0) qui sont = (60/2 jusqu'a la dernière -1)?
J'ai vraiment du mal à saisir tout ça encore, même si j'avance!
A l'allumage la led[0] reste allumée quelques seconde aussi. L'impression que j'ai eu un coup de chance.
Le code d'origine est précédé de //
//https://github.com/FastLED/FastLED/blob/master/examples/RGBSetDemo/RGBSetDemo.ino
#include <FastLED.h>
#define NUM_LEDS 60
#define DATA_PIN 3
CRGBArray<NUM_LEDS> leds;
void setup() {
FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS);
}
void loop() {
static uint8_t hue;
//for(int i = 0; i < NUM_LEDS/2; i++) {
for(int i = 0; i < NUM_LEDS; i++) {
// fade everything out
leds.fadeToBlackBy(10);
// let's set an led value
leds[i] = CHSV(160,hue++,200);
// now, let's first 20 leds to the top 20 leds,
//leds(NUM_LEDS/2,NUM_LEDS-1) = leds(NUM_LEDS/2 - 1 ,0);
leds(NUM_LEDS/2, 0) = leds(NUM_LEDS/2, NUM_LEDS -1);
FastLED.delay(30);
}
}
Évidemment toute aide information, complément est le bienvenue. £
Bien à vous!