3 Punkte von GN⁺ 2023-12-03 | 1 Kommentare | Auf WhatsApp teilen
  • Ein Prototyp eines handflächengroßen 3D-Anzeigegeräts auf Basis des Persistence-of-Vision-Effekts (POV), bei dem eine kleine LED-Matrix, ein RP2040-Board, eine LIR2450-Batterie und ein Motor als Ganzes rotieren
  • Eine 8x10-LED-Matrix wird gedreht, und ein IR-Sensor liest die Periode aus; passend zur gemessenen Geschwindigkeit wird ein volumetrischer Buffer ausgegeben
  • Unter Nutzung der zwei Kerne des RP2040 und gleichzeitiger GPIO-Steuerung misst ein Kern die Rotationsintervalle, während der andere die LED-Daten zyklusgenau ausgibt
  • Schutzschaltung der Batterie, Lademethode, Haltbarkeit des 3D-gedruckten Halters und das Fehlen einer LED-Strombegrenzung sind die wichtigsten Einschränkungen; im Prototyp wird bei unter etwa 3,6 V gewarnt
  • Mit Blender wurden 3D-Polarkoordinaten-Slices und Daten aus Flüssigkeits- und Feuersimulationen erstellt, doch auf der Kamera wirkt die räumliche Tiefe schwächer als in Wirklichkeit; in der nächsten Version sind bessere Ausrichtung und höhere Auflösung nötig

Idee einer rotierenden elektronischen Kerze

  • Ziel war es, eine elektronische Kerze zu bauen, die aus jedem Blickwinkel wie eine flackernde Kerzenflamme aussieht
  • Gewöhnliche POV-Displays benötigen Stützstrukturen wie Lager und Schleifringe; daher wurde ein Ansatz gewählt, bei dem Motor und Batterie klein genug sind, damit das gesamte Gerät gemeinsam rotiert
  • Das LED-Matrix-Board wurde zusammen mit einer anderen PCB-Bestellung aufgegeben, um es schnell herzustellen
    • Kleine PCBs aus China sind praktisch sehr günstig, und schnelle Lieferung war der wichtigere Faktor
  • Verwendet wurde eine Charmhigh CHM-T36VA Pick-and-Place-Maschine
    • Das Auflegen der Bauteilrollen dauert lange, aber diese LED-Matrix bestand nur aus einer einzigen Bauteilart, sodass sich die Bestückung schnell wiederholen ließ
  • Es wurde keine reguläre Schablone gefertigt; stattdessen wurde Acetat per Laserätzung verwendet
  • Die LED-Matrix wurde jeweils mit 0603- und 0805-Bauteilen gefertigt; für spätere Versionen ist eine runde PCB zur rechtwinkligen Abstützung geplant

Hardware-Aufbau

  • Als Mikrocontroller wurde wegen kompakter Größe und Flash-Kapazität ein Waveshare RP2040-tiny gewählt
    • Der Raspberry Pi Pico bietet zwei Kerne mit 125 MHz, bis zu 16 MB Flash und einen niedrigen Preis, aber das Board selbst ist zu groß
    • Der nackte RP2040 benötigt externen QSPI-Flash, Quarz und zusätzliche Kondensatoren, was den Standalone-Einsatz unpraktisch macht
    • Das RP2040-tiny ist praktisch eine halbierte Version des Pico; USB-Port sowie Reset-/Boot-Tasten sitzen auf einer per Flachbandkabel angeschlossenen Zusatzplatine
  • Als Batterie wurde eine LIR2450 verwendet
    • Sie ist wiederaufladbar auf Lithium-Ionen-Basis und kann mehr als 100 mA liefern
    • Kleinere Li-Ion-Batterien bieten weniger Kapazität und geringere Stromlieferfähigkeit
    • Da das RP2040-Board diagonal etwa 29 mm misst, würde selbst eine kleinere Batterie das Endergebnis nicht weiter verkleinern
  • Der Batteriehalter wurde aus PETG 3D-gedruckt
    • Die erste Version hatte 0,5 mm Wandstärke und bestand aus zwei verklebten Teilen; dadurch brach die Klebenaht bei jedem Sturz leicht
    • Später wurden 1 mm Wandstärke und andere Druckorientierungen ausprobiert
  • Die Rotationsmessung erfolgt über einen TCRT5000-IR-Sensor
    • Sein Ausgang ist analog, wurde aber mit Pull-up direkt an einen GPIO angeschlossen
    • Der RP2040-Eingang besitzt einen per Software deaktivierbaren Schmitt-Trigger und konnte damit praktisch wie ein Komparator genutzt werden
  • Als Motor wurde ein RF-410CA gewählt
    • Ähnliche CD-/DVD-Laufwerksmotoren unterschieden sich leicht in Durchmesser und Wellenlänge
    • Für 30 FPS werden etwa 1800 RPM benötigt; die Leerlaufdrehzahl vieler kleiner Motoren von 5000 bis 10000 RPM ist dafür zu hoch
    • Die Geschwindigkeit wurde daher per PWM abgesenkt

Schaltung und Zusammenbau des Prototyps

  • Die LED-Matrix hat eine 8x10-Struktur und nutzt 18 GPIOs
    • Hinzu kommen je 1 Eingang/Ausgang für Sensor, Motorsteuerung und Batterieüberwachung
  • Die auf dem Board vorhandene WS2812-LED war an GPIO16 angeschlossen; um GPIOs für die Matrix freizumachen, wurde die LED entfernt und Lackdraht angelötet
  • Für die Motorsteuerung wurden ein kleiner SOT-23-MOSFET und eine Freilaufdiode im Deadbug-Aufbau angebracht
  • Die IR-LED ist direkt mit der Versorgung verbunden
    • Ideal wäre eine Software-Steuerung zur Stromersparnis im Stillstand, im Prototyp wurde das jedoch weggelassen, um GPIOs zu sparen
  • Die LED-Matrix ist ohne Strombegrenzungswiderstände oder Treibertransistoren direkt an die GPIOs angeschlossen
    • Der gesamte Source-/Sink-Strom der RP2040-GPIOs liegt bei etwa 50 mA
    • Verlassen wird sich auf den Einschaltwiderstand der GPIOs und die Begrenzung durch den PWM-Duty-Cycle; falls der Chip hängen bleibt und die Matrix statisch leuchtet, könnten die LEDs überlastet werden
  • Der Pluspol der Batterie ist direkt mit VBUS des Boards verbunden
    • In dieser Konfiguration können beim Anstecken eines USB-Kabels 5 V an den Batteriekontakten anliegen; das ist eher ein provisorischer Hack auf Prototyp-Niveau
  • Zum Entnehmen der Batterie wurde hinten ein kleines Loch gebohrt; nachdem der Kunststoff brach, wurde die Batterie mit einem Gummiband fixiert

Anzeigesteuerungs-Software

  • Die Software überwacht den IR-Sensor und bestimmt anhand der Zeit zwischen Triggern die Anzeigegeschwindigkeit der Matrix
  • Ein Vorteil des RP2040 ist, dass alle GPIO-Pins im selben Taktzyklus gesetzt oder eingelesen werden können
    • Beim STM32 sind die IOs trotz 32-Bit-Prozessor in 16-Bit-Registern gruppiert, was bei gleichzeitigen Änderungen zu Buskonflikten führen kann
  • Die benötigten GPIO-Ausgabedaten werden vorab aufbereitet und dann proportional zur gemessenen Rotationsgeschwindigkeit sequenziell ausgegeben
  • Die Dual-Core-ARM-Cortex-M0 werden statt per Interrupt mit Busy-Wait-Schleifen betrieben
    • Der erste Kern überwacht den IR-Sensor und misst mit SysTick die Zyklenzahl zwischen Triggern
    • Der zweite Kern wartet auf das Beleuchtungssignal und durchläuft dann mit eigenem SysTick den volumetrischen Buffer zyklusgenau
  • Die Motorregelung begann mit einer einfachen Logik
    • Unter 1200 RPM läuft der Motor mit 90 % Leistung
    • Andernfalls wird auf 60 % abgesenkt
    • Dank Trägheit und Luftwiderstand funktioniert diese einfache Regelung im aktuellen Prototyp ausreichend gut
  • Die Matrix wird spaltenweise gescannt
    • Von oben betrachtet wird dadurch jede radiale Linie leicht spiralig, was aber leichter zu korrigieren ist, als wenn die gesamte Form helikal wäre
    • Der Duty-Cycle der zentralen LEDs wird proportional stärker reduziert als der der äußeren

Batterieüberwachung und Laden

  • Eine nackte LIR2450-Zelle hat keine Schutzschaltung und kann bei zu niedriger Spannung dauerhaft beschädigt werden
    • Problematisch wird es deutlich unter 3 V; die tatsächliche Grenze liegt je nach Zelle bei ungefähr 2,7 V
  • Die Spannungsüberwachung erfolgt über einen Spannungsteiler aus zwei 100K-Widerständen an dem letzten verfügbaren GPIO
  • Beim RP2040-tiny war die ADC-Referenzspannung variabel
    • Wenn die ADC-Referenz die Versorgungsspannung ist, lässt sich ein fallender Batteriestand schlechter erkennen, sobald die Versorgungsspannung selbst sinkt
    • Der RT9193-33-3,3-V-LDO hat bei 300 mA einen Dropout von 220 mV; erreicht die Batterie 3,52 V, beginnt auch die Versorgung des RP2040 abzufallen
    • Im Prototyp ist die Warnschwelle auf etwa unter 3,6 V gesetzt
    • In der nächsten Version ist eine zusätzliche Referenzspannung geplant
  • Anfangs wurde die Batterie entnommen und in einem separaten Ladegerät geladen, doch das neue Ladegerät fiel beim ersten Einsatz aus
  • Danach wurde zum Laden einer einzelnen Li-Ion-Zelle ein Labornetzteil mit 50-mA-Strombegrenzung und 4,2 V Konstantspannung verwendet
    • Da unklar war, ob die Batteriekapazität 120 mAh oder 60 mAh beträgt, wurde ein konservativerer Ladestrom von unter 1C gewählt
  • Für die Entwicklung wurde ein USB-Intercept-Board gebaut und zwischen PC und RP2040-tiny-Programmierboard gesteckt
    • Die 5-V-Leitung wurde getrennt und Batteriepins herausgeführt, sodass sich ein Netzteil anschließen ließ, ohne die Batterie auszubauen
    • Die Datenleitungen blieben verbunden, daher konnte auch mit eingesetzter Batterie programmiert werden
  • Später wurde ein BQ21040DBVR-Li-Ion-Lade-IC mittig auf das USB-Intercept-Board gesetzt
    • Damit kann die Batterie geladen werden, während das Programmierkabel angeschlossen bleibt
    • Der Prototyp schaltet sich dabei nicht aus und verbraucht allein durch die IR-LED weiterhin etwa 9 mA; der gesamte Ruhestrom liegt bei ungefähr 15 mA, sodass die Bedingung für das vollständige Ladeende nicht erreicht wird
    • Wegen Spannungsabfall im Kabel steigt die Batteriespannung möglicherweise auch nicht über 4,1 V

Volumetrische Daten mit Blender erzeugen

  • Die Anzeigedaten müssen in Form von 3D-Polarkoordinaten r, theta, z erzeugt werden
  • Der erste Test erfolgte mit einem Drahtgitterwürfel
    • Auf den Standardwürfel in Blender wurde ein Wireframe-Modifier angewendet
    • Damit die Würfelkanten nach oben zeigen, wurde der Würfel um 45 Grad um die x-Achse und um atan(1/sqrt(2)) um die y-Achse rotiert
  • Zur Erzeugung der Slices wurde ein anderer Würfel zu einer dünnen Scheibe verformt und mit einem Boolean-Modifier verwendet
    • Kamera und Slice wurden an ein Empty geparentet und die Z-Rotation des Empty animiert
    • Die Kamera wurde auf orthografisch gestellt und die Auflösung auf 8x10 gesetzt
    • Der Hintergrund war schwarz, das Würfelmaterial emissiv, und über die Colour-Ramp im Compositor wurde der Schwellenwert festgelegt
  • Das aktuelle Display nutzt nur 1-Bit-Voxel
    • Jedes Voxel ist entweder an oder aus
    • In Blender wurde der Schwellenwert visuell angepasst, um einen geeigneten Cutoff zu wählen
  • Render animation erzeugte 24 Slice-Bilder des Drahtgitterwürfels, die per Python-Skript in eine Header-Datei umgewandelt und in den Code eingebunden wurden
  • Mit Blender-Drivern wurden Kamerarotation und Würfelrotation über framebasierte Formeln gesteuert
    • Für die Kamerarotation wurde (frame/24)*2*pi verwendet
    • Für die y-Rotation des Würfels wurde floor(frame/24)*pi/24 genutzt, damit er sich pro Umdrehung schrittweise weiterdreht
    • Ziel war, jeden Datenframe diskret zu halten, damit sich die Wiedergabegeschwindigkeit an die Motordrehzahl anpassen lässt

Flüssigkeits- und Feuersimulation

  • Die Flüssigkeitssimulation in Blender ist leicht zu starten, aber wegen der vielen Parameter schwer gezielt auf das gewünschte Ergebnis einzustellen
  • Eine Flüssigkeitssimulation lässt sich relativ leicht von Fluidpartikeln in ein Mesh umwandeln und daher vergleichsweise gut auf ein volumetrisches Display übertragen
  • Es wurde versucht, die Simulation mit 1/24 Geschwindigkeit laufen zu lassen und dann auf dieselbe Weise polarkoordinatenbasierte volumetrische Daten zu extrahieren, doch die extrem langsame Zeitskala führte zu Instabilitäten, und es wurde kein einfacher Weg gefunden, die Wiedergabe zu verlangsamen
  • Auch die Funktionen Multi-view oder Stereoscopy wurden untersucht
    • Es lassen sich mehrere Kameras hinzufügen, um mehrere Blickwinkel gleichzeitig zu rendern
    • Unklar blieb jedoch, wie sich 24 Kameras schnell gleichmäßig rotieren lassen; außerdem müssten die Boolean-Modifier für die Slices mitgerendert werden
  • Als Umweg wurde auch versucht, mit der Clipping Distance der Kamera eine dünne Szene-Scheibe zu rendern
    • Dabei entstand das Problem, dass das Innere abgeschnittener Objekte nicht gefüllt wird und nur die Oberfläche gezeichnet wird
    • Es wurde experimentiert, ob sich das mit volumetrischem Material teilweise füllen ließe, jedoch ohne Erfolg
  • Schließlich wurde 24-mal per Blender-Python-Skript gerendert
    • Die Z-Rotation des Empty wurde auf 24 Winkel gesetzt, und bei jedem Winkel wurde die gesamte Animation erneut gerendert
    • So konnten die Slices jeder Rotationsrichtung erzeugt werden, während die Fluidsimulation in Echtzeit erhalten blieb
  • Die Feuersimulation wurde als OpenVDB gebacken und anschließend wieder in Blender importiert
    • Ein Volume-to-Mesh-Modifier wandelte die Volumendaten per Schwellenwert in Geometrie um
    • Danach wurden Kameraslice und Boolean-Modifier angewendet und dasselbe Skript erneut ausgeführt

Anzeigequalität und nächste Version

  • Das reale Gerät wirkt stärker dreidimensional als auf Fotos oder Videos
  • Fehler in der LED-Ausrichtung lassen sich möglicherweise per Software korrigieren
    • Die Position des Boolean-Slices kann leicht vom Zentrum verschoben werden, um sie an das tatsächliche Rotationszentrum anzupassen
    • Anstelle eines gestreckten Würfels könnte auch eine leicht gekrümmte Form verwendet werden, um das Scanmuster der Matrix zu korrigieren
    • Bei der aktuellen Auflösung sind solche Verbesserungen womöglich noch nicht deutlich sichtbar
  • Die wichtigste Bedingung ist, dass einzelne Voxel am Rand aus jedem Winkel wie ein einziger Punkt erscheinen
    • Bei Fehljustierung kann ein Voxel verlängert wirken, als würde es zweimal aufleuchten
  • Das zentrale Zeichen m wurde separat gerendert, damit es aus allen Richtungen lesbar ist
    • Der Text wird so gescrollt, dass er sowohl von vorne als auch von hinten lesbar bleibt
  • Im nächsten Prototyp sollen Ausrichtung und Auflösung verbessert werden
  • Da kein kleiner Schiebeschalter verfügbar war, konnte keine Abschaltfunktion ohne Trennen der Batterie eingebaut werden; stattdessen wurde ein kleines Stück Acetat zwischen Batterie und Kontakt geklemmt
  • Da bereits ein IR-Sensor vorhanden ist, scheint auch eine Fernbedienung möglich, allerdings ist der aktuelle Sensor nicht demodulierend
  • Der Quellcode ist auf GitHub veröffentlicht: source code on github

1 Kommentare

 
GN⁺ 2023-12-03
Meinungen auf Hacker News
  • Ich hätte ein paar Verbesserungsideen. Wenn du denselben Motor als Ersatz hast, könntest du zwei davon zerlegen und mit den Bürsten der beiden Baugruppen eine Vorrichtung zur Übertragung der Rotationsleistung bauen.
    Man muss zwar pro Gerät zwei Motoren opfern, aber es passt perfekt und ist sehr zuverlässig; wenn man einen Kondensator und einen Gleichrichter anschließt, muss man sich nicht mehr um Batterien kümmern.
    Der Gleichrichter liefert außerdem ein Signal, dass die Baugruppe eine Umdrehung abgeschlossen hat, sodass man die Bildstabilisierung nicht über die Periodendauer schätzen muss, sondern anhand der tatsächlichen Position beibehalten kann.
    Strom induktiv zu übertragen könnte ebenfalls möglich sein, aber ich konnte ihn nicht effizient genug übertragen, sodass ich die Eingangsspannung zu stark erhöhen musste und mir wegen Brandgefahr Sorgen machte.
    Dieser Rat stammt aus einem Burning-Man-Kunstprojekt von 2001. Ein Foto des wirklich katastrophalen frühen Prototyps gibt es hier: https://github.com/sowbug/tqw/blob/master/photos/side.jpg. Die endgültige Installation funktionierte sehr gut.

    • Stimmt alles, aber mir gefällt auch die Lösung mit einem IR-Sensor zur Synchronisierung. Die Art, den Bildschirm durch Verändern der Fingerposition zu drehen, war wirklich cool, und Raten war auch nicht nötig.
    • Ziemlich gute Idee. Die Bürsten dürften lange halten. Zum Glück ist kabelloses Laden von Smartphones inzwischen verbreitet, sodass man Kits wie [1] oder [2] bekommen kann.
      Da frage ich mich auch, wie LIDAR-Firmen so etwas lösen.
      1: https://www.adafruit.com/product/1407
      2: https://www.adafruit.com/product/2162
    • Als weitere Idee: Wie wäre es, ein kleines TFT-Display auf den Motor zu setzen? Auf aliexpress bekommt man günstige Modelle.
    • Wie wäre es, den Motor so zu lassen und einen zweiten Motor als Generator zu verwenden?
    • Wenn der Antriebsmotor ein Asynchronmotor ist, könnte man die rotierende Elektronik über die induzierte Rotorwicklung mit Strom versorgen, allerdings könnte die Phasenverschiebung ziemlich extrem werden.
  • Das ist eine dieser genialen Ideen, die im Nachhinein offensichtlich wirken.
    Wenn das Ergebnis schon mit relativ primitiven Einzelteilen, die von Hand zusammengefädelt wurden, so überzeugend ist, fragt man sich, warum nicht bis zum nächsten Weihnachten irgendeine 7-Buchstaben-Dropshipping-Marke auf Amazon eine vollfarbige, hochauflösende Version herausbringen sollte.

    • Es ist keine neue Idee; so etwas heißt Swept-Volume-Volumendisplay und gibt es schon lange [1].
      Die meisten davon sind allerdings eher Spielzeug. Wenn nur eine transparent leuchtende Oberfläche möglich ist und man sie nicht berühren kann, gibt es in der Praxis nicht viel, was man damit tun kann.
      Man kann auch viel größere, nicht rotierende Versionen aus an Kabeln hängenden LEDs sehen [2]; sie sind sehr beeindruckend, aber der Neuheitseffekt verfliegt schnell und man merkt, dass es kein Display für produktive Zwecke ist.
      Wenn man echte 3D-Visualisierung will, bei der man alles in hoher Qualität rendern und damit interagieren kann, scheinen VR/AR-Headsets die richtige Wahl zu sein. Es gibt auch neue 3D-Monitore ohne Brille, aber bisher haben sie noch nicht viele Leute selbst gesehen.
      Vielleicht lässt sich ein Spielzeug bauen, das sich auf Amazon verkaufen lässt, aber ich bin mir nicht sicher, ob es für so etwas eine Killer-App gibt.
      [1] https://en.wikipedia.org/wiki/Volumetric_display#Swept-volum...
      [2] https://www.ledpulse.com/
    • Bei einem 32-Zoll-Display müsste sich der Motor vermutlich mit enormer Geschwindigkeit über eine Fläche von pi*32^2 drehen.
  • Ein wirklich cooles kleines Projekt. Man sollte sich unbedingt auch die anderen Projekte ansehen. Einige davon waren früher schon auf HN.
    https://mitxela.com/projects/hardware
    Persönlich gefällt mir die MIDI-Schiebeflöte am besten.

    • Das Kopfhörerverstärker-Projekt[0] erinnerte mich ein wenig an das Buch Schiit Happened.
      [0] https://mitxela.com/projects/headphone_amps
    • Stimmt, es gab auch dieses Projekt, das HDMI in ein OLED-Display umwandelt; das war wirklich verrückt.
  • Kreativ. Ich hätte wahrscheinlich die Ausdauer und das Interesse, so etwas bis zum Ende durchzuziehen, aber mir fehlt die Vorstellungskraft, um auf ein so cooles Projekt zu kommen.
    Zum Glück gibt es das Internet, sodass man die beeindruckenden Dinge sehen kann, die andere bauen.

    • Tom 7 hat in einem seiner Videos eine Methode erwähnt: eine Ideenliste führen und jeden Gedanken aufschreiben, egal wie dumm er wirkt. Aussortiert wird später.
      So verschwendet man keine Energie darauf, sich eine Idee auszudenken, wenn man gerade Energie für ein Projekt hat.
      Das macht einen großen Unterschied dabei, wie viel man bei Side Projects tatsächlich fertigstellen kann. Wahrscheinlich hat man mehr interessante Ideen, als man denkt. Nur wenn der Zeitpunkt, an dem einem eine Idee kommt, nicht mit dem Zeitpunkt zusammenpasst, an dem man Zeit und Energie hat, sie umzusetzen oder auszubauen, verschwindet sie wieder.
    • Ich habe das genau gegenteilige Problem. Mir kommen ständig kreative Ideen, sodass, wenn ich gerade Prototyp v1 oder v2 von Idee A baue, Idee B auftaucht und mich daran hindert, A bis zum Ende durchzuziehen.
      Selbst wenn man Ausdauer und Disziplin entwickelt, muss man diesmal Rechnungen bezahlen, und die Ablenkung ist nicht Idee B, sondern einfach ganz normale Arbeit.
    • Kreativität kann man wie andere Fähigkeiten auch trainieren :)
      Ich stimme zu, Dinge festzuhalten. Wie bei den meisten Dingen wird man besser, wenn man ernsthaft übt.
      Häufig übersehen werden (1) technisches Wissen, (2) systematisches Erfinden und (3) Motivation.
      Technisches Wissen lässt einen erkennen, welche Projekte möglich oder wirtschaftlich realisierbar sind, und hilft, die Hindernisse auf dem Weg abzusehen. Unmögliche Erfindungen sind nicht besonders nützlich.
      Systematisches Erfinden bedeutet, Dinge strukturiert zu betrachten, statt zufällig Einfälle zu haben. Zum Beispiel, indem man (a) „Ich möchte ein volumetrisches Display bauen“ und (b) „Ich möchte virtuellen 3D-Objekten Leben einhauchen“ analysiert. Zwischen beiden gibt es einen feinen Unterschied.
      Volumetrische Displays (a) reichen von Light-Field-Displays mit eleganter theoretischer Grundlage bis zu dem hier gezeigten volumetrischen Persistence-of-Vision-Display. Wenn man den Problemraum gründlich untersucht, landet man wahrscheinlich irgendwann bei möglichen Lösungen.
      3D-Objekten Leben einzuhauchen (b) kann einen viel breiteren Problemraum meinen: digitale Fertigung, VR-Brillen, haptische Interaktion, Roboter und so weiter.
      Motivation ist ebenfalls wirklich wichtig. Es hat viel Bedeutung zu verstehen, warum man erfindet und was man Wirklichkeit werden lassen möchte: ob man Menschen Freude bereiten will, ob etwas einfach extrem cool ist oder ob es ein nützliches medizinisches Gerät sein könnte, das Leben rettet.
      Man kann auch lernen, sich auf wertvolle Themen zu konzentrieren, und das verbessert die eigene Erfindungsfähigkeit enorm. Natürlich ist es genauso wichtig und legitim, Dinge einfach deshalb zu bauen, weil sie uns gefallen :)
      Für mich persönlich ist der wichtigste Teil, dabei Freude am Prozess zu haben.
  • Das ist der Funktionsweise von Hologramm-Fans sehr ähnlich. Die gesamte Elektronik befindet sich im rotierenden Teil.
    Solche Fans verwenden häufig drahtlose Energieübertragung, um die obere Platine zu versorgen.
    https://youtu.be/bT716nyK0AY

  • Wenn man in London ist oder dort vorbeikommt: Bei den Ausstellungen von 180 Studios [1] wird diese Art von Technologie häufig in Kunstshows eingesetzt.
    Wenn man sich für Kunst und Technologie interessiert, lohnt sich ein Besuch.
    [1] https://www.180studios.com/

    • Interessant. Gibt es in den USA auch Museen für Technik x Kunst?
  • Ein hervorragender YouTube-Kanal, wenn man solche Dinge mag.
    Ich frage mich, ob man ein günstiges OLED-Display schnell genug aktualisieren könnte, um eine deutlich höhere Auflösung zu erreichen. Vielleicht wäre es möglich, aber der Abstand zwischen den radialen Segmenten wäre wahrscheinlich viel größer als der Pixelabstand, sodass es am Ende sogar schlechter aussehen könnte.

  • Das Zentrierungsproblem ließe sich vermutlich lösen, indem man zwei LED-Boards Rücken an Rücken oben montiert.
    Ein Board könnte die LEDs um eine halbe Position versetzen, um einen Interlacing-Effekt zu erzeugen, und gleichzeitig die Auflösung verdoppeln.

    • Oder man zentriert es einfach nicht und ändert die Mathematik so, dass sie berücksichtigt, dass die LED nicht in der Mitte sitzt.
    • Es muss doch eine Möglichkeit geben, die Struktur, die die LED-Zeile dreht, durch etwas Leichteres zu ersetzen. Spiegel oder eine Matrix aus Acryl-Lichtleitern vielleicht?
  • Wenn es eine größere, robuste RGB-Version mit etwa 50x50 gäbe, die ohne Programmierung andere Bilder anzeigen kann, wäre ich bereit, 200 Dollar oder mehr zu zahlen.

  • Es gibt noch ein anderes cooles volumetrisches Display-Projekt, das kürzlich gepostet wurde, aber wenig Aufmerksamkeit bekommen hat.
    https://news.ycombinator.com/item?id=38406824