Rotierender POV-LED-Zylinder mit adressierbaren RGB-LED-Streifen

Mein Sohn und ich versuchen, einen etwas großen rotierenden POV-Zylinder (oder Globus) zu bauen, indem wir fertige adressierbare RGB-LED-Streifen (WS28011 oder LPD8806?) verwenden. Nach einigem Stöbern haben wir festgestellt, dass viele der Dinge im Internet Arduino und ähnliche Mikrocontroller verwenden. Sie erstellen auch ihre eigenen Codes oder Programme.

Da wir technisch nicht so kompetent sind, würden wir lieber auf unsere Windows-basierten PCs oder den T1000-Controller für den LED-Streifen zurückgreifen, wenn dies möglich ist. Wenn nicht, kennt mein Sohn ein bisschen C+ und Python. Wir würden versuchen, ein Video oder eine Reihe von Bildern auf dem rotierenden POV-Gerät abzuspielen. Wir überlegen, einen Raspberry Pi zu verwenden, da ich beabsichtige, Videos im POV zu zeigen und eine große Anzahl adressierbarer RGB-LEDs zu verwenden.

Meine Fragen sind:

  • Ist dieses Projekt realisierbar?
  • Könnte der Controller einfach eine Pixelzeile eines Bildes in einem Teil einer Mikrosekunde abspielen, während er gedreht wird, um das gewünschte Bild zu erzeugen? Die meisten POV-Beispiele im Internet sind nur einige Pixel hoch, während ich an etwas denke, das etwa 120 bis 240 Pixel hoch ist.
  • Welchen leicht erhältlichen Mikrocontroller oder Mikroprozessor schlagen Sie vor und warum?
  • Welchen adressierbaren RGB-LED-Streifen sollte ich verwenden? Wir ziehen die WS28011-Streifen in Betracht, da sie bis zu 144 LEDs pro Meter haben.
  • Es gibt einen T1000-Controller. Kann das verwendet werden?
  • Gibt es fertige Anwendungen, die es ermöglichen, Videos im rotierenden POV-Zylinder anzuzeigen (z. B. LedEdit für LED-Matrizen)? Vielleicht könnten wir die Ausgabe der LedEdit-App erwerben und diese in Spalten aufteilen.

Unten ist ein Bild dessen, was wir zu erreichen versuchen.

Rotierender POV-LED-Anzeigeplan

Wir würden uns über Ihre Kommentare und Ihr Feedback freuen. Ich möchte nur, dass mein Sohn (und ich dabei) von etwas lernt, das ihn zu interessieren scheint.

Grüße,

JB

Wenn Sie etwas mit einer Breite von 250 Pixeln bei einer Bildwiederholfrequenz von 20 Hz (was wahrscheinlich schmerzhaft langsam wäre) tun möchten, müssten alle 200 us neue Daten an jede LED geliefert werden. Viele adressierbare LED-Streifen verwenden eine Übertragungspause als Hinweis zum Aktualisieren ihrer Daten und können daher nicht so schnell aktualisiert werden, und selbst ohne diese Einschränkung wäre es schwierig, alle erforderlichen Pixel für jeden Frame auszutakten. Ich würde vorschlagen, Ihr System in kleine Abschnitte zu unterteilen, die sich automatisch aktualisieren können.
Danke schön! Das hat mein Sohn auch vorgeschlagen. In diesem Stadium haben wir uns entschieden (?) LPD8806 RGB-LEDs und Raspberry Pi zu verwenden. Dies erfordert mehrere Pis, wenn ich die Streifen teilen würde, oder? Wie viele LEDs pro Pi würden Sie vorschlagen, um eine respektable Bildwiederholfrequenz zu erreichen?
Ich würde den Raspberry Pi gleichzeitig als übertrieben, aber nicht ausreichend für die direkte Ansteuerung der LEDs betrachten, da er nicht wirklich darauf ausgelegt ist, viele Dinge mit präzisem Timing zu erledigen. So etwas wie ein Arduino wäre wahrscheinlich billiger und würde besser funktionieren. Richten Sie es ein, um einmal pro Umdrehung einen Interrupt zu verwenden, der einen Timer-Interrupt synchronisieren und starten sollte, der dann die Daten für die Lichter austakten würde.
Danke! Benötige ich mehrere Arduinos oder nur einen, um etwa 60 bis 120 LED-Streifen zu verarbeiten?
Man könnte wahrscheinlich eine gewisse Anzahl von Pixeln mit einem einzigen Arduino anzeigen; Optimierter Code kann möglicherweise zehnmal so viele anzeigen wie einfacherer Code. Ich würde vorschlagen, eine Architektur so einzurichten, dass zB jede Übertragung mit einem Null-Byte und einer Board-ID von 1-127 beginnt, gefolgt von Byte-Werten von 128-255, um die Pixelhelligkeit einzustellen, sodass man problemlos eine beliebige Anzahl von Arduinos verwenden kann. Dann könnte man die Anzahl der Arduinos leicht nach Bedarf anpassen, um die gewünschte horizontale Auflösung zu erreichen.
Danke! Ich werde sowohl einen Pi als auch einen Arduino kaufen. Denke auch über einen Beaglebone Black nach. Wünsch mir Glück! Ich hoffe, dass ich während des Baus noch eure Inputs bekomme. Ich beabsichtige, einen Blog zu erstellen, in dem detailliert beschrieben wird, was wir tun, was wir falsch gemacht haben und was hoffentlich richtig gelaufen ist ...

Antworten (2)

Dies ist ein sehr ehrgeiziges erstes Projekt, und es wird einiges an Arbeit erfordern, um es überhaupt zum Laufen zu bringen. Hier ein paar Gedanken:

  • Sie benötigen sehr robuste mechanische Komponenten, um etwas Großes, das sich schnell dreht, zu unterstützen. Idealerweise setzen Sie ein weiteres Lager auf die Oberseite.
  • Ausgewogenheit wird wichtig sein. Mit 4 Streifen wäre es einfacher.
  • Sie brauchen eine Möglichkeit, es sicher zu machen, was bedeutet, es einzuschließen. Ein durchsichtiges Acrylrohr würde gut funktionieren (und Ihnen die Möglichkeit geben, ein oberes Lager zu montieren), aber es wird nicht billig sein und das Licht streuen.
  • Ich erinnere mich nicht, was der Betrachtungswinkel der RGB-LEDs ist, aber es ist nicht großartig. Ihr Betrachtungsteil ist bestenfalls der 45-Grad-Winkel des Ihnen zugewandten Zylinders.
  • Strom und Daten zu den LEDs sind problematisch. Sie könnten Strom mit Schleifringen schieben (solange Sie auf der LED-Seite filtern), aber ich bezweifle, dass Sie Daten darüber schieben können. Das lässt Sie etwas Drahtloses tun, um die Daten nach draußen zu bringen, vielleicht 802.11 oder 802.15 oder etwas anderes. Da Sie für POV eine hohe Datenrate benötigen, müssen Sie hier gute Arbeit leisten.
  • WS2812 ist großartig, aber laut Phillip Burgess von adafruit in „The Magic of NeoPixels“ ist es nicht gut für POV. Sie empfehlen LPD8806. Weil "der WS2812 ... die Bildwiederholfrequenz relativ niedrig ist (etwa 400 Hz), und Farbdarstellungen im Zeitraffer möglicherweise "gesprenkelt" erscheinen". ... Für die POV-Nutzung sehen LPD8806-Streifen viel besser aus (sie haben eine Bildwiederholfrequenz von etwa 4 KHz)."
  • Sie können ws2812 mit dem Pi fahren, aber Sie benötigen dafür eine spezielle Bibliothek, und ich bin mir nicht sicher, welche Datenrate Sie erhalten.
  • Sie müssen auf jeden Fall Code für dieses Projekt schreiben.
Danke, Erich! Was den mechanischen Aspekt betrifft, denke ich, dass ich das abgedeckt habe, und ich beabsichtige, Lager an beiden Enden zu platzieren.
Was den mechanischen Aspekt betrifft, denke ich, dass ich das abgedeckt habe, und ich beabsichtige, Lager an beiden Enden zu platzieren. Was die Waage mit 4 Streifen betrifft, gefällt mir Ihr Vorschlag. Ich kann die 2 Streifen auch etwas weiter nach hinten verschieben, damit es dreidimensional erscheint (?). Und das wird zur Sicherheit beigelegt. Ich beabsichtige, Schleifringe für die Stromversorgung (vielleicht Daten) zu verwenden und den Controller an der Basis des rotierenden Displays zu verstecken. Hoffentlich konnte ich die Videos oder Bilder auf einer SD-Karte speichern. Ist das möglich. Ich werde LPD8806 ausprobieren, was bedeutet, dass ich eine andere Leitung für Uhr oder Daten haben werde. Welche Steuerung schlagen Sie vor?

Was Sie wollen, ist sehr nah an Stargate Eggbeater . Es verwendet Raspberry Pi, einen durchgehenden Streifen von 142 LPD8806 RGB-LEDs und einen Schleifring, um die Stromübertragung auf das rotierende Objekt zu lösen.

Ja, das habe ich gesehen, aber es scheint nur Bilder zeigen zu können, die manchmal in ihrem POV-Globus gespiegelt werden. Ich werde Schleifringe für die Stromversorgung verwenden, aber andere Optionen für die Daten untersuchen. Ich brauche Vorschläge, welche Controller ich verwenden soll? Danke noch einmal!