Démystifier 4 Pin adressable RVB LEDS 6 étapes (avec photos)

Introduction: Démystifier 4 Pin adressable RGB LEDS

Démystifier 4 Pin adressable RVB LEDS 6 étapes (avec photos)

Si vous avez vu mon précédent Instructable sur LED RGB. alors vous avez une assez bonne base sur la capacité de mettre trois sources lumineuses distinctes en un seul paquet dans vos constructions.







LED adressables seulement exigent une broche de signal, la puissance, et une masse commune. La puissance peut même être d'une alimentation séparée. Cela fait des produits comme celui-ci (de SparkFun.com) et ce (à partir Adafruit.com) non seulement possible, mais pratique pour les amateurs.

Étape 1: Les bases, comment est-adressable RGB LED différent?

Démystifier 4 Pin adressable RVB LEDS 6 étapes (avec photos)

En bref, ces LED ressemblent beaucoup à leurs cousins ​​plus âgés. Il faut se plonger dans l'époxy pour trouver les différences. Il y a une petite puce minuscule minuscule là-dedans, il gère beaucoup de choses pour vous. Il gère la tension aux LED et à l'écoute de ses instructions avant de passer le long du message. Ce petit cerveau de silicone est également en mesure de savoir où dans la séquence de LED, il est, de sorte que vous ne devez pas configurer quoi que ce soit dans la chaîne elle-même LED à tout un tas d'ensemble.

Avec une LED RVB standard, vous disposez de trois broches fournissant le pouvoir de la Croix-Rouge, Vert, et / ou des éléments bleus et une goupille de retour commun. Les broches elles-mêmes sont souvent disposés dans une configuration vert-rouge-bleu au sol. Ils viennent en commun Anode et types communs Cathode, chacun ayant des besoins et des configurations légèrement différentes.

Avec Addressables, vous avez des données Broche, une broche d'alimentation, un sol Pin, et une goupille de données. De plus, ils comprennent Rouge - Vert - codes de couleur bleue facilement si vous n'avez pas à vous que longue habitude vous a transposer les valeurs vertes et bleues.

Les deux types ont un côté plat du boîtier d'objectif pour indiquer la polarité des unités.

Étape 2: Comment ça marche?

Démystifier 4 Pin adressable RVB LEDS 6 étapes (avec photos)

L'IC WS2812 l'intérieur de ces diodes électroluminescentes adressables agit comme un registre à décalage. En fait, dans certains Datasheets ils sont appelés Registre à décalage programmables LED. Sa puce ce petit qui fait la magie dans la sauce secrète. Il est plus qu'un simple registre de décalage aussi, il comprend la résistance de limitation du courant toutes les LED ont besoin, ainsi que régule la tension d'entrée à ce que les éléments de la LED spécifique ont besoin. Vous pouvez en savoir plus sur les registres de décalage ici sur Wikipedia.

Dans mon précédent Instructable, je suis entré dans quelques détails sur la façon dont les LED et que la tension altérant était une bonne façon de tuer LED et que si vous vouliez les tamiser, vous besoin d'utiliser un signal de largeur d'impulsion modulante. Qu'est-ce que la largeur d'impulsion-modulation est fait allumer la led et si vite qu'il change le niveau de luminosité moyenne. Plus le temps le voyant est éteint, le plus sombre qu'il n'y paraît. La raison pour laquelle vous ne voyez pas de cette façon que la LED est allumé et si vite, vos yeux ne peut pas le détecter.







LED adressables ne sont pas contrôlées par la tension, ni modulation de largeur d'impulsion. Ils sont commandés par un signal de porteuse. Ce signal de 800kHz a un format qui décrit à la puce ce que chacune des couleurs devrait être, ce que la luminosité devrait être, et aussi ce que toutes les LED de la chaîne devrait être trop en aval.

Dans l'Arduino, cela se fait par l'utilisation d'une bibliothèque assez habile écrite par les gens bien à Adafruit, qui vendent la ligne NeoPixel des produits qui utilisent la puce WS2812. En fait, quand vous regardez les entrailles de cette bibliothèque les données réelles est envoyée avec une série de commandes soigneusement chronométré digitalWrite (). Cela signifie que l'un des 13 broches numériques pourrait être utilisé, et pas seulement les six broches PWM.

Étape 3: Construire la Demostration

Démystifier 4 Pin adressable RVB LEDS 6 étapes (avec photos)

Pour la démonstration, je l'ai mis ensemble, je l'ai placé cinq LED adressables dans une planche à pain. Connecté la puissance et rails au sol de la planche à pain à mon Arduino Uno, puis chaînés les LED ensemble, l'une des données vers les données suivantes en. J'ai aussi ajouté un petit vibreur piézo-électrique juste pour encore plus de divertissement. Les premières données de LED PIN est connecté à la broche 6 sur mon Arduino et le piezo est sur la broche 8.

Bien que la broche 6 est un PWM - ou de largeur d'impulsion broches de modulation - sur l'Arduino Uno, nous ne serons pas en utilisant PWM avec cette démo. En fait, je pourrais utiliser l'un des six axes analogiques et la démo serait encore bien courir. Si vous construisez cette configuration assurez-vous d'essayer de déplacer le fil du cavalier de la broche 6 à 0. analogique Dans le dessin (que je fournis dans une étape ultérieure) assurez-vous de modifier l'affectation des broches « A0 » et de voir par vous-même.

Ok, vous avez les cinq LED, votre plaque d'essais reliés entre eux, la terre, la puissance et la broche de votre signal de l'Arduino, et après? Votre chance, votre presque fait, tout ce que vous devez faire est de charger le croquis et je l'ai fait le typage pour vous.

Étape 4: Le code de la LED

Démystifier 4 Pin adressable RVB LEDS 6 étapes (avec photos)

La bibliothèque Adafruit a deux appels spécifiques que vous devez comprendre pour utiliser ces LED. La première définit les couleurs pour encoder dans le signal, et le second envoie en fait le signal.

Rappelez-vous que, comme la plupart des choses dans la programmation, vous commencez avec zéro comme le premier élément du comte, donc. si je voulais montrer un arc en ciel de couleurs sur mes cinq LED, je ferais ceci:

strip.setPixelColor (0, 255, 0, 0); // Rouge

strip.setPixelColor (1, 255, 69, 0); // Orange

strip.setPixelColor (2, 255, 255, 0); // Jaune

strip.setPixelColor (3, 0, 255, 0); // Vert

strip.setPixelColor (4, 0, 0, 255); // Bleu

Les quatre valeurs entre parenthèses sont: # LED, couleur rouge, couleur verte, et Bleu. Le # LED commence par 0, et rend l'utilisation d'une déclaration pour des programmes faciles. En fait, dans le code exemple qui vient avec la bibliothèque, tous les appels à la commande strip.setPixelColor () sont imbriquées dans Pour états.

Cette série de commandes ne serait pas visible jusqu'à ce que vous envoyez en fait le signal, et vous faire par cette commande simple:

Étape 5: Showtime!

Donc, maintenant il est temps de voir ces petits gars en action! Avec nos excuses à Steven Spielberg et sans autre adieu.

Voici la vidéo.

Étape 6: Emballage tous ensemble.

Voici le code que je l'ai utilisé dans ma démo. Il était très facile de jeter rapidement cela ensemble, et une fois que vous passez un peu de temps à apprendre comment parler à la puce WS2812, toutes sortes de possibilités d'ouvrir. De grands tableaux de LED formant un écran ad hoc, ou tout simplement une touche de couleur où vous le souhaitez, adressable RGB LED font vraiment facile.

J'ai essayé de garder mon code lisible, et pour cette raison que je ne l'ai pas fait usage de tableaux de données de couleur, ou pour des déclarations comme dans les exemples fournis avec la bibliothèque Adafruit NeoPixel. Il en est ainsi que vous pouvez facilement voir chaque étape. Je n'ai touché la pointe de l'iceberg, le code exemple de Adafruit vous montre comment fondu entre les couleurs en douceur, obtenir que la poursuite effet « théâtre », et plus encore.







Articles Liés