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

Dynamische Dreieckskunst

Komponenten und Verbrauchsmaterialien

APA-106 programmierbare RGB-LED
× 45
22 Gauge verzinnter Kupferdraht
× 1
Arduino UNO
× 1
Sperrholzdreieck 12 Zoll an einer Seite, 1/4 Zoll. Dicke
× 1

Notwendige Werkzeuge und Maschinen

Lötkolben (generisch)
Heißklebepistole (generisch)
Kühlkörper-Clips
Verwenden Sie diese, um LEDs vor Löthitze zu schützen

Über dieses Projekt

Einführung

Dieses Projekt verwendet 45 programmierbare APA-106-LEDs, die von einem Arduino UNO gesteuert werden. Diese LEDs ähneln einzeln programmierbaren LED-Streifen, daher verwenden wir die Neo-Pixel-Bibliothek von Adafruit, um sie zu steuern. Ein einzelner Pin am UNO programmiert das gesamte Display, da eine einzelne Datenleitung zu allen LEDs in einer Kette führt.

Die Inspiration für dieses Design waren zwei meiner früheren Projekte. Mein zweiter 5x5x5 RGB-Würfel (ein weiterer 5x5x5 RGB-Würfel) verwendete programmierbare APA-106-LEDs und mir blieben etwa 75 Extras übrig. Ich hätte daraus einen 4x4x4 Würfel bauen können, aber ich habe in letzter Zeit viele Würfel gebaut - Zeit für etwas anderes. Mein Servo Motor Art-Projekt wurde als Dreieck gebaut und dieses Dreiecksdesign hat viele interessante Muster geschaffen. Dieses Projekt verwendet also 45 APA-106-LEDs, die in einem Dreiecksmuster angeordnet sind, um die Dreieckskunst weiter zu erforschen.

Dies ist ein ziemlich einfaches Projekt sowohl aus Hardware- als auch aus Softwaresicht. Schauen wir uns zuerst die Hardware und dann die Software an.

Hardware

Die Hardware besteht nur aus der UNO und 45 LEDs. Diese LEDs sind bei voller Leistung wahnsinnig hell, daher habe ich die Helligkeit des gesamten Displays auf 30 auf einer Skala von 0 bis 255 eingestellt. Auf dieser Ebene können die UNO und alle LEDs direkt über den USB-Eingang der UNO mit Strom versorgt werden, so dass eine 1-Ampere-5-Volt-Stromversorgung optional ist.

Der erste Schritt beim Bau besteht darin, Löcher in ein Stück 1/4 Zoll Sperrholz zu bohren. Das Brett selbst ist 12 Zoll an jeder Kante. Die LEDs sind in einem sorgfältig konstruierten gleichseitigen Dreieck 1 Zoll voneinander entfernt. Die LEDs sind 8 mm groß, also habe ich 8 mm Löcher gebohrt, die den LEDs einen festen Sitz gaben - sie bewegten sich nach dem Eindrücken überhaupt nicht.

Oben links ist die APA-106 LED. Die lange Leitung ist geschliffen. Datenausgang ist die Ableitung rechts neben dem flachen Rand des Pakets. Die erste Leitung links ist Dateneingang und die nächste Leitung zwischen Dateneingang und Masse ist +5V. Diese 4 Leitungen sind wie rechts abgebildet gebogen. Das Erdungskabel hat am Ende eine zweite Biegung - es dient nur der Identifizierung des Erdungskabels, da es schwer zu sehen ist, wenn alle gebogen sind.

Das obige Bild zeigt, wie die Platine verdrahtet ist. Beachten Sie zunächst, dass sich die Datenleitung in Blau nach vorne bewegt, wenn die LEDs miteinander verkettet sind. Das bedeutet, dass in ungeraden Zeilen Daten von links nach rechts fließen, während in geraden Zeilen Daten von rechts nach links fließen. Dies führt auch dazu, dass sich die Stromschienen für ungerade Reihen von geraden Reihen unterscheiden. Bei ungeraden Reihen geht das Massekabel nach oben und das +5V-Kabel nach unten, dann das Gegenteil für gerade Reihen.

Das Foto oben zeigt die Verkabelung. Es wird alles mit 22 Gauge blankem verzinntem Kupferdraht gemacht. Ich habe die Masseschienen links und die +5V-Schienen rechts gesammelt. Sie sollten genau das Gegenteil tun. Jede Datenleitungsverbindung auf meinem Board musste über eine Stromschiene gehen, aber wenn Sie Masse nach rechts und +5V nach links schalten, müssen die Datenleitungen nichts kreuzen!

Oben ist eine Nahaufnahme der Verkabelung. Beachten Sie, wie die Datenleitung auf der rechten Seite die Oberseite der 5-Volt-Stromschiene kreuzt.

Das Foto oben zeigt das fertige Board. Ich habe einige kleine Plastikstücke als Abstandshalter für die UNO verwendet und die UNO mit etwas Heißkleber auf der Platine befestigt.

Das Foto oben zeigt das Dreieck in einem Fall. Dies ist ein 3D-Druck aus der hier enthaltenen .stl-Datei. Sie könnten auch leicht genug aus Sperrholz bauen.

Software

Die Software ist dank der Neo-Pixel-Bibliothek von Adafruit ziemlich einfach. Es gibt uns setPixelColor (# in der Kette, Farbe), um die Farbe einer beliebigen LED zu definieren, und show (), die die gesamte Anzeige auf die neuesten Änderungen aktualisiert. Die Bibliothek verwendet eine 32-Bit-Zahl ohne Vorzeichen, um die Farbe einer LED darzustellen, wobei jeweils 8 Bit für die Intensität von Rot, Grün und Blau gespeichert werden. Ich habe dieses Schema direkt zum Aufhellen und Dimmen der Primärfarben verwendet, aber für alles andere habe ich mein eigenes einfaches Farbmanagement-Schema verwendet, das ich von meinen LED-Würfeln übernommen habe. Es ist ein einfaches Schema, bei dem die Zahlen 1 bis 42 eine Regenbogenfarbpalette darstellen, wobei 0 für Schwarz (alles aus) und 43 für Weiß (alles an) hinzugefügt wird.

Sie haben vielleicht im obigen Schaltplan bemerkt, dass die LEDs oben mit 0 beginnen und reihenweise von links nach rechts nummeriert sind. Dies ist das Nummerierungssystem, das ich verwendet habe, um LEDs zu identifizieren. Es geht nicht wie die Datenleitung hin und her, also habe ich meine eigene Version von setPixelColor erstellt, die sich durch meine Nummernzuweisung auf LEDs bezieht und es mir ermöglicht, eine Farbe mit meiner 0 bis 43-Farbpalette anzugeben.

Fast alle Animationen oder Effekte, die Sie im Video sehen, sind tabellengesteuert. Eine Tabelle zeigt Ihnen, wie Sie von der oberen Ecke aus fegen. Zwei weitere Tabellen übertragen diesen Effekt auf die anderen beiden Ecken. Eine andere Tabelle zeigt Ihnen die LEDs im äußeren Dreieck, dann im mittleren und dann im innersten Dreieck. All diese verschiedenen Tabellen werden im Programmspeicher statt im RAM gespeichert. Ich hatte anfangs Bedenken, dass all diese Tabellen zu viel wertvollen Programmplatz beanspruchen würden. Die Verwendung dieses Tabellenansatzes erwies sich jedoch als sehr effizient und der Programmplatz war nie ein Problem.

Das Programm oder die Skizze ist in der Arduino IDE in vier Dateien oder Registerkarten unterteilt. Die erste sind Deklarationen, Tabellen und die Setup-Routine. Die zweite ist die Hauptschleife, die einfach eine Liste der verschiedenen Animationen aufruft. Das dritte sind die Animationen selbst. Das vierte sind die Allzweckfunktionen oder Subroutinen, die alle Animationen unterstützen.

Im Video oben sehen Sie die Originalshow mit 15 Animationen. Es dauert ungefähr 3 Minuten, bevor es wiederholt wird. Seitdem habe ich die Show jedoch um eine Reihe neuer Animationen erweitert, die Sie im folgenden Video sehen können.

Alle Animationen im obigen Video werden alle mit Aufrufen einer einzelnen Unterroutine namens rotation() ausgeführt. Das Dreieck besteht aus einem äußeren Dreieck von 24 LEDs, einem mittleren Dreieck von 15 LEDs und einem inneren Dreieck von 6 LEDs. Der gemeinsame Nenner dieser drei Zahlen ist 120. In 120 Schritten können wir also den Inhalt des gesamten Dreiecks um 360 Grad drehen. Das ist, was die rotate()-Routine tut. Ändern Sie die Startmuster, ändern Sie die Drehrichtung, ändern Sie die Drehgeschwindigkeit und Sie erhalten alle Effekte, die Sie im obigen Video sehen.

Die Show im Download enthält jetzt die Originalshow sowie alle obigen Animationen, wodurch eine Show mit 26 Animationen erzeugt wird, die 5 Minuten dauert, bevor sie wiederholt wird.

Code

  • Arduino-Code für das Kunstdreieck
Arduino-Code für das KunstdreieckArduino
Dies ist eine ZIP-Datei mit einer Testroutine, einer Show mit 26 Animationen und einer Anleitung zur Verwendung der Neo-Pixel-Bibliothek
Keine Vorschau (nur Download).

Kundenspezifische Teile und Gehäuse

Eine .stl-Datei für ein Gehäuse

Schaltpläne


Herstellungsprozess

  1. Rechtsdreieck-Trigonometrie
  2. Trigonometrie mit nicht rechtwinkligem Dreieck
  3. Speicherprogrammierbare Steuerungen (SPS)
  4. C Dynamische Speicherzuweisung
  5. Walabasquiat:Eine interaktive generative Kunstinstallation!
  6. Dynamischer C++-Speicher
  7. G.AL® C330 Dynamisch
  8. G.AL® C210 Dynamisch
  9. Horizontalfräsen ist die Kunst der effizienten Produktion
  10. Unterschied zwischen dynamischer und Verdrängerpumpe