Bonjour à tous je travaille avec une led strip de 8 led RGB j'essaye de faire et surtt de comprendre mes premiers arc en ciel
Voila je but un peu sur ce code :
Code:#include "FastSPI_LED2.h" #define NUM_LEDS 8 struct CRGB { byte g; byte r; byte b; }; struct CRGB leds[NUM_LEDS]; WS2811Controller800Mhz<4> LED; void setup() { LED.init(); } void loop() { for(int i = 0; i < 3; i++) { for(int iLed = 0; iLed < NUM_LEDS; iLed++) { memset(leds, 0, NUM_LEDS * sizeof(struct CRGB)); switch(i) { case 0: leds[iLed].r = 128; break; case 1: leds[iLed].g = 128; break; case 2: leds[iLed].b = 128; break; } LED.showRGB((byte*)leds, NUM_LEDS);; delay(20); } } delay(1000); }
Le code fonctionne j'essaye juste de le comprendre mieux.
Alors j'ai compris que l'on fait une boucle avec le i de 0 à 2 soit 3 fois > ensuite on boucle sur ttes les leds et ensuite je comprends plus y a un switch case en fonctionde la boucle principale.
j'ai du mal avec le :Code:memset(leds, 0, NUM_LEDS * sizeof(struct CRGB)); switch(i) { case 0: leds[iLed].r = 128; break; case 1: leds[iLed].g = 128; break; case 2: leds[iLed].b = 128; break; }
struct CRGB { byte g; byte r; byte b; };
struct CRGB leds[NUM_LEDS];
et le memset ...
en ralentissant la boucle j'ai vu que cela fait un tour en rouge ensuite en vert enfin en bleu donc je suppose que l'effet arc en ciel est du à la vitesse ...
Cordialement,
bypbop
-----