Étape 3: ARDUINO CODE DESCRIPTION :
· Bibliothèque FastLED: vous devez vous assurer que vous avez téléchargé et installé la bibliothèque FastLED dans votre IDE Arduino. La bibliothèque est incluse dans cette esquisse par ailleurs que les fonctions de FastLED ne fonctionnera pas.
· La variable "NUM_LEDS": indique l’Arduino LED combien sont en cours d’utilisation. Dans ce cas, nous avons 4 feux à LED, avec chaque anneau lumineux contenant 16 LEDs et donc un total de 64 LEDs. Si vous définissez un nombre inférieur, par exemple 16, puis l’esquisse seulement illuminerait les LEDs sur le premier anneau de LED.
· La variable "DATA_PIN": indique quelle broche numérique à utiliser pour la transmission de données à l’anneau de LED à l’Arduino. Dans ce cas, j’utilise numérique 9 broches.
· Autres variables: J’ai un couple d’autres variables qui sont utilisées pour le contrôle de randomisation et teinte de LED. Hue est la couleur de la LED. Par incrémentation de la variable de la teinte, vous pouvez obtenir les LEDs pour basculer dans un motif arc-en-ciel. La variable « teinte » est un « byte », ce qui signifie qu’il va seulement une valeur maximale de 255, avant il saute vers le bas à zéro.
Code d’initialisation: Si vous avez un anneau de LED différent à celui de ce didacticiel, vous devrez peut-être modifier le code d’initialisation. Cet anneau de LED a un chipset WS2812-B (selon le site ICStation) et donc cette ligne :
· FastLED.addLeds (LED, NUM_LEDS); Dira la FastLED bibliothèque quel chipset est actuellement utilisé (NEOPIXEL), le pin utilisé pour la transmission de données (DATA_PIN), le tableau LED à contrôler (LED) et le nombre de LEDs pour être contrôlée (NUM_LEDS).
· Dans le "loop()": article du code : la variable "teinte" est incrémentée pour créer un effet arc en ciel, et une LED aléatoire est sélectionnée à l’aide de la fonction random8() de la FastLED.
· La fonction random8(x): choisira au hasard un nombre de 0 à x.
· La fonction randomSeed(): est là pour aider « véritablement randomiser » le nombre. Il est aidé en lisant le caractère aléatoire d’un flottant analogPin (A0). Il ne doit pas être analogPin 0, il peut être aucune broche analogique inutilisé.
· LEDs[RND].setHSV(Hue,255,255): cette ligne définit la LED aléatoire d’avoir une teinte égale à la variable "hue", saturation égale à 255 et luminosité égale à 255. Saturation égale à zéro fera la brillance de la LED blanche. Luminosité de zéro tourne essentiellement la LED éteinte.
· FastLED.show(): aucun changement physique ne se référera à l’affichage d’anneau de LED jusqu'à ce qu’un message est envoyé de l’Arduino sur la broche d’entrée numérique de l’anneau LED. Ce message est transmis lorsque vous appelez la FastLED.show() ; fonction. Cela indique les anneaux de LED pour mettre à jour leur affichage avec l’information contenue dans le tableau led (LED). Donc si vous définissez toutes les LEDs pour mettre en marche, le jury n’allume pas les LEDs jusqu'à la FastLED.show() ; fonction est appelée. C’est important de savoir - en particulier lorsque vous essayez de concevoir vos propres séquences de LED.
· La ligne delay(50): fixera le laps de temps entre les bouffées de chaleur de 50 millisecondes. Vous pouvez modifier le délai pour augmenter ou diminuer le nombre d’éclairs par seconde.
· La fonction de .fadeToBlackBy (180) les voyants [i]: essentiellement s’estompe les LEDS de 180 unités. Vous pouvez augmenter ou réduire ce nombre pour atteindre la vitesse désirée se fanent. Sachez toutefois que si vous avez oublié d’appeler cette fonction ou si vous échouez à s’estomper les LEDs suffisamment, alors vous pouvez vous retrouver avec toutes les LED tournant sur, qui pourrait potentiellement détruire votre carte Arduino - c'est-à-dire en fonction du nombre d’anneaux de LED vous avez et comment vous avez choisi d’alimenter leur.