Table des matières:

Spectacle de lumière des Fêtes à LED facile : les sorciers en hiver - Bande LED WS2812B avec FastLED et un didacticiel Arduino : 6 étapes
Spectacle de lumière des Fêtes à LED facile : les sorciers en hiver - Bande LED WS2812B avec FastLED et un didacticiel Arduino : 6 étapes

Vidéo: Spectacle de lumière des Fêtes à LED facile : les sorciers en hiver - Bande LED WS2812B avec FastLED et un didacticiel Arduino : 6 étapes

Vidéo: Spectacle de lumière des Fêtes à LED facile : les sorciers en hiver - Bande LED WS2812B avec FastLED et un didacticiel Arduino : 6 étapes
Vidéo: Elle Était Coincée Donc Ce Policier L'aide 2024, Juillet
Anonim
Image
Image

J'ai conçu et programmé ce spectacle de lumière de Noël pour qu'il s'affiche n'importe où. J'ai utilisé une bande led WS2812B avec une densité de pixels de 30 pixels/mètre. Depuis que j'ai utilisé 5 mètres, j'avais un total de 150 LED. J'ai gardé le code simple afin que toute personne novice dans l'utilisation des bandes LED WS2812B puisse facilement suivre le code. Cela signifie également que si vous utilisez différentes quantités de pixels, le timing sera désactivé, vous devez donc vous en tenir à 150 LED. De plus, pour rester simple, le système de musique n'est pas du tout géré par l'Arduino. Au début du programme, il y a 3 flashs de vert et 1 flash de rouge, puis le spectacle de lumière proprement dit commence. Étant donné que vous devez démarrer la musique manuellement, ces clignotements initiaux vous indiquent quand commencer à jouer la musique. J'ai inclus le code ci-dessous. N'hésitez pas à compléter ou modifier ce code à des fins non commerciales.

Fournitures

- Bande LED WS2812B

-Arduino

- Fils

- Alimentation 5V 10A | Si vous utilisez plus d'une bande, vous devrez utiliser une alimentation plus grande. Chaque pixel utilise 60mA, donc 150 pixels * 60mA = 9A. Votre alimentation doit être capable de gérer cela si vous avez l'intention d'utiliser la pleine luminosité en blanc. Vous devez utiliser une alimentation 5V si vous utilisez des bandes LED 5V et si vous utilisez des bandes LED 12V, vous devrez utiliser une alimentation 12V, mais également utiliser un convertisseur 12-5V pour alimenter l'Arduino 5V.

Étape 1: Téléchargez la bibliothèque FastLED

Définir quelques variables
Définir quelques variables

Si vous n'avez pas encore téléchargé la bibliothèque FastLED, téléchargez la dernière version sur github.com/FastLED/FastLED/releases

Téléchargez la bibliothèque FastLED et déplacez-la dans votre dossier de bibliothèques Arduino. Ne modifiez PAS le nom de ce dossier. Dans l'IDE Arduino, accédez à Sketch, Inclure la bibliothèque, puis Ajouter une bibliothèque. ZIP. Sélectionnez le dossier FastLED.

Une fois votre bibliothèque configurée, incluez la ligne #include Cette ligne indique au programme que vous utilisez cette bibliothèque.

Étape 2: définir quelques variables

Comme je l'ai mentionné plus tôt, afin de garder le code simple, changer le nombre de pixels changera le timing ou le spectacle de lumière.

La ligne #define NUM_LEDS 150 est l'endroit où vous mettez le nombre de pixels utilisés. Dans ce cas, ce sera 150.

La ligne #define DATA_PIN 5 est l'endroit où vous placez la broche numérique à laquelle vous avez connecté le fil de données.

La ligne #define BRIGHTNESS 255 est l'endroit où vous mettez la luminosité sur une échelle de 0 à 255, 255 étant la plus lumineuse.

Étape 3: La section de configuration du code

La section de configuration du code
La section de configuration du code

Dans la section de configuration, il y a un délai de 2 secondes et la ligne

FastLED.addLeds(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);

WS2812B a indiqué le type de bande LED que nous avons utilisé et DATA_PIN est la variable que nous avons définie dans une étape précédente. GRB est l'ordre des couleurs. Cela peut varier en fonction de la bande LED utilisée. Essayez le code tel quel, et si les couleurs ne sont pas les mêmes que dans la vidéo, essayez de le changer en RVB ou BRG par exemple. Vous pouvez laisser le reste de cette ligne inchangé. Les lignes

FastLED.setBrightness(max_bright); set_max_power_in_volts_and_milliamps (5, 8000);

limiter la consommation d'énergie de la bande LED. Il s'agit d'une fonctionnalité étonnante de la bibliothèque FastLED. Le nombre 5 est la tension que nous avons utilisée, et le nombre 8000 est le courant maximum que la bande LED peut utiliser en mA. Il est recommandé de n'utiliser que 80 % de la capacité de l'alimentation pour prolonger sa durée de vie. Comme j'ai une alimentation 10A, 0,8*10 = 8A, soit 8000mA.

Étape 4: La section Boucle | Aka, la partie cool du code

La section Boucle | Aka, la partie cool du code
La section Boucle | Aka, la partie cool du code
La section Boucle | Aka, la partie cool du code
La section Boucle | Aka, la partie cool du code

Maintenant que nous avons terminé de configurer le programme pour notre bande LED particulière, nous pouvons commencer à séparer les bandes qui s'allument réellement. Pour garder cette section propre, j'ai utilisé des fonctions écrites pour contrôler les bandes et faire différents effets. L'image ci-dessus à gauche fait partie de la section de boucle, qui exécute les fonctions. L'image de droite est en dessous et c'est là que j'ai écrit ce que fait chaque fonction.

Étape 5: Câblage

Câblage
Câblage

Les bandes LED WS2812B ont 3 bornes à chaque extrémité. 2 pour l'alimentation et 1 pour le signal de données provenant de notre Arduino. Connectez simplement 2 fils aux bornes d'alimentation de l'Arduino et connectez 2 fils d'alimentation à la bande LED. Vous devez également ajouter 2 fils d'alimentation appelés fils d'injection d'alimentation à l'extrémité de la bande, car une perte de tension peut entraîner une faible LED à l'extrémité de la bande si vous ne le faites pas. Vérifiez les étiquettes sur la bande pour voir quelle borne est pour quoi. Mélanger la polarité pourrait conduire à une bande frite. Connectez également le fil de terre de l'Arduino au fil de terre de la bande LED pour établir une terre commune pour une meilleure transmission des données. J'ai mentionné que vous devriez ajouter des fils d'injection de puissance, mais vous NE POUVEZ PAS le faire pour le fil de données. En effet, chaque LED rediffuse le signal de données vers la suivante, alors assurez-vous de connecter 1 fil de données à la broche Arduino spécifiée et à la bande LED. La bande doit avoir une petite flèche indiquant le sens de déplacement des données. Assurez-vous de mettre le fil de signal de données au début et non à la fin. Mélanger cela pourrait conduire à une bande frite.

Étape 6: Montage de la bande LED

J'ai monté ma bande LED à l'intérieur d'une fenêtre en la collant simplement. Cependant, il existe de nombreuses autres façons de monter votre bande LED. Vous pouvez utiliser un canal en aluminium tel que https://tinyurl.com/s2km4v3 pour placer les bandes à l'extérieur sur votre ligne de toit. Si vous placez vos bandes LED à l'extérieur, je vous recommande d'utiliser les bandes ip65 si vous utilisez un canal en aluminium car elles sont semi-étanches et sont plus fines que les 1p67, qui peuvent ne pas tenir dans certains canaux. Si vous comptez le monter à l'extérieur sans canal, utilisez les bandes ip67, qui sont pratiquement étanches. Pour contourner un coin, comme ceux des sommets de votre ligne de toit, vous devriez idéalement couper la bande et utiliser des fils pour contourner le coin. Vous pourrez peut-être vous contenter de plier la bande, mais méfiez-vous de la façon dont vous la pliez car il est facile de faire sauter une LED.

Conseillé: