ESPWortuhr / Multilayout-ESP-Wordclock

Software for an ESP8266 based word clock with support of different layouts and languages
91 stars 49 forks source link

LED-Strip "von hinten" ansteuern #258

Closed huckes closed 1 year ago

huckes commented 1 year ago

Hallo, Ein tolles Projekt und eine schöne Implementierung des Wortuhr Prinzips !! Ich baue gerade eine Uhr 11x10 (ca. 40x50cm) mit 4 Minuten LEDs in der unteren Zeile. Aus Platzgründen kommt der ESP8266 neben diese Minuten-LEDs. Die Datenleitung zur ersten LED links oben ist daher recht weit, was eigentlich nicht empfohlen wird. Es wäre schön, wenn man den LED-Streifen genau anders herum einbauen könnte, und die Daten am letzten Minuten-Punkt eingespeist werden. Dann musste aber die Neopixel-Matrix umgedreht gefüllt werden. Könnte man jetzt direkt im Code "reinwürgen", aber das ist keine gute Lösung. Daher wäre neben den Optionen vertikal und horizontal speigeln noch eine weitere Auswahl wünschenswert, die die Daten ausgehend von der letzten Minuten-LED einfüllt.

Viele Grüße aus Mittelfranken, Hans

dbambus commented 1 year ago

Hallo Hans,

vielen Dank für die Lorbeeren :-).

Ich musste ein wenig über dein Problem nachdenken. Es gibt also in der Tat keine triviale Lösung (mehr), um einfach die Laufrichtung der LEDs samt Minuten zu ändern. Was es aber gibt und bereits implementiert ist, wäre eine Änderung der Laufrichtung der Frontmatrix selbst. Die Minuten-LEDs müssen dabei immer an der letzten Position stehen. Sprich man kann die Uhr "unten rechts" einspeisen, aber sie muss direkt mit der Frontmatrix beginnen und dann müssen die 4 LEDs angeschlossen werden. Dann kann man online oder in der config.h horizontal und vertikal spiegeln, um die Wordclock benutzbar zu bekommen.

Ebenfalls liebe Grüße aus Mittelfranken.

Mit freundlichen Grüßen David

huckes commented 1 year ago

Hallo David, vielen Dank für die schnelle Antwort. Ohne Minuten-LEDs wäre das die Lösung. Aber mit den Minuten-LEDs bleibt 'ne lange Leitung dann weiterhin in der Verdrahtung. Oder die Minuten-LEDs werden über die erste Zeile positioniert. Mein Blech ist schon gelasert, also evtl. was für zukünftige Aufbauten. Ich habe jetzt mal einen kleinen Testaufbau mit dem zu verwendeten LED-Streifen und dem Adafruit Strandtest gemacht: Aufbau 1: erste WS2812 über 220Ohm direkt an den Datenausgang. Aufbau 2: den Datenausgang über einen Diode und pull-up Widerstand 1kOhm nach +5V geschaltet und die erste WS2812 dann mit 220Ohm zwischen Diode und pull-up. Damit wird der Datenpegel für die WS2812 auf 5V-high und ca. 1V low verschoben. Nun die Datenleitung (einadriges Dupont-Kabel) verlängert: bei 1,5 m Störungen in beiden Aufbauten; bei 1m Störungen nur bei Aufbau 2 und wenn ich am Kabel rumwackle; bei 0,5m keine Störungen. Damit sollten die 0,5m, die ich brauche vom ESP nach "oben links" kein Problem werden (mit beiden Testaufbauten, ich werde den 1. verwenden). Notfalls werde ich dazu ein abgeschirmtes Kabel nehmen. Das Ergebnis kann man allerdings nicht verallgemeinern: Je nach LED-Strip kann der High-Pegel von 3,3V nicht ausreichen und auch die "lange Leistung" kann bei anderen Komponenten Probleme machen. Also im Einzelfall selbst ausprobieren. Nochmals vielen Dank für den Lösungsansatz. Ich mach' den Issue dann mal wieder zu.

Grüße, Hans