mes je sais pas tros ou le mètre jai essayer a plusieurs endroits mes sa marche pas je vais encor essayer de chercher de mon coter si j'arrive toujour pas je revien de votre coter (merci lesept de ce que jai vue cette librairie est bien et permet plaint de truc
Il faut que tu joues avec le paramètre initialhue.
Je crois que cette fonction remplit ton tableau de leds avec des couleurs dont la teinte (hue) varie depuis la valeur initiale avec un pas de deltahue. Avec les paramètres HLS, tu peux représenter les couleurs sur un cercle.
Tu vois que initial hue est uint8_t donc un byte. Elle varie de 0 à 255 puis repasse à 0. Comme sur un cercle. C'est pareil pour la teinte des leds. Initialhue est juste là valeur de teinte donnée à la première led du tableau. Le reste du tableau est rempli pas pas de deltahue, modulo 256.
Donc si dans la loop, tu mets par exemple
fill_rainbow (leds, NUM_LEDS , 0, 5);
ton tableau sera rempli avec les valeurs 0 5 10 15...
Comme tu as 60 leds, tu feras un tour du cercle des teintes avec un pas de 255/60 donc 4.
Il faut bien sûr mettre la commande qui affiche les leds
FastLED.show();
Maintenant, tu peux faire varier la valeur de initialhue à chaque exécution de la loop. Ça fera tourner ton arc en ciel sur ton anneau de leds. Il suffit d'ajouter une valeur constante à initialhue à chaque fois.
#include <FastLED.h>
#define LED_PIN 13
// Information about the LED strip itself
#define NUM_LEDS 60
#define CHIPSET WS2812B
#define COLOR_ORDER RGB
CRGB leds[NUM_LEDS];
#define BRIGHTNESS 128
#define TEMPERATURE_1 MetalHalide
#define TEMPERATURE_2 OvercastSky
// How many seconds to show each temperature before switching
#define DISPLAYTIME 100
void loop()
{
// draw a generic, no-name rainbow
static uint8_t starthue = 10;
fill_rainbow( leds , NUM_LEDS , --starthue, 4);
// Choose which 'color temperature' profile to enable.
uint8_t secs = (millis() / 1000) % (DISPLAYTIME * 2);
if( secs < DISPLAYTIME) {
FastLED.setTemperature( TEMPERATURE_1 ); // first temperature
leds[0] = TEMPERATURE_1; // show indicator pixel
} else {
FastLED.setTemperature( TEMPERATURE_2 ); // second temperature
leds[0] = TEMPERATURE_2; // show indicator pixel
}
FastLED.show();
FastLED.delay(8);
}
void setup() {
delay( 3000 ); // power-up safety delay
// It's important to set the color correction for your LED strip here,
// so that colors can be more accurately rendered through the 'temperature' profiles
FastLED.addLeds<CHIPSET, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection( TypicalSMD5050 );
FastLED.setBrightness( BRIGHTNESS );
}
tous marche sa tourne en rond avec un arc en ciel donc tous comme il faut seule problème la led0 (celle en première position) reste blanc et varie pas