Hallo Community, entschuldigt bitte falls ich hier in der falschen Unterkategorie bin und ich euch mit meiner wahrscheinlich banalen Frage belästige, doch leider habe ich im web als auch insbesondere hier im Forum noch keine Antwort auf meine Frage gefunden. Zu meiner Frage: Als neues Projekt habe ich mir nun einen 16*16*16 monochromen LED Cube vorgenommen. Einfarbig deshalb weil mir bei einem RGB Würfel der Aufwand zu groß ist (auch schon 4 Ebenen fertig). Für meinen vorherigen kleinen Würfel(5^3) habe ich einen ARDUINO UNO verwendet. Der Aufbau des Würfels mit weißen diffusen LEDs, als auch die Ansteuerungstechnik per multiplexing ist mir bekannt. Jedoch weiß ich nicht ob ein Arduino UNO (benötige sowieso neuen, da der alte verbaut ist) für einen Würfel mit 4096 LEDs ausreicht. Im Forum habe ich öfters von FPGAs gelesen, doch die scheinen mir sehr kostspielig zu sein. Ich würde gerne einen Oneboard-PC wir Rasperripi, Intel Galileo, Aduino Mega, Arduino DUE oder Beagle Board Black (auch Arduino UNO wenn er ausreicht) hernehmen. Nur da im Web immer wieder steht, dass die Prozessoren schnell ausgelastet sind. Bin auch für anderes offen, doch die oben genannten sind bis jetzt meine Favouriten. Der Arduino/etc. sollte genügend Rechenleistung aufweisen um eine Soundsteuerung zu realisieren. Außerdem will ich den Cube nach dem Programmieren per Wifi mit dem Handy steuern(mit eigener App). Kann ich dafür an einem Arduino einfach einen WLAN-USB-Stick verwenden? Außerdem würde ich gerne vier Tasten und vier Helligkeitssensoren (Fotodioden?) verwenden. Zur PWM habe ich mir einen Takt von mindestens 1,6kHz vorgestellt und jede Ebene dann halt immer einzeln anzusteuern. Besser wären natürlich ca. 10kHz zur besseren Helligkeitsregelung. Dann nach der Steuerung würde ich zum Multiplexen der Säulen (jeweils 16 LEDs) Schieberegister verwenden. Sind die schnell genug oder gibt es irgendwelche besonders schnellen Varianten? Die Ebenen würde ich aufgrund des hohen Stroms (256LEDs bis zu 6A) mit MOSFETs ansteuern. Was haltet ihr davon Verbesserungsvorschläge erwünscht. Vielen Dank im voraus für euere konstruktiven Vorschläge und Bemühungen!
Wenn dir einer nicht reicht, nimm eine ganze Batterie davon her und lass sie über I²C miteinander reden oder nimm einen größeren Controller. P.S: Ein FPGA, ein SoC und ein µC haben ungefähr soviel miteinander zu tun, wie ein Glockenturm, eine Ameise und eine Ente - außer dass sie alle auf Kohlenstoff basieren - nix. Die Arduinos (uno, due etc etc etc) sind Microcontroller - zum Steuern und datenerfassen gedacht. Beaglebone/rPi/Galileo sind SoC / mini-Pcs mit Zusatzperipherie, mit richtigem Betriebssystem etc - zum auswerten und darstellen bzw transportieren der Daten gedacht. Ein FPGA ist bare-metal - einfach ein haufen Logikgatter, denen du einprügeln musst, was sie tun sollen. Mit FPGAs kannst du vom kleinten Microcontroller bis hin zur komplexen CPU alles über Software nachbilden - mit entsprechendem Aufwand. Wenn du es dann Gatter für Gatter nachgebildet hast, geht die richtige Programmierung erstmal los. Das ist für anfänger genauso sinnvoll, wie wenn du ihnen einen Eimer Siliziumsand zum CPU-selber-machen gibts.
Ich denke mit einem 8bit µC sollte es leicht möglich sin. Nur als Beispiel: Wenn man alle 4096 bit mit 16MHz SPI rausschiebt, dauert das nur 256µs. Die Geschwindigkeit dürfte nicht das Problem sein. Du brauchst aber ein µC mit genug RAM und ROM für dein vorhaben. 512Byte RAM brauch der "Framebuffer". In C oder ASM wäre es möglich, ich frage mich aber, ob es mit dem Overhead des Arduinos noch möglich ist... Beim 1:16 Multiplexing hast du aber das Problem, dass die LEDs, da sie nur 1/16 der Zeit an sind mit dem 16 fachen Strom betreiben musst und die gleiche Helligkeit zu erreichen. Die meisten LEDs halten das nicht aus.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.