Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Art de la tour LED

Composants et fournitures

LED RVB programmable APA 106, 8 mm
× 288
Arduino UNO
× 1
Fil de cuivre étamé de calibre 22
× 1
Anneaux métalliques de 8 pouces de diamètre
× 12
Tiges acryliques de 12 pouces
× 10

Outils et machines nécessaires

Fer à souder (générique)
Pistolet à colle chaude (générique)
Adhésif BlueTack
Dissipateurs thermiques à clipser

Applications et services en ligne

Arduino IDE

À propos de ce projet

L'inspiration pour ce projet est les nombreuses courbes qui sont créées par l'intersection d'un cylindre et d'un plan ! Je voulais créer un spectacle de lumière LED, mais j'ai déjà construit plusieurs cubes de LED récemment. Je voulais faire quelque chose de différent, à la fois d'un point de vue matériel et logiciel. Et j'ai pensé que ce serait un environnement amusant dans lequel programmer - quelque chose avec autant de potentiel qu'un cube, mais qui est nettement différent !

J'ai choisi d'utiliser des LED programmables APA106 de 8 mm pour cette tour. Elles sont plus chères que les LED RVB ordinaires, mais elles sont tellement plus faciles à utiliser d'un point de vue matériel et logiciel. Pas de registres à décalage - tout est contrôlé par deux lignes de données. Et pas d'ISR (routine de service d'interruption) et pas de multiplexage entre les couches de LED - ces LED sont allumées en permanence.

J'ai décidé de construire mon cylindre/tour comme un ensemble de 12 anneaux empilés les uns sur les autres. Les anneaux font 8" de diamètre, et chaque anneau contient 24 LED espacées de 1" (en fait π * 8/24 mais proche d'un pouce). Les anneaux sont eux-mêmes séparés de 1 pouce, de sorte que les LED sont espacées de 1" dans les deux sens. Une tige en acrylique est utilisée pour attacher les anneaux ensemble pour former la tour.

Les LED APA106 peuvent consommer 60 mA avec une luminosité maximale et en blanc, donc dans le pire des cas, cette tour pourrait consommer 17 ampères ! Mais ces LED sont si lumineuses que j'ai rarement la luminosité réglée à plus de 10 % dans le logiciel. Et rendre toute la tour blanche n'est pas vraiment fait n'importe où non plus. Donc en pratique, je n'ai jamais eu de problème à utiliser le port USB pour l'alimenter. Et si vous souhaitez utiliser une alimentation séparée, 2 ampères semblent bien fonctionner.

Bâtiment

J'ai trouvé des bagues en métal de 8 "de diamètre sur Amazon qui, selon moi, constitueraient une bonne base pour ma bague LED. Ce fut en fait une agréable surprise lorsque j'ai découvert que je pouvais les souder facilement! Le terme "facilement" est relatif - la bague est lourd et il faut beaucoup de chaleur pour qu'il soit suffisamment chaud, donc mon fer à souder de 40 watts était monté jusqu'au bout, et il devait généralement rester là pendant 5 à 10 secondes avant que la soudure ne fonde. avant d'essayer de souder une LED dessus, et toujours utilisé des dissipateurs thermiques à clip sur les fils des LED.

Mais je prends un peu d'avance sur moi. Avant de pouvoir commencer à souder les LED à l'anneau, vous devez en former 24 selon le schéma ci-dessous

Dans le cadre de l'opération de formage du plomb, j'ai mis un petit coude à l'extrémité du fil de terre. Il permet à la fois de l'identifier facilement et de l'attacher plus facilement à la bague.

Une autre étape de préparation avant de souder les LED à l'anneau consiste à délimiter 24 espaces égaux sur l'anneau où les LED seront placées. J'ai également trouvé le besoin de serrer la bague verticalement tout en fixant les LED. J'ai fini par utiliser l'engin ci-dessous pour maintenir l'anneau en place,

Une fois que quelques LED sont soudées sur l'anneau, il est nécessaire de connecter les fils d'entrée de données aux fils de sortie de données comme indiqué ci-dessous. Notez que des dissipateurs thermiques à clipser sont toujours utilisés pour protéger les LED.

Une fois que toutes les LED sont sur l'anneau, vous devriez avoir un fil d'entrée de données pour l'anneau dans son ensemble, avec le fil de sortie de données en face de celui-ci prêt à passer à l'anneau suivant au-dessus. À ce stade, nous sommes prêts à connecter tous les fils de +5 volts avec un morceau de fil de cuivre étamé de calibre 22 redressé. Redressez un morceau de fil de 26" de long en serrant une extrémité dans un étau et en tirant fortement sur l'autre extrémité avec une pince. Ensuite, fixez-le aux LED comme indiqué ci-dessous.

Lorsque vous avez une bague terminée, vous pouvez la tester, en utilisant le croquis de test que j'ai inclus. Les tests sont importants - il est beaucoup plus facile de réparer une LED défectueuse ou un joint de soudure froide maintenant que lorsqu'il se trouve au milieu d'une tour terminée ! Le test est effectué en attachant la broche d'entrée de données ouverte à la broche UNO 6. Le croquis de test inclus est quelque peu différent de celui de cette vidéo, mais devrait vous montrer si l'anneau fonctionne correctement.

Maintenant, vous devez faire 11 anneaux supplémentaires. C'est beaucoup de travail, mais avec un peu de pratique, vous pouvez obtenir la tâche de faire un anneau à quelques heures.

Il est important que les LED de chaque anneau s'alignent avec leurs homologues sur les autres anneaux. Si les LED sont parfaitement espacées, ce n'est pas un problème, mais j'ai eu suffisamment de petites variations d'espacement pour que j'aie jugé nécessaire d'utiliser un anneau comme modèle pour les autres, en plaçant toujours soigneusement le fil d'entrée de données ouvert (le un non connecté à un câble de sortie de données) au même endroit. (Si vous regardez de près ma tour, les deux premiers anneaux ne s'alignent pas très bien l'un avec l'autre. Mais après cela, j'ai utilisé cette approche de modèle avec un résultat bien amélioré.)

Une fois que vous avez construit au moins quatre anneaux, vous pouvez commencer le processus d'assemblage de la tour. L'assemblage initial des quatre anneaux inférieurs est probablement la partie la plus critique de la construction. Nous ne voulons pas créer une tour penchée de Pise ! Pour assembler les anneaux, vous aurez besoin d'entretoises de 22 mm de haut pour créer l'espace de 1" entre les anneaux. J'ai utilisé du plastique noir imprimé en 3D pour mes entretoises, mais un goujon de 1/4" fonctionnerait tout aussi bien. Pour maintenir les espaceurs en place, j'ai utilisé un peu de Blue Tack, un adhésif temporaire.

Les anneaux sont maintenus ensemble pour former la tour à l'aide de six tiges acryliques de 12 pouces de long. Il est important de tout mettre en place exactement avant d'appliquer ces tiges. Une fois les tiges collées à chaud sur les anneaux, il est presque impossible d'apporter des modifications, alors placez tout d'abord là où vous le souhaitez. Une fois que tout est en place, vous pouvez retourner la tour sur le côté et coller à chaud les tiges acryliques sur les anneaux. La photo ci-dessous montre les quatre premiers anneaux avec les trois premières tiges attachées. Trois autres ont ensuite été attachés pour un total de six. Les tiges sont placées entre les LED avec 4 LED entre chaque tige.

Une fois que toutes les tiges sont fixées aux anneaux, les entretoises peuvent être retirées puis réutilisées à mesure que des anneaux supplémentaires sont ajoutés. Lorsque les 12 anneaux sont en place, nous sommes prêts à connecter la terre, le +5v et les lignes de données entre les anneaux. Ceci est fait en utilisant du fil de cuivre étamé de calibre 22. Les rails d'alimentation sont reliés aux 12 anneaux en parallèle.

Il y a deux lignes de données, chacune avec 144 LED - une pour les 6 anneaux supérieurs (qui vont finalement à la broche UNO 6) et une pour les 6 anneaux inférieurs (qui vont finalement à la broche UNO 7). Chaque ligne de données commence par l'anneau le plus bas et remonte jusqu'à l'anneau le plus haut. J'avais initialement prévu de n'avoir qu'une seule ligne de données, mais à la sonnerie 8, j'ai commencé à voir d'étranges éclairs de lumière indésirables. J'ai d'abord pensé que cela pourrait être les rails d'alimentation, mais l'ajout de condensateurs sur les rails n'a pas aidé, j'ai donc eu recours à la division de la tour en deux lignes de données. Cela a résolu le problème.

Ci-dessus, une photo de la tour terminée. L'Arduino UNO est installé en bas. J'ai en fait utilisé mes 4 tiges acryliques restantes pour suspendre l'UNO, en utilisant de la colle chaude pour attacher le tout ensemble. Une approche alternative pourrait être de monter la tour sur une base avec l'ONU à l'intérieur. Il y a 4 connexions aux rails UNO, Ground et +5v qui se connectent aux 12 anneaux, et les deux lignes de données aux broches 6 et 7.

Logiciel

Les LED programmables comme l'APA106 sont faciles à utiliser car il existe plusieurs bibliothèques disponibles qui gèrent la synchronisation des impulsions de données utilisées pour les contrôler. Pour les projets précédents que j'ai réalisés avec des LED APA106 (mon 2e cube RVB 5x5x5 et le projet d'art du triangle), j'ai utilisé la bibliothèque logicielle populaire NeoPixel d'Adafruit. Mais pour cette tour, j'ai cependant choisi la bibliothèque FastLED. Il possède de nombreuses fonctionnalités intéressantes ainsi que des fonctions mathématiques rapides qui, selon moi, seraient utiles. Cela m'a également permis de remplacer facilement ma palette arc-en-ciel de 43 étapes plutôt grossière par une palette de 256 étapes. Il contient des centaines de fonctions, des palettes prédéfinies et d'autres éléments que je n'ai pas utilisés pour ce projet, mais qui en font un excellent choix pour ce projet et les futurs. Et encore une autre caractéristique de FastLED que j'ai trouvée très pratique est sa capacité à faire facilement des fondus.

J'aime toujours avoir une fonction qui me permette de spécifier facilement une LED et sa couleur. Avec cette tour, elle doit être sous la forme setColor (ligne, colonne, couleur), où la ligne correspond à l'anneau sur lequel elle se trouve et la colonne à la position sur cet anneau. Cette seule routine traite de toute la conversion à partir de quelle ligne de données la LED est allumée et quelle est sa position dans la chaîne de données.

Un outil puissant de la bibliothèque FastLED est sa classe d'objets de toutes les couleurs nommées Web. Vous spécifiez simplement la couleur comme CRGB::HotPink, où CRGB est la classe et HotPink est le membre de cette classe. Mais les membres de la classe sont difficiles à taper et ennuyeux à transmettre aux fonctions en tant que paramètres, j'ai donc utilisé des instructions #define pour configurer une petite palette de couleurs nommées que je peux faire référence simplement par leur nom sans le CRGB ::

J'ai une autre fonction qui définit la couleur d'une LED particulière en tant que teinte de palette arc-en-ciel de 0 à 255. Entre ces deux fonctions, je peux facilement spécifier 10 couleurs nommées ou générer une palette arc-en-ciel lisse de teintes pour n'importe quelle LED de la tour.

Une autre fonction de base que j'ai créée était la rotation (anneau, direction), qui fait pivoter le contenu de n'importe quel anneau autour de cet anneau. Chaque appel est une étape, mais cette routine peut être utilisée pour faire pivoter le contenu de la tour entière, ou faire pivoter des parties de la tour dans des directions opposées, etc., créant de nombreux effets intéressants.

Une autre chose que je pourrais mentionner à propos de la bibliothèque FastLED est qu'elle prend directement en charge les LED APA106 que j'utilise. Alors que la bibliothèque NeoPixel d'Adafruit fonctionnait également avec l'APA106, j'ai dû expérimenter la configuration pour bien faire les choses. Avec FastLED, la configuration est automatique en spécifiant simplement l'APA106 comme LED que vous utilisez.

Comme je l'ai dit au début, l'un des effets les plus intéressants que vous pouvez créer avec cette tour est l'intersection entre un cylindre et un plan. Au début, j'ai pensé à essayer d'accomplir cela à la volée avec les mathématiques. Mais il y a des problèmes quant à savoir si l'ONU est assez rapide et il s'est avéré que le faire dans les tables était assez facile, j'ai donc adopté la dernière approche. Fondamentalement, cette table éclaire l'intersection d'un plan avec la tour à 18 angles différents, et la hauteur à laquelle l'intersection a lieu peut être modifiée. Vous verrez les résultats à plusieurs endroits différents dans l'émission.

J'ai utilisé la même approche de table pour créer diverses intersections d'un cylindre avec une sphère. Cela a fonctionné, mais pas aussi efficace que l'intersection avec un avion. Il y a un effet dans le spectacle qui l'utilise. Ces deux tables sont stockées dans la mémoire programme, afin de ne pas consommer de RAM.

Il y a trois croquis pour l'UNO inclus dans le progiciel :

1) un test rapide pour une seule sonnerie.

2) un aperçu de 45 secondes du spectacle

3) le spectacle de 8 minutes avec 16 effets ou animations différents

Tous les trois sont montrés ici dans des vidéos de cet article (bien que le ring test soit quelque peu différent de celui de la vidéo).

Une dernière chose sur le logiciel. A la fin de la boucle principale, où les différentes animations sont appelées, j'ai ajouté une réinitialisation logicielle. Cela ne serait normalement pas nécessaire, mais j'ai un bogue quelque part dans mon logiciel. Sans la réinitialisation, après avoir exécuté de nombreuses passes à travers toutes les animations, le programme se bloque. J'ai probablement quelque chose qui ne sort pas de la pile dans la RAM quand il le devrait. Cela pourrait même être un problème dans la bibliothèque FastLED. Mais je ne l'ai jamais trouvé, et la réinitialisation du logiciel assure un bon fonctionnement, mais pas la solution la plus élégante.

Code

  • Code Arduino pour l'art des tours LED
  • Logiciel pour Tower Art
Code Arduino pour l'art de la tour LEDArduino
Ce téléchargement est un fichier zip unique avec 3 croquis :
1) un test d'anneau pour tester un seul anneau de la broche 6
2) présentation rapide - un aperçu de 45 secondes
3) l'émission qui dure 8 minutes avant de se répéter
Aucun aperçu (téléchargement uniquement).
Logiciel pour Tower ArtArduino
Ce téléchargement est un fichier zip unique avec 3 croquis :
1) un test d'anneau pour tester un seul anneau de la broche 6
2) présentation rapide - un aperçu de 45 secondes
3) l'émission qui dure 8 minutes avant de se répéter
Aucun aperçu (téléchargement uniquement).

Schémas


Processus de fabrication

  1. Éolienne
  2. Visualiseur de musique Arduino DIY LUMAZOID
  3. Attaque d'OVNI !
  4. Jeu de roulette DIY 37 LED
  5. Mélodie de la danse du cercueil
  6. Ardulock 3D RVB
  7. MyRiver
  8. Iron Man
  9. Jeu de manette