Hallo zusammen,
ich habe schon ein paar LED Projekte gehabt, nur jetzt habe ich ein kleines Problem.
Ich habe 2 x WS2812 (SK6812) LED Strips je 100 LEDs, die ich in Reihe geschaltet habe.
LED Strips
Als Controller nutze ich ein Wemos D1 Mini mit Weld Firmware. zum testen habe ich erstmal 4 LEDs eingestellt.
Diese gehen auch an, allerdings auch die ersten 4 der erweiterten LED Strip.
Die Datenleitung ist nur einmal zu Anfang angeschlossen
Ich habe in der Mitte zusätzlich mit 5V versorgt, aber das gleiche Ergebnis.
Kann mir jemand sagen, warum sich die beiden Stripps nicht wie eine verhalten
WS2812 (SK6812) LED in Reihe Probleme
-
-
Moin
Kann man in so einer Kette die LED einzeln adressieren? Wenn ja, woher will so eine Kette wissen das ihre LED1, LED2, ... gemeint ist? Oder werden die Daten einfach durch getaktet? (Schieberegister).
-
Kenn dein Programm nicht, is schon lange her mein Projekt , aber hast mal im Programm geschaut ob der richtige Controller gewählt ist aber vor allem schau dir die AliExpress Seite genau durch was im titel steht hat gar nix zu bedeuten , unter Beschreibung steht dann oft das in Wirklichkeit ein ganz anderer billigerer Chip / LEDs / Controller ..... verbaut ist . Oder Verkäufer fragen oder im Programm mal auf gut Glück andere probieren. Was man bestellt und was man geliefert bekommt is da halt ein Glücksspiel, bei vielen Artikeln sieht man es ja sogar . (Zbsp auf den Produktfotos rechteckige LEDs verbaut obwohl mit LM301B geworben wird = Quadratisch).....
-
Jep, man kann jede LED einzeln Adressieren. Das funktioniert ähnlich, wie ein Schieberegister. Das letzte Datenpaket behält so eine LED für sich. Somit bekommt die LED dahinter ein Paket weniger. Diese reagiert wiederum auf das letzte Paket usw.
-
Moin
Kann man in so einer Kette die LED einzeln adressieren? Wenn ja, woher will so eine Kette wissen das ihre LED1, LED2, ... gemeint ist? Oder werden die Daten einfach durch getaktet? (Schieberegister).
Ein Controller, z.B. ein Arduino, Wemos oder was auch immer muss erst mal ein Telegramm generieren.
Das Telegramm hat 24 Bit * Anzahl Chips WS2812 , also in einer 100er Kette sind es 2400 Bit.
Das komplette Telegramm wird nun an 'DIN' des ersten Chip gesendet.
Der Chip enthält einen Controller, also einen winzigen Prozessor.
Dieser schneidet die ersten 24 Bit vom Telegramm ab und teilt diese auf in 3x8 Bit.
Darin steht für jede LED Rot, Grün und Blau der gewünschte Helligkeitswert von 0....255 (0=aus, 255=volle Pulle 20mA)
Nun wird das restliche Telegramm von 2376 Bit an 'DOUT' gesendet und geht von dort direkt an 'DIN' des nächsten Chip
Es wiederholt sich: 24 Bit werden abgeschnitten, daraus RBG angesteuert und die restlichen 2352 Bit zum nächsten Chip geleitet.
Bis eben alle Bit verbraucht sind und jede LED leuchtet in der gewünschten Helligkeit gemäß Telegramm.
Was ich beim TO vermute:
Er hat nicht DOUT vom Streifen 1 mit DIN von Streifen 2 verbunden, sondern ist vom Controller an beide DIN gegangen.
Zumindest würde das den Effekt erklären.
Edit: Superluminal war schneller.
-
Am Besten wohl hier weiter beraten: https://forum.iobroker.net/top…reihe-probleme?lang=en-GB - da stehen schon mehr Infos drin... 😅
-
Was ich beim TO vermute:
Er hat nicht DOUT vom Streifen 1 mit DIN von Streifen 2 verbunden, sondern ist vom Controller an beide DIN gegangen.
Zumindest würde das den Effekt erklären.
Nein, die Datenleitungen ist nur an Strip 1 und wurde verlängert an Strip 2
-
Vielleicht versuche ich es hier noch einmal.
Ich habe die Erste Strip mit der ZWeiten getauscht, ohne das sich was ändert.
Habe dann von der Zweiten Strip die erste LED weg genommen.
Die beiden LED Stripe verhalten sich nun so:
Bei 5 eingestellten LEDs im Controller, wirden von der ersten Stripe, 5 LEDs angesteuert, von der zweiten Strip nur 4 (An der Zweiten hatte ich ja die rste LED erntfernt).
Ich dachte die LEDs Adressiert der Controller ?
-
Ich dachte die LEDs Adressiert der Controller ?
Nicht ganz; im Telegramm gibt es keinerlei Adresse und die LEDs haben auch keine Adresse.
Das Ganze funktioniert nämlich nach dem Daisy-Chain Prinzip.
Die erste LED schneidet vom Telegramm 24 Bit für sich selbst ab und gibt den Rest an die 2. LED weiter.
Die zweite LED schneidet vom Telegramm 24 Bit für sich selbst ab und gibt den Rest an die 3. LED weiter. usw.
Die lfd. Reihenfolge im Telegramm bestimmt also, welche LED nun gemeint ist und leuchten soll.
Nehmen wir mal deine Situation mit Stripe 1 (100LED) und Dout an Din vom 2. Stripe(100LED).
Wird ein Telegramm für 4 LEDs gesendet, ist es nach der 4. LED fertig abgeschnitten und endet dort.
Somit ist es definitiv nicht möglich, dass das Telegramm weiter geht an den 2. Stripe gelangt.
(Es sei denn, es gibt eine heimliche Leitung, die den Eingang Stripe1 auch auf den Eingang Stripe2 führt)
Wenn du sagst, dass vom 2. Stripe ebenfalls 4 LEDs leuchten, ist das nur möglich, wenn das Telegramm
für 104 LEDs generiert wurde und die LEDs Nr.5....Nr.100 dunkelgeschaltet sind. Anders geht es nicht.