Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

LED-Turm-Kunst

Komponenten und Verbrauchsmaterialien

APA 106 programmierbare RGB-LED, 8 mm
× 288
Arduino UNO
× 1
22 Gauge verzinnter Kupferdraht
× 1
Metallringe mit 8 Zoll Durchmesser
× 12
12-Zoll-Acrylstäbe
× 10

Notwendige Werkzeuge und Maschinen

Lötkolben (generisch)
Heißklebepistole (generisch)
BlueTack-Kleber
Aufsteckbare Kühlkörper

Apps und Onlinedienste

Arduino-IDE

Über dieses Projekt

Die Inspiration für dieses Projekt sind die zahlreichen Kurven, die durch den Schnittpunkt eines Zylinders und einer Ebene entstehen! Ich wollte eine LED-Lichtshow erstellen, habe aber in letzter Zeit schon mehrere LED-Würfel gebaut. Ich wollte etwas anderes machen, sowohl aus Hardware- als auch aus Softwaresicht. Und ich dachte, dies wäre eine unterhaltsame Umgebung zum Programmieren – etwas mit so viel Potenzial wie ein Würfel, das aber deutlich anders ist!

Ich habe mich für die Verwendung von programmierbaren 8-mm-APA106-LEDs für diesen Turm entschieden. Sie sind teurer als normale RGB-LEDs, aber sie sind sowohl aus Hardware- als auch aus Softwaresicht so viel einfacher zu handhaben. Keine Schieberegister - alles wird über zwei Datenleitungen gesteuert. Und kein ISR (Interrupt Service Routine) und kein Multiplexing zwischen LED-Schichten - diese LEDs leuchten die ganze Zeit.

Ich beschloss, meinen Zylinder / Turm als Satz von 12 übereinander gestapelten Ringen zu bauen. Die Ringe haben einen Durchmesser von 8 Zoll und jeder Ring enthält 24 LEDs im Abstand von 1 Zoll (eigentlich π * 8 / 24, aber nahe einem Zoll). Die Ringe sind selbst 1 Zoll voneinander getrennt, sodass die LEDs in beide Richtungen 1" voneinander entfernt sind. Ein Acrylstab wird verwendet, um die Ringe aneinander zu befestigen, um den Turm zu bilden.

APA106 LEDs können 60 mA bei maximaler Helligkeit und Weiß verbrauchen, also könnte dieser Turm im schlimmsten Fall 17 Ampere ziehen! Aber diese LEDs sind so hell, dass ich selten die Helligkeit in der Software auf mehr als 10% eingestellt habe. Und den ganzen Turm weiß zu machen, wird auch nirgendwo wirklich gemacht. In der Praxis hatte ich also nie Probleme mit der Verwendung des USB-Anschlusses zur Stromversorgung. Und wenn Sie ein separates Netzteil verwenden möchten, scheinen 2 Ampere gut zu funktionieren.

Bau

Ich habe bei Amazon einige Metallringe mit einem Durchmesser von 8 Zoll gefunden, von denen ich dachte, dass sie eine gute Basis für meinen LED-Ring bilden würden. Es war tatsächlich eine angenehme Überraschung, als ich feststellte, dass ich sie leicht anlöten konnte! Der Begriff "leicht" ist relativ - der Ring ist schwer und viel Hitze ist erforderlich, um es heiß genug zu machen, also war mein 40-Watt-Lötkolben ganz aufgedreht und musste normalerweise 5-10 Sekunden dort sitzen, bevor das Lot geschmolzen ist.Ich habe den Ring zuerst mit Lot benetzt bevor Sie versuchen, eine LED daran zu löten, und verwenden Sie immer Clip-Kühlkörper an den Leitungen der LEDs.

Aber ich komme mir ein wenig voraus. Bevor Sie mit dem Löten von LEDs an den Ring beginnen können, müssen Sie 24 von ihnen gemäß dem Diagramm unten formen

Als Teil der Bleiformoperation habe ich eine kleine Biegung am Ende des Massekabels angebracht. Es erleichtert sowohl die Identifizierung als auch das Anbringen am Ring.

Ein weiterer Vorbereitungsschritt vor dem Löten von LEDs an den Ring besteht darin, 24 gerade Stellen auf dem Ring zu markieren, an denen die LEDs platziert werden. Ich fand auch die Notwendigkeit, den Ring beim Anbringen von LEDs vertikal zu klemmen. Am Ende habe ich die Vorrichtung unten verwendet, um den Ring an Ort und Stelle zu halten,

Nachdem einige LEDs auf den Ring gelötet sind, müssen die Dateneingangskabel wie unten gezeigt mit den Datenausgangskabeln verbunden werden. Beachten Sie, dass zum Schutz der LEDs immer Clip-on-Kühlkörper verwendet werden.

Nachdem sich alle LEDs am Ring befinden, sollten Sie einen Dateneingangskabel für den gesamten Ring haben, mit dem Datenausgangskabel gegenüber, um zum nächsten Ring darüber zu gehen. An diesem Punkt sind wir bereit, alle +5-Volt-Kabel mit einem begradigten Stück 22-Gauge-verzinntem Kupferdraht zu verbinden. Richten Sie ein 26" langes Stück Draht gerade, indem Sie ein Ende in einen Schraubstock einspannen und das andere Ende mit einer Zange kräftig ziehen. Dann befestigen Sie es wie unten gezeigt an den LEDs.

Wenn Sie einen fertigen Ring haben, können Sie ihn mit der beiliegenden Testskizze testen. Testen ist wichtig – eine defekte LED oder eine kalte Lötstelle lässt sich jetzt viel einfacher reparieren als mitten in einem fertigen Tower! Das Testen erfolgt durch Anschließen des offenen Dateneingangs-Pins an UNO-Pin6. Die mitgelieferte Testskizze unterscheidet sich etwas von der in diesem Video, sollte Ihnen aber zeigen, ob der Ring richtig funktioniert.

Jetzt müssen Sie 11 weitere Ringe machen. Es ist eine Menge Arbeit, aber mit ein wenig Übung können Sie die Aufgabe, einen Ring zu erstellen, auf ein paar Stunden reduzieren.

Es ist wichtig, dass die LEDs in jedem Ring mit ihren Gegenstücken auf den anderen Ringen ausgerichtet sind. Wenn die LEDs perfekt beabstandet sind, ist dies kein Problem, aber ich hatte genug kleine Variationen im Abstand, dass ich es für notwendig hielt, einen Ring als Schablone für die anderen zu verwenden und immer die offene Dateneingangsleitung (die eine, die nicht mit einem Datenausgangskabel verbunden ist) an derselben Stelle. (Wenn man sich meinen Turm genau ansieht, passen die ersten beiden Ringe nicht sehr gut zusammen. Aber danach habe ich diesen Vorlagenansatz mit einem viel besseren Ergebnis verwendet.)

Sobald Sie mindestens vier Ringe gebaut haben, können Sie mit dem Zusammenbau des Turms beginnen. Die Erstmontage der unteren vier Ringe ist wahrscheinlich der kritischste Teil der Konstruktion. Wir wollen keinen schiefen Turm von Pisa bauen! Um Ringe zusammenzusetzen, benötigen Sie 22 mm hohe Abstandshalter, um den 1 "Abstand zwischen den Ringen zu schaffen. Ich habe 3D-gedruckten schwarzen Kunststoff für meine Abstandshalter verwendet, aber 1/4" Verdübelung würde genauso gut funktionieren. Um die Abstandshalter an Ort und Stelle zu halten, habe ich ein wenig Blue Tack verwendet, einen temporären Klebstoff.

Die Ringe werden mit sechs 12 Zoll langen Acrylstäben zusammengehalten, um den Turm zu bilden. Es ist wichtig, dass alles genau an seinem Platz ist, bevor Sie diese Stäbe anbringen.. Wenn die Stäbe einmal heiß auf die Ringe geklebt sind, ist es fast unmöglich, Änderungen vorzunehmen, also bringen Sie alles zuerst an die gewünschte Stelle. Sobald Sie alles an Ort und Stelle haben, können Sie den Turm auf die Seite drehen und die Acrylstäbe mit Heißkleber auf die Ringe kleben. Das Foto unten zeigt die ersten vier Ringe mit den ersten drei befestigten Stäben. Drei weitere wurden dann für insgesamt sechs angebracht. Die Stäbe werden zwischen den LEDs mit 4 LEDs zwischen jedem Stab platziert.

Sobald alle Stäbe an den Ringen befestigt sind, können die Abstandshalter entfernt und dann wiederverwendet werden, wenn zusätzliche Ringe hinzugefügt werden. Wenn alle 12 Ringe vorhanden sind, sind wir bereit, die Masse, +5V und die Datenleitungen zwischen den Ringen zu verbinden. Dies geschieht mit 22 Gauge verzinntem Kupferdraht. Die Stromschienen sind mit allen 12 Ringen parallel verbunden.

Es gibt zwei Datenleitungen mit jeweils 144 LEDs - eine für die oberen 6 Ringe (die schließlich zu UNO-Pin 6) und eine für die unteren 6 Ringe (die schließlich zu UNO-Pin 7 gehen). Jede Datenleitung beginnt mit dem untersten Ring und arbeitet sich bis zum obersten Ring vor. Ich hatte ursprünglich geplant, nur eine einzige Datenleitung zu haben, aber bei Ring 8 begann ich einige seltsame unerwünschte Lichtblitze zu sehen. Ich dachte zuerst, dass es die Stromschienen sein könnten, aber das Hinzufügen einiger Kondensatoren über die Schienen half nicht, also griff ich darauf zurück, den Turm in zwei Datenleitungen aufzuteilen. Das hat das Problem gelöst.

Oben ist also ein Bild des fertigen Turms. Unten ist das Arduino UNO verbaut. Ich habe tatsächlich meine 4 verbleibenden Acrylstangen verwendet, um die UNO aufzuhängen, wobei ich Heißkleber verwendet habe, um alles zusammenzufügen. Ein alternativer Ansatz könnte darin bestehen, den Turm mit der UNO im Inneren auf einem Sockel zu montieren. Es gibt 4 Verbindungen zu den UNO-, Masse- und +5V-Schienen, die mit allen 12 Ringen verbunden sind, und die beiden Datenleitungen zu den Pins 6 und 7.

Software

Programmierbare LEDs wie die APA106 sind einfach zu verwenden, da mehrere Bibliotheken verfügbar sind, die das Timing von Datenimpulsen verarbeiten, die zu ihrer Steuerung verwendet werden. Für die vorherigen Projekte, die ich mit APA106-LEDs gemacht habe (mein zweiter 5x5x5-RGB-Würfel und das Triangle-Art-Projekt), habe ich die beliebte NeoPixel-Softwarebibliothek von Adafruit verwendet. Aber für diesen Turm habe ich mich jedoch für die FastLED-Bibliothek entschieden. Es hat viele großartige Funktionen und einige schnelle mathematische Funktionen, von denen ich dachte, dass sie sich als nützlich erweisen würden. Es ermöglichte mir auch, meine eher grobe 43-Stufen-Regenbogenpalette leicht durch eine 256-Stufen-Palette zu ersetzen. Es hat Hunderte von Funktionen, vordefinierte Paletten und andere Dinge, die ich für dieses Projekt nicht verwendet habe, aber die es zu einer großartigen Wahl für dieses und zukünftige Projekte machen. Und noch ein weiteres Feature von FastLED, das ich sehr praktisch fand, ist seine Fähigkeit, leicht Überblendungen durchzuführen.

Ich möchte immer eine Funktion haben, mit der ich eine LED und deren Farbe einfach festlegen kann. Bei diesem Turm muss es in der Form von setColor(row, column, color) vorliegen, wobei row der Ring ist, auf dem er sich befindet, und column die Position auf diesem Ring. Diese eine Routine befasst sich mit der gesamten Konvertierung, von welcher Datenleitung die LED leuchtet und an welcher Position sie sich in der Datenkette befindet.

Ein leistungsstarkes Werkzeug in der FastLED-Bibliothek ist die Objektklasse aller im Web benannten Farben. Sie geben einfach die Farbe als CRGB::HotPink an, wobei CRGB die Klasse und HotPink das Mitglied dieser Klasse ist. Aber Klassenmitglieder sind schwer zu tippen und nervig, sie als Parameter an Funktionen zu übergeben, daher habe ich #define-Anweisungen verwendet, um eine kleine Palette benannter Farben einzurichten, auf die ich ohne CRGB::einfach durch ihren Namen verweisen kann.

Ich habe eine andere Funktion, die die Farbe einer bestimmten LED als Regenbogenpalettenfarbton von 0 bis 255 festlegt. Zwischen diesen beiden Funktionen kann ich leicht 10 benannte Farben angeben oder eine glatte Regenbogenpalette von Farbtönen für jede LED im Turm generieren.

Eine andere grundlegende Funktion, die ich erstellt habe, war Rotieren (Ring, Richtung), die den Inhalt jedes Rings auf diesem Ring dreht. Jeder Aufruf ist ein Schritt, aber diese Routine kann verwendet werden, um den Inhalt des gesamten Turms oder Teile des Turms in entgegengesetzte Richtungen usw. zu drehen, wodurch viele interessante Effekte erzielt werden.

Eine andere Sache, die ich über die FastLED-Bibliothek erwähnen möchte, ist, dass sie die von mir verwendeten APA106-LEDs direkt unterstützt. Während die NeoPixel-Bibliothek von Adafruit auch mit dem APA106 funktionierte, musste ich mit dem Setup experimentieren, um es richtig zu machen. Bei FastLED erfolgt die Einrichtung automatisch, indem Sie einfach den APA106 als die von Ihnen verwendete LED angeben.

Wie ich eingangs sagte, ist einer der interessanteren Effekte, die Sie mit diesem Turm erzeugen können, Schnittpunkte zwischen einem Zylinder und einer Ebene. Zuerst dachte ich darüber nach, dies im Handumdrehen mit Mathematik zu erreichen. Es gibt jedoch Probleme damit, ob die UNO schnell genug ist, und es stellte sich heraus, dass dies in Tabellen ziemlich einfach war, also habe ich den letzteren Ansatz gewählt. Grundsätzlich beleuchtet diese Tabelle den Schnittpunkt einer Ebene mit dem Turm in 18 verschiedenen Winkeln, und die Höhe, in der der Schnittpunkt stattfindet, kann variiert werden. Sie werden die Ergebnisse an verschiedenen Stellen in der Show sehen.

Ich habe den gleichen Tabellenansatz verwendet, um verschiedene Schnittpunkte eines Zylinders mit einer Kugel zu erstellen. Es funktionierte, wenn auch nicht annähernd so effektiv wie der Schnitt mit einer Ebene. Es gibt einen Effekt in der Show, der ihn verwendet. Beide Tabellen werden im Programmspeicher gespeichert, um keinen RAM zu verbrauchen.

Im Softwarepaket sind drei Skizzen für die UNO enthalten:

1) ein schneller Test für einen einzelnen Klingelton.

2) eine 45-sekündige Vorschau der Show

3) die 8-minütige Show mit 16 verschiedenen Effekten oder Animationen

Alle drei werden hier in Videos in diesem Artikel gezeigt (obwohl der Ringtest etwas anders ist als der im Video).

Eine letzte Sache zur Software. Am Ende der Hauptschleife, wo die verschiedenen Animationen aufgerufen werden, habe ich einen Software-Reset hinzugefügt. Dies wäre normalerweise nicht notwendig, aber ich habe irgendwo einen Fehler in meiner Software. Ohne das Zurücksetzen bleibt das Programm nach mehreren Durchläufen durch alle Animationen hängen. Wahrscheinlich habe ich etwas, das nicht vom Stapel im RAM kommt, wenn es sollte. Es könnte sogar ein Problem in der FastLED-Bibliothek sein. Aber ich habe es nie gefunden, und der Software-Reset sorgt für einen reibungslosen Betrieb, wenn auch nicht die eleganteste Lösung.

Code

  • Arduino-Code für LED-Turm-Kunst
  • Software für Turmkunst
Arduino-Code für LED-Turm-KunstArduino
Dieser Download ist eine einzelne ZIP-Datei mit 3 Skizzen:
1) ein Ringtest zum Testen eines einzelnen Rings von Pin 6
2) Schnelle Show - eine 45-sekündige Vorschau
3) die Show, die 8 Minuten dauert, bevor sie wiederholt wird
Keine Vorschau (nur Download).
Software für TurmkunstArduino
Dieser Download ist eine einzelne ZIP-Datei mit 3 Skizzen:
1) ein Ringtest zum Testen eines einzelnen Rings von Pin 6
2) Schnelle Show - eine 45-sekündige Vorschau
3) die Show, die 8 Minuten dauert, bevor sie wiederholt wird
Keine Vorschau (nur Download).

Schaltpläne


Herstellungsprozess

  1. Windkraftanlage
  2. DIY LUMAZOID Arduino Music Visualiser
  3. UFO-Angriff!
  4. DIY 37 LED-Roulette-Spiel
  5. Sargtanzmelodie
  6. 3D RGB Arduclock
  7. MyRiver
  8. Iron Man
  9. Joystick-Spiel
  10. Analoge LED-POV-Uhr