Forum: Mikrocontroller und Digitale Elektronik WS2812B eine Datenleitung parallel an mehrere Streifen


von Nils W. (derniwi)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe eine Rundumlicht für einen Leuchtturm gebaut, gesteuert wird 
von einem ESP32, LED sind 140 WS2812B, die Datenleitung wird über 
74HCT14 Schmitt-trigger auf 5V verstärkt / angehoben.

Die Software läuft, die Streifen sind aktuell als eine lange Strippe 
angelegt.

Aus Performance-Gründen und in der Hoffnung, gleichzeitig noch WLAN 
nutzen zu können, frage ich mich, ob ich die sieben Streifen auf zwei 
logische ändern kann.
Zeile 1 und 7 haben immer identische Daten
Die Zeilen 2 bis 6 habe auch immer identische Daten

Damit könnte ich zwei Pins zu Steuerung nutzen, Data In der ersten LED 
von Zeile 1 und 7 an den ersten Pin, Data In der ersten LEDs der 
Streifen 2-6 an den zweiten anschließen. Data Out am Ende eines jeden 
Streifens bleibt ab dann unbenutzt.

Natürlich muss ich beiden Ausgänge des ESP dann auf 5V heben, aber sonst 
würde ich nichts an der Elektronik ändern.

Gruß
Nils

von Stefan F. (Gast)


Lesenswert?

OK

von J. S. (jojos)


Lesenswert?

23 MB für ein gif? Wo bleibt der Forist...

von Falk B. (falk)


Lesenswert?

J. S. schrieb:
> 23 MB für ein gif? Wo bleibt der Forist...

Forist Gimp auf der Suche nach den Bildformaten? ;-)

: Bearbeitet durch User
von Forist (Gast)


Lesenswert?

J. S. schrieb:
> 23 MB für ein gif? Wo bleibt der Forist...

Sorry, da war ich einfach sprachlos, insbesondere wenn soetwas dann auch 
noch doppelt gepostet wird.
Beitrag "Re: WS2812B "flüssig" dimmen"

von Johnny B. (johnnyb)


Lesenswert?

Nils W. schrieb:
> 140 WS2812B

Sollte eigentlich kein Problem darstellen, alle aus einer einzigen 
Datenleitung zu versorgen. Ich habe ein Panel mit 580 Stück in Serie 
geschalteten und das lässt sich locker mit einer Framerate von 25Hz 
ansteuern.

Wahrscheinlich hast Du eine ineffiziente Methode zur Datenausgabe 
gewählt.
Am besten gehts mit einer Peripherie, welche DMA verwenden kann wie z.B. 
SPI.

von Michael U. (amiga)


Lesenswert?

Hallo,

Johnny B. schrieb:
> Am besten gehts mit einer Peripherie, welche DMA verwenden kann wie z.B.
> SPI.
Bei ESP8266 oder ESP32 DMA und I2S nutzen, wie z.B. bei FastLED und 
anderen.

Gruß aus Berlin
Michael

von Nils W. (derniwi)


Lesenswert?

Hallo,

entschuldigt bitte, ich habe die falsche Datei erwischt - da war ich 
wohl etwas tütelig.

Wenn jemand die große Datei löschen würde und es gewünscht ist, kann ich 
ein kleineres GIF (4,2MB) hier einstellen.

Zum Thema: ja, ESP32, FastLED und WiFi scheint oft Probleme zu geben. 
Die LEDs sind aktuell verbaut, für andere Projekte würde ich nach 
Alternativen schauen.
Da der ESP (auch über die Arduino IDE) im Hintergrund mit FreeRTOS 
läuft, hatte ich gehofft, dass man bei einem RTOS genau hier mit einem 
Doppelkernprozessor keine Probleme hat. Die LEDs zu befeuern braucht pro 
Änderung ca. 3,7ms. Da der Scheduler aber alle 1ms den Task kurz 
pausiert, kann das hier evtl. ausreichen, wenn WiFi oder der 
NEtzwerk-Stack auf dem gleichen Kern irgendwas macht (aber es ist egal, 
ob ich FastLED auf Core 0 oder Core 1 laufen lasse). Wie auch immer, 
entweder FastLED oder WiFi ist kein Problem, zwangsweise gleichzeitig 
braucht der Leuchtturm das nicht.

Ich werde mal schauen, ob die Programmierung hier mit zwei virtuellen 
Streifen eine Besserung bringt.

Viele Grüße
Nils

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
Noch kein Account? Hier anmelden.