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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.