WS2812B eine Datenleitung parallel an mehrere Streifen

OP #7294432
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
Angehängte Dateien:
#7294750
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.
OP #7295375
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren