Prise en main de NeoPixel / WS2812 RGB LED

[ Lire la vidéo ]

Dans cet Instructable, nous explorerons la LED RGB adressable (WS2812) ou populairement connue sous le nom d'Adafruit NeoPixel. NeoPixel est une famille d'anneaux, de bandes, de planches et de bâtons de LED miniatures colorées et pulsantes. Ceux-ci peuvent être chaînés de l'un à l'autre afin que vous puissiez alimenter et programmer ensemble une longue lignée de NeoPixels pour former une chaîne sans fin de LED. Vous pouvez utiliser ces bandes LED pour ajouter des effets d'éclairage complexes à n'importe lequel de vos projets.

Vous pouvez retrouver tous mes projets sur: //www.opengreenenergy.com/

Ils sont livrés avec un minuscule boîtier de montage en surface 5050 (5 mm x 5 mm) qui comprend trois LED lumineuses (rouge, verte et bleue) et une puce de pilote intégrée (WS2811). Il ne nécessite qu'une seule entrée de données pour contrôler l'état, la luminosité et la couleur des trois LED. En connectant la broche de sortie de données à la broche d'entrée de données des bandes suivantes, il est possible de chaîner les LED à une longueur théoriquement arbitraire.

Avec des combinaisons de valeurs RVB (0 - 255), vous pouvez reproduire à peu près n'importe quelle couleur, donc dans un sens, une LED RVB contrôlable est une LED universelle.

Étape 1: Pièces et outils utilisés

Les pièces :

1. 8 x 8 Neo Matrix (Banggood)

2. Arduino Uno (Amazon)

3. Alimentation 5V / 2A (Amazon)

4. DC Jack (Amazon)

5. Fils de cavalier (Amazon)

6. Matrice WS2812 flexible 8 x 32 (Sparkfun)

Outils :

1. Fer à souder (Amazon)

2. Coupe-fil / dénudeur (Amazon)

Étape 2: Type de bande LED RGB

Il existe 2 principaux types de bande LED RVB: bande analogique et bande numérique

1. Bande analogique:

Toutes les LED des bandes sont connectées en parallèle, donc elles agissent comme une seule énorme LED tricolore.Vous pouvez définir une couleur particulière pour l'ensemble des bandes / cordes.Elles sont très faciles à utiliser et peu coûteuses, mais la limitation dans ce type de Les bandes LED sont que vous ne pouvez pas contrôler les couleurs de chaque LED.

Sur chacune de ces bandes, vous verrez (de gauche à droite) d'abord la LED, suivie d'une résistance SMD.


2. Bande numérique:

Une bande numérique consiste à adresser chaque LED individuellement et à travailler de manière différente. Ils ont une puce pour chaque LED, pour utiliser la bande, vous devez envoyer des données codées numériquement aux puces. En raison de la complexité supplémentaire de la puce, ils sont plus chers.

Remarquez les flèches indiquant la direction des données. Si vous connectez la bande en sens inverse, cela ne fonctionnera pas.

Étape 3: Types de bandes LED RGB adressables

Les LED adressables sont livrées avec différents numéros de modèle comme WS2801, WS2811, WS2812 ou WS2812B. Si vous êtes nouveau dans ce type de LED, vous pouvez les confondre, alors identifions-les d'abord. Fondamentalement, WS2801 et WS2811 sont le nom du CI qui peut contrôler au maximum 3 LED. Cependant, WS2812 est une version améliorée dans laquelle un circuit intégré WS2811 est directement intégré dans un boîtier LED 5050 RGB. Le modèle le plus récent est le WS2812B.

Dans ce didacticiel, nous utiliserons le dernier modèle WS2812B .

Source de l'image: Adafruit, Sparkfun, Polou

Étape 4: broches WS2801 et WS2811 / WS2812

Les modèles WS2801 ont 4 broches d'entrée (Vcc, GND, Data, Clock) tandis que les modèles WS2811 et WS2812 n'ont que 3 broches

(Vcc, GND et données)

PIN ---> WS2801

5V -> Puissance (+ 5V)

CI -> Entrée de signal d'horloge

CO -> Sortie signal d'horloge

DI -> Entrée de données

DO -> Sortie de données

GND -> Terre

PIN -> WS2812

5V -> Puissance (+ 5V)
CI -> N / A

CO -> N / A

DI -> Entrée de données

DO -> Sortie de données

GND -> Terre

Étape 5: alimentation

Avant de commencer un projet de bande LED, la première chose à laquelle vous devez penser est l'alimentation.L'une de ces LED RGB contient 3 LED (rouge, bleu et vert). Nous savons qu'une seule LED consomme environ 20 mA à sa luminosité la plus élevée. Ainsi, une seule LED WS2812 peut tirer 3 x 20 mA = 60 mA à une luminosité maximale - blanc.

Puis-je exécuter directement par Arduino?

La réponse est simplement non. Comme la quantité de courant requise pour la bande entière sera bien plus que ce que votre Arduino peut gérer.

Vous avez besoin d'une alimentation électrique régulée séparée pour cela.L'alimentation doit fournir la tension correcte et capable de fournir un courant suffisant. Dans la plupart des bandes WS2812, la tension de fonctionnement est de 5 volts CC.

Exemple: Pour la matrice WS2812 8 x 8 (64 LED), vous avez besoin de 64 x 60mA = 3840 mA (3, 84 A) pour toutes les LED réglées sur sa luminosité maximale (couleur blanche). Mais ce n'est pas conseillé, gardez la luminosité plus basse pour obtenir une durée de vie maximale.

Je peux recommander de régler la luminosité en dessous de 50%. Vous avez donc besoin de 3, 84 x 0, 5 = 1, 92 A

Donc, en prenant une certaine marge, l'alimentation recommandée est de 5V / 2A.

Étape 6: Préparation de l'alimentation

Il est très facile de contrôler la bande LED WS2812B sans circuits supplémentaires et composants discrets. Si vous avez un Arduino, une alimentation 5V et quelques fils de connexion, vous pouvez jouer avec.

Préparation de l'alimentation:

J'ai utilisé une alimentation régulée 5V / 2A pour faire fonctionner les LED NeoPixel.

Nous avons besoin de deux connexions GND: une pour la bande LED et l'autre pour l'Arduino.
J'ai donc soudé deux fils à la borne négative et un fil à la borne positive de la prise DC.

Connexion Arduino:

La connexion Arduino est très facile.

Bande LED DIN -> Arduino D6

Alimentation GND -> Arduino GND

Si vous utilisez l'alimentation externe pour alimenter à la fois la bande LED et l'Arduino, vous devez connecter l'alimentation 5V à la broche Arduino 5V.


Bonnes pratiques selon Adafruit:

1. Ajout d'un grand condensateur (1000 µF, 6, 3 V ou supérieur) entre les bornes + et -. Cela évite que la première poussée de courant n'endommage les pixels.

2. L'ajout d'une résistance de 300 à 500 Ohms entre la broche de données de votre microcontrôleur et l'entrée de données sur le premier NeoPixel peut aider à prévenir les pics de tension qui pourraient autrement endommager votre premier pixel. Veuillez en ajouter un entre votre micro et NeoPixels.

3. Lors de la connexion de NeoPixels à une source d'alimentation ou à un microcontrôleur sous tension, TOUJOURS CONNECTER LA MISE À LA TERRE (-) AVANT TOUT AUTRE. Inversement, déconnectez le sol en dernier lors de la séparation.

Étape 7: Conduire une Neo Matrix 8x8

La matrice de LED contient 64 LED RGB qui utilisent le pilote WS8211. Chaque pixel est adressable individuellement et vous aurez besoin d'une seule broche Arduino pour contrôler toutes les LED.

À l'arrière de la matrice, il y a deux ports: entrée (3 broches) et sortie (3 broches).

Le port d'entrée est connecté à l'Arduino et à l'alimentation externe 5 V. La connexion est la suivante

Matrice -> Arduino

DIN -> D6

GND -> GND

Matrice -> Alimentation

5V ---> 5V

GND -> GND

Remarque: Vous ne devez pas oublier de connecter le GND à la fois de l'alimentation et de l'Arduino.

Maintenant, mettez le circuit sous tension et téléchargez le code pour regarder quelques animations. J'ai réglé la luminosité des LED à environ 30%.

Code Arduino:

Le code et les bibliothèques sont joints dans le fichier zip. Téléchargez-le. Vous pouvez regarder la vidéo pour savoir comment utiliser le logiciel.

Pièces jointes

  • NeoPixel.zip Télécharger

Étape 8: Conduire une MATRICE RVB 8X32 WS2812 flexible

La matrice flexible 8x32 est plutôt cool, je l'ai commandée à Sparkfun. Vous pouvez créer des animations, des jeux ou même les incorporer dans un projet amusant d'e-textiles. En plus de tout cela, grâce à son support flexible, cette matrice LED peut être pliée et arquée pour s'adapter à presque toutes les surfaces courbes.

La connexion avec Arduino est similaire à l'autre matrice / bande LED NeoPixel.

La matrice est livrée avec des fils terminaux, donc pas besoin de souder.

Jaune: GND

Rouge: + 5V

Vert: données

Si vous avez apprécié cet article, n'oubliez pas de le transmettre!
Suivez-moi pour plus de projets et d'idées de bricolage. Merci !!!

Articles Connexes