Go Down

Topic: LED Cube Nodemcu v3 oder doch ein anderer? (Read 453 times) previous topic - next topic

FegoFeri

Hallöchen,

Da ich die Möglichkeit hatte sehr preiswert an WS2812b zu kommen. Wollte ich nun ein Teil davon verwenden um einen LED Cube zu bauen.

Der LED Cube soll 10x10x10 groß sein. Für die Stromversorgung habe ich geplant ein 5V 60A Netzteil zu verwenden.

Für den Würfel würde ich eine Platine designen, auf dieser würde ich dann immer 5 Türme also 50 von diesen LED's getrennt mit Strom versorgen als Leiterbreite wären laut Microcontroller.net (Leiterbahnbreite) 2mm ausreichend. als Puffer würde ich dennoch eine 75um Platinen Variante verwenden.
Laut dem Datenblatt (Datenblatt WS2812b) wäre es möglich bis zu 1024 LED's mit 30 FPS anzusteuern. Ich hatte mir jetzt allerdings überlegt, jeweils 250leds also 25 Türme über unterschiedliche Pins anzusteuern. Hierbei war meine Überlegung noch die Datenleitungen auf der Platine so zu gestalten, dass ich durch Jumper die Datenaufteilung so gestallten kann, wie ich möchte Z.B. auch alle LEDS über einen Pin usw. Deswegen würde mich jetzt interessieren, welche Librarie ihr für mein Vorhaben favorisieren würdet. Da ich leider noch nie mit solchen LEDS gearbeitet habe, würde mich auch interessieren, ob der NodeMCU v3 über genug Speicher verfügt um mehrere Animationen zu speichern. Nach Empfehlung würde ich für mein Vorhaben auch auf was anderes umsteigen, ich habe nur so welche (NodeMCU V3) schon da.

noiasca

Da ich leider noch nie mit solchen LEDS gearbeitet habe, würde mich auch interessieren, ob der NodeMCU v3 über genug Speicher verfügt um mehrere Animationen zu speichern.
das hängt wohl eher davon ab, was deine Animation können soll und wie umfangreich deine Animation ist.
wenn ich mir jetzt einfach einen Würfel mit 10x10 Leds auf 6 Flächen vorstelle, kannst ich diese 600 LEDs trotzdem in einer For-Schleife ansprechen und eine Punkt wandern lassen.

Ergo, es kommt drauf an was du willst.
DE: Wie man Fragen postet:
1. was hat man (Sketch und Hardware)
2. was SOLL es machen
3. was macht es: IST (Fehlverhalten, Fehlermeldungen, Serial.Output ...)
4. Eine Frage stellen bzw. erklären was man erwartet

FegoFeri

Ergo, es kommt drauf an was du willst.
Geplant hatte ich da eher Umfangreicheres wo alle LED'S mit einbezogen werden sollen.

Tommy56

Mit derart "konkreten" Vorstellungen wird Dir wohl keiner genauere Infos geben können.
Fange doch einfach an. Dann merkst Du, wie sich Dein Speicherverbrauch verhält. Wenn es eng wird, kannst Du immer noch wechseln.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

noiasca

Geplant hatte ich da eher Umfangreicheres wo alle LED'S mit einbezogen werden sollen.
define: umgangreicheres (!?!)

alles was du über Algorithmen beschreiben kannst, wird wenig Ressourcen brauchen. Alles wofür du Bitmuster/Pattern/Maps/Tabellen brauchst wird "viele" Ressourcen brauchen.

Aber am besten ist, du beginnst damit.
DE: Wie man Fragen postet:
1. was hat man (Sketch und Hardware)
2. was SOLL es machen
3. was macht es: IST (Fehlverhalten, Fehlermeldungen, Serial.Output ...)
4. Eine Frage stellen bzw. erklären was man erwartet

amithlon

#5
Jun 20, 2018, 01:46 pm Last Edit: Jun 20, 2018, 01:47 pm by amithlon
Hallo,

prinzipiell kommt der ESP8266 mit 1000 LEDs klar, Speicher reicht prinzipiell auch je nach Absichten.
Animationen könnte man auch als CSV im SPIFFS ablegen und nur die jeweils gewünschte von dort laden usw.

Ich bin da nicht ganz aktuell, aber die NeoPixelBus lib war mal die einzige, die mit solchen LED-Mengen am ESP umgehen konnte. Nötig war zwingend die Nutzung des I2S-Treibers der Lib, sonst stört WLAN usw. den sauberen Ablauf.

https://github.com/Makuna/NeoPixelBus

Gruß aus Berlin
Michael

postmaster-ino

Hi

Kann der ESP8266 die verschiedenen Stripes überhaupt gleichzeitig ansprechen?
(wobei: wenn die Taktfrequenz entsprechend ist, sollte sich das jeweilige Bit durchaus auf diverse Ports generieren lassen - würde dann also in 8er Schritten die Anzahl der Stripes zusammen streichen)

Wenn nicht, hast Du zwar weniger LEDs pro Pin, aber pro Pin die gleiche Zeit - unterm Strich keinen Gewinn.

MfG

amithlon

Hallo,

Kann der ESP8266 die verschiedenen Stripes überhaupt gleichzeitig ansprechen?
ja und nein. Das Problem ist, daß man nicht alleine auf dem ESP mit dem LED-Programm ist.
Die Version, es über I2S und DMA zu machen, ist wohl die einzige, wo es bei der Ausgabe der Daten an den Stripe auch bei vielen LEDs keine Störungen geben kann. Die Daten werden in einem Buffer aufbereitet und dann im Stück in den DMA-Buffer kopiert. Dann startet die DMA-Ausgabe und man kann sich um die nächsten Daten kümmern.
Bei Ausgabe über andere Pins passiert es letztlich in Software und die Ausgaberoutine wird eben durchaus durch andere ESP-interne Sachen gestört.

Ob es in seiner konkreten Anwendung stört wird er wohl testen müssen. Beispiele, wo Leute hunderte LEDS am ESP haben, gibt es sicher irgendwo im Netz. Letztlich ist sein Würfel ja auch nur ein Stripe mit vielen LEDs.

Gruß aus Berlin
Michael

 

FegoFeri

Vielen Dank für die vielen Antworten und sorry für das späte reagieren, jedes mal wenn ich grade zurück schreiben wollte kam wieder was dazwischen. Ich werde das dann erst mal mit dem NodeMCU probieren. Vielen Dank Michael für den Link schaue da am Wochenende rein. Und danke Postmaster-Ino für die einwende ich halte mir für die Datenverteilung ja viele Kompinationswege offen,  deswegen werde ich in der Hinsicht viel probieren können.

themanfrommoon

Moin,

Ich habe 600 Stück WS2813 an einem ESP8266 (nodeMCU v2).
...Das ist schon ziemlich lahmarschig.
Hohe Framerates sind damit nicht möglich.
Mit APA102 LEDs geht das schneller

noiasca

DE: Wie man Fragen postet:
1. was hat man (Sketch und Hardware)
2. was SOLL es machen
3. was macht es: IST (Fehlverhalten, Fehlermeldungen, Serial.Output ...)
4. Eine Frage stellen bzw. erklären was man erwartet

themanfrommoon

Ich?
FastLED und NeoPixel
Ich hatte da schon mal im Forum drüber geschrieben mit dem Ergebnis dass ich statt der WS2813 liebe APA102 nehmen soll.
Irgendwann werde ich das dann mal umsetzen, solange hängen die 600 Stück WS2813 hier wohl nutzlos oder zum Testen rum.
Wenn einer ein fertiges Sketch für einen esp8266 (nodeMCU) hat, das ich auf den 600 Stück mal zum Testen laufen lassen soll, dann her damit.

Lieben Gruß,
Chris

amithlon

Hallo,

ich habe praktisch nicht viel mit den WS2812B gemacht, es gibt nur einen Stripe mit 110 LEDs im Einsatz und da laufen auch keine wirklichen Anims drauf, höchtens Rainbow-Effekte oder Knight Rider...
Ich könnte dem Sketch natürlich mal 1000 LEDs sagen und schätzen, wie oft er da durchkommt.

Rechnerisch sind es bei 800kHz Takt / (3*8) / 1000 = 33Hz, sagen wir 30Hz Framerate.
Buffer wären 2 * 3kB (einmal DMA-Buffer und einmal Buffer zum Aufbau des nächsten Frames).
Man hätte also rund 30ms Zeit, den nächsten Frame zusammenzubasteln.

Soweit ich weiß nutzt die FastLED keinen DMA auf dem ESP8266.

Gruß aus Berlin
Michael

 

Go Up