OLED Display
-
- Beiträge: 355
- Registriert: 18.09.2018, 01:14
- Hat sich bedankt: 68 Mal
- Danksagung erhalten: 17 Mal
OLED Display
Hallo Sven
Ich benutze bei meinen zwei Test-Controllern einmal das 16 x 2 und zum anderen das OLED Display. Das 16 x 2 ist gut, aber relativ groß , schwer und verbraucht wohl auch mehr Energie.
Daher habe ich mich beim ESP32-Test-Controller für das OLED Display entschieden. Es ist viel kleiner, verbraucht kaum Energie und kann mehrere Zeilen anzeigen. So weit so gut...
Bei meinem Display können 4 Zeilen dargestellt werden. Effektiv genutzt werden aber nur drei Zeilen, in die erste habe ich einfach RAST eingetragen.
Ich hau hier einfach mal ein paar Fragen raus, vielleicht geht ja noch was...
Die erste Frage hat mit den Zeilen überhaupt nix zu tun, kann das "Bild" vom Display um 180 Grad gedreht werden, ohne die Platine zu drehen?
Jetzt aber zu den Fragen der Zeilen:
Besteht die Möglichkeit die Funktionstasten über mehrere Zeilen anzuzeigen?
Die Anzeige als "Laufband" läßt zwar mehr Zeichen zu als das Display her gibt, bedingt aber konzentriertes beobachten der Laufschrift, um zu erkennen welche Funktion eingeschaltet ist oder nicht.
Wenn es möglich wäre bestimmte Funktionen in Zeile 1 und weitere in Zeile 2 anzuzeigen, wäre das sicherlich schon mal von Vorteil...!
Wenn dann noch die Funktionen ("setF") aus der Anzeige heraus gelassen werden, müsste eh weniger dargestellt werden.
Ein etwas größeres Display, wenn es das überhaupt gibt, könnte noch mehr in jeder Zeile anzeigen, und hat vielleicht sogar mehr als vier Zeilen...
Oder, und jetzt wird es heftig, ein Display auf dem alles in festen Bereichen dargestellt wird!?
Ist eine Funktion geschaltet = schwarze Schrift auf hellem Untergrund, ist sie nicht geschaltet = der Hintergrund bleibt dunkel...!? So oder ähnlich...
Nachtrag:
Im Grunde schaue ich nur dann auf das Display, wenn ich die Lok fahrbereit mache.
Aber bestimmte Funktionen schalte ich vor oder während der Fahrt dazu und dann kommt es vor, dass ich doch wieder auf das Display schauen muss um zu prüfen ob die Funktion eingeschaltet ist oder nicht.
Ich benutze bei meinen zwei Test-Controllern einmal das 16 x 2 und zum anderen das OLED Display. Das 16 x 2 ist gut, aber relativ groß , schwer und verbraucht wohl auch mehr Energie.
Daher habe ich mich beim ESP32-Test-Controller für das OLED Display entschieden. Es ist viel kleiner, verbraucht kaum Energie und kann mehrere Zeilen anzeigen. So weit so gut...
Bei meinem Display können 4 Zeilen dargestellt werden. Effektiv genutzt werden aber nur drei Zeilen, in die erste habe ich einfach RAST eingetragen.
Ich hau hier einfach mal ein paar Fragen raus, vielleicht geht ja noch was...
Die erste Frage hat mit den Zeilen überhaupt nix zu tun, kann das "Bild" vom Display um 180 Grad gedreht werden, ohne die Platine zu drehen?
Jetzt aber zu den Fragen der Zeilen:
Besteht die Möglichkeit die Funktionstasten über mehrere Zeilen anzuzeigen?
Die Anzeige als "Laufband" läßt zwar mehr Zeichen zu als das Display her gibt, bedingt aber konzentriertes beobachten der Laufschrift, um zu erkennen welche Funktion eingeschaltet ist oder nicht.
Wenn es möglich wäre bestimmte Funktionen in Zeile 1 und weitere in Zeile 2 anzuzeigen, wäre das sicherlich schon mal von Vorteil...!
Wenn dann noch die Funktionen ("setF") aus der Anzeige heraus gelassen werden, müsste eh weniger dargestellt werden.
Ein etwas größeres Display, wenn es das überhaupt gibt, könnte noch mehr in jeder Zeile anzeigen, und hat vielleicht sogar mehr als vier Zeilen...
Oder, und jetzt wird es heftig, ein Display auf dem alles in festen Bereichen dargestellt wird!?
Ist eine Funktion geschaltet = schwarze Schrift auf hellem Untergrund, ist sie nicht geschaltet = der Hintergrund bleibt dunkel...!? So oder ähnlich...
Nachtrag:
Im Grunde schaue ich nur dann auf das Display, wenn ich die Lok fahrbereit mache.
Aber bestimmte Funktionen schalte ich vor oder während der Fahrt dazu und dann kommt es vor, dass ich doch wieder auf das Display schauen muss um zu prüfen ob die Funktion eingeschaltet ist oder nicht.
Gruß, Ralf
-
- Site Admin
- Beiträge: 883
- Registriert: 14.09.2018, 19:05
- Hat sich bedankt: 33 Mal
- Danksagung erhalten: 144 Mal
Re: OLED Display
Eigentlich sollten es (ungetestet) 5 Zeilen sein.Ralf_St. hat geschrieben: ↑25.12.2020, 01:15Daher habe ich mich beim ESP32-Test-Controller für das OLED Display entschieden. Es ist viel kleiner, verbraucht kaum Energie und kann mehrere Zeilen anzeigen. So weit so gut...
Bei meinem Display können 4 Zeilen dargestellt werden. Effektiv genutzt werden aber nur drei Zeilen, in die erste habe ich einfach RAST eingetragen.
Ich hau hier einfach mal ein paar Fragen raus, vielleicht geht ja noch was...
Das Display hat 64x48 Pixel. Die Schriftart ist 6x8.
Sollte also 10x6 Zeichen ergeben.
(Beim Schreiben dieser Zeile entstehen auf meiner Stirn Falten. Ich muss es nochmal testen. Gefühlt passt Theorie und Praxis hier nicht zusammen.)
ja, geht
Code: Alles auswählen
{
"m":"display",
"text": "L${ldata|addr}:${ldata|direction}${ldata|speed}\nW ${ldata|turnoutaddr}: ${ldata|turnoutdirection}>
"model": "Wemos OLED Shield",
"rotation": "180"
}
Über wie viele F-Tasten reden wir denn bei euch? Passen sie denn überhaupt in zwei Zeilen?Ralf_St. hat geschrieben: ↑25.12.2020, 01:15Jetzt aber zu den Fragen der Zeilen:
Besteht die Möglichkeit die Funktionstasten über mehrere Zeilen anzuzeigen?
Die Anzeige als "Laufband" läßt zwar mehr Zeichen zu als das Display her gibt, bedingt aber konzentriertes beobachten der Laufschrift, um zu erkennen welche Funktion eingeschaltet ist oder nicht.
Wenn es möglich wäre bestimmte Funktionen in Zeile 1 und weitere in Zeile 2 anzuzeigen, wäre das sicherlich schon mal von Vorteil...!
Wenn dann noch die Funktionen ("setF") aus der Anzeige heraus gelassen werden, müsste eh weniger dargestellt werden.
[.....]
Oder, und jetzt wird es heftig, ein Display auf dem alles in festen Bereichen dargestellt wird!?
Ist eine Funktion geschaltet = schwarze Schrift auf hellem Untergrund, ist sie nicht geschaltet = der Hintergrund bleibt dunkel...!? So oder ähnlich...
Ich muss bei der Implementierung immer schauen, dass es generisch genug ist, damit es auch für andere Nutzer sinnvoll ist.
Wahrscheinlich baue ich eine Funktion ein, dass ihr auf die Information der einzelnen F-Tasten zugreifen könnt.
Dann kannst du dir die Anzeige sehr detailliert zusammenstellen. Man könnte es extrem quetschen.
Code: Alles auswählen
Ziele 1: 0123456789
Zeile 2: 0123456789
Zeile 2 für F10 bis F19.
F-Funktionen, die deaktiviert sind, werden dann durch ein Leerzeichen ersetzt.
Invertierung wird zu aufwendig sein.
Ein paar Ideen habe ich noch:
Auf meinen Schreibtisch liegt noch dieses Modul(*). Preislich liegt es in China bei 4 Euro. Auflösugn 240x240. 1,3".
https://www.youtube.com/watch?v=7vYIGGlBRkU
=> 4 Pine werden benötigt
Eine weitere Option wäre dieses Modul(*).
Preislich liegt es ebenfalls bei 4 Euro. Auflösung 128x64. Dachte eigentlich, dass ich das Modul schon mal bestellt habe, finde es aber gerade nicht.
=> 2 Pine, wenn man die i²c Version nutzt.
-
- Beiträge: 355
- Registriert: 18.09.2018, 01:14
- Hat sich bedankt: 68 Mal
- Danksagung erhalten: 17 Mal
Re: OLED Display
Frohe Weihnachten Sven
Du bist ja spitze, sogar über Weihnachten kümmerst Du dich...
Zwei Zeilen 0 bis 9 ist eine super Idee und ist vergleichbar mit der WLM, aus meiner Sicht sogar besser, weil ich beide Ebenen direkt im Blick habe!
Die Möglichkeit mit dem drehen des Bildschirms werde ich testen und rückmelden ob es geklappt hat. Ob 5 Zeilen angezeigt werden können werde ich auch noch testen.
Gestern konnte ich noch einige Züge be- und entladen. Das hat so einen Spaß gemacht das ich beinahe die Bescherung verpasst hätte...
Gut ist schon mal zu wissen das auch ein größeres Display funktioniert, jetzt wird aber erst mal das OLED "gedreht" und geprüft ob 5 Zeilen funktionieren!
Du bist ja spitze, sogar über Weihnachten kümmerst Du dich...
Zwei Zeilen 0 bis 9 ist eine super Idee und ist vergleichbar mit der WLM, aus meiner Sicht sogar besser, weil ich beide Ebenen direkt im Blick habe!
Die Möglichkeit mit dem drehen des Bildschirms werde ich testen und rückmelden ob es geklappt hat. Ob 5 Zeilen angezeigt werden können werde ich auch noch testen.
Gestern konnte ich noch einige Züge be- und entladen. Das hat so einen Spaß gemacht das ich beinahe die Bescherung verpasst hätte...
Gut ist schon mal zu wissen das auch ein größeres Display funktioniert, jetzt wird aber erst mal das OLED "gedreht" und geprüft ob 5 Zeilen funktionieren!
Gruß, Ralf
-
- Beiträge: 300
- Registriert: 31.12.2018, 08:07
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 71 Mal
Re: OLED Display
5 Zeilen funktionieren, beim 0,66"" -Shield, habe ich beim LYCON-28 in Betrieb.
Für mich sieht es fast so aus, als würde da sogar noch eine 6. Zeile Platz finden.....
Display-Anzeige drehen funktioniert,
der Hinweis kam hier im Forum schon am 28.11. , siehe letzten Satz und betrachte das Foto:
viewtopic.php?f=6&t=87&start=10
VG N.
Für mich sieht es fast so aus, als würde da sogar noch eine 6. Zeile Platz finden.....
Display-Anzeige drehen funktioniert,
der Hinweis kam hier im Forum schon am 28.11. , siehe letzten Satz und betrachte das Foto:
viewtopic.php?f=6&t=87&start=10
VG N.
-
- Beiträge: 355
- Registriert: 18.09.2018, 01:14
- Hat sich bedankt: 68 Mal
- Danksagung erhalten: 17 Mal
Re: OLED Display
Hallo Norbert
Frohe Weihnachten und danke für den Hinweis.
Ich bin heute bis auf etwas schreiben zu nix anderem gekommen.
Sobald ich etwas Luft habe, werde ich die Config entsprechend ändern und auch testen ob 6 Zeilen möglich sind.
Vielleicht hast Du in meinem Bericht zum Rast-Test-Controller gesehen das ich auf der Suche nach besseren und kleineren Tastern bin, wenn Du mir dazu einen Tipp geben kannst, wäre ich Dir sehr dankbar.
Frohe Weihnachten und danke für den Hinweis.
Ich bin heute bis auf etwas schreiben zu nix anderem gekommen.
Sobald ich etwas Luft habe, werde ich die Config entsprechend ändern und auch testen ob 6 Zeilen möglich sind.
Vielleicht hast Du in meinem Bericht zum Rast-Test-Controller gesehen das ich auf der Suche nach besseren und kleineren Tastern bin, wenn Du mir dazu einen Tipp geben kannst, wäre ich Dir sehr dankbar.
Gruß, Ralf
-
- Beiträge: 300
- Registriert: 31.12.2018, 08:07
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 71 Mal
Re: OLED Display
Hallo Ralf,
6 Zeilen werden dir nicht gelingen....
Bezüglich anderer Taster kann ich dir leider keinen Tipp geben. Meine sind eher größer, tiefer.
Die von dir angepeilten Kurzhub-Microtaster habe ich bislang nie als Oft-Betätiger verwendet,
da fehlt mir das Vertrauen in die simplen Teile, die zudem kein 5mm-Raster haben,
wie du wohl annimmst. 2 Stück davon habe ich kürzlich noch in meinen LYCONT-28 eingebaut, die habe ich einfach vorab verdrahtet, eingesetzt und dann mit Heißkleber zugeschüttet.
Elegant wäre da eine passend gezeichnete Ätzplatine, wie Sven es gemacht hat, dann passen die Teile auch genau aufs Kupfer und in die Bohrlöcher, sonst wird das eine elende Fummelarbeit mit ungewissem Ausgang.
Ansonsten würde ich mal bei Reichelt suchen lassen, was es da so gibt.
VG N.
6 Zeilen werden dir nicht gelingen....
Bezüglich anderer Taster kann ich dir leider keinen Tipp geben. Meine sind eher größer, tiefer.
Die von dir angepeilten Kurzhub-Microtaster habe ich bislang nie als Oft-Betätiger verwendet,
da fehlt mir das Vertrauen in die simplen Teile, die zudem kein 5mm-Raster haben,
wie du wohl annimmst. 2 Stück davon habe ich kürzlich noch in meinen LYCONT-28 eingebaut, die habe ich einfach vorab verdrahtet, eingesetzt und dann mit Heißkleber zugeschüttet.
Elegant wäre da eine passend gezeichnete Ätzplatine, wie Sven es gemacht hat, dann passen die Teile auch genau aufs Kupfer und in die Bohrlöcher, sonst wird das eine elende Fummelarbeit mit ungewissem Ausgang.
Ansonsten würde ich mal bei Reichelt suchen lassen, was es da so gibt.
VG N.
-
- Beiträge: 355
- Registriert: 18.09.2018, 01:14
- Hat sich bedankt: 68 Mal
- Danksagung erhalten: 17 Mal
Re: OLED Display
Hallo Norbert
Vielen Dank für deine Antwort bezüglich der Taster.
Zum Display habe ich mal ein Foto gemacht:
Ich habe das Display um 180 Grad gedreht und drei Zeilen hinzu gefügt, diese sind mit "1", "3" und "5" angezeigt.
Vielen Dank für deine Antwort bezüglich der Taster.
Zum Display habe ich mal ein Foto gemacht:
Ich habe das Display um 180 Grad gedreht und drei Zeilen hinzu gefügt, diese sind mit "1", "3" und "5" angezeigt.
Gruß, Ralf
-
- Site Admin
- Beiträge: 883
- Registriert: 14.09.2018, 19:05
- Hat sich bedankt: 33 Mal
- Danksagung erhalten: 144 Mal
Re: OLED Display
Ich habe die Funktionalität in der aktuelle Beta-Version eingebaut.
Hier ein Beispiel für zwei Zeilen für F0 bis F9 und F10 bis F19.
Ich will mehr wissen
[Ich weiß, mittlerweile ziemlich unübersichtlich]
Um mal ein Beispiel zu erklären:
Ich picke mir die Anzeige für F9 heraus:
Die einzelnen Elemente sind durch ein "|" getrennt.
In diesem Fall also der Status der F9-Taste. Dieser Wert ist entweder eine "0" oder "1".
Da uns aber in diesem Fall eine Folge der Art "0101011101" nichts hilft, wollen wir stattdessen eine Anzeige, aus der klar wird, welche F-Taste aktiv ist:"_1_3_567_9"
Wir müssen also (für unser Beispiel), die "0" in ein " " und die "1" in eine 9 verwandeln.
Dafür sind die nächsten Befehle.
"s/0/ /g" heißt soviel wie "Ersetze" alle "0" durch " ". [2]
"s/1/9/g" heißt soviel wie "Ersetze alle "1" durch "9".
Damit konstruiert man also die gewünschte Anzeige, die entweder " " oder "9" ausgibt.
Und nun dieses Spielchen für alle 20 F-Tasten wiederholen
Ich will noch mehr wissen
Wahrscheinlich kommt jetzt bei allen nicht Programmieren die Frage auf, warum so komplex.
Ganz einfach, weil euch jetzt sehr viele Möglichkeiten offen stehen.
Ihr mag diese Form der Anzeige nicht, sondern wollt selbst sprechende Bezeichner?
Bitte schön:
${ldata|f0|s/0/Licht aus/g|s/1/Licht an/g}
Wenn F0 aktiv ist, wird jetzt "Licht an" ausgeben. Wenn F1 deaktiviert ist, ein "Licht aus".
Die Möglichkeiten sind endlos.
Gruß,
Sven
[1] Eine Liste der auf eurem ESP verfügabren Informationen könnt ihr euch über http://<ip>/help anzeigen lassen.
[2.1] Ist an den Sed-Syntax angelehnt, aber ich unterstütze nur einfaches ersetzen ohne Regex oder ähnliches
[2.2] Neben dem s/../../g gibt es noch ein Formatierungsbefehl z.B. "% 3s". siehe http://www.cplusplus.com/reference/cstdio/printf/. Hinweis: Es ist immer ein String. Also "%3.5f" wird nicht(!) unterstützt.
Hier ein Beispiel für zwei Zeilen für F0 bis F9 und F10 bis F19.
Code: Alles auswählen
"text": [
"${ldata|f0|s/0/ /g|s/1/0/g}${ldata|f1|s/0/ /g|s/1/1/g}${ldata|f2|s/0/ /g|s/1/2/g}${ldata|f3|s/0/ /g|s/1/3/g}${ldata|f4|s/0/ /g|s/1/4/g}${ldata|f5|s/0/ /g|s/1/5/g}${ldata|f6|s/0/ /g|s/1/6/g}${ldata|f7|s/0/ /g|s/1/7/g}${ldata|f8|s/0/ /g|s/1/8/g}${ldata|f9|s/0/ /g|s/1/9/g}",
"${ldata|f10|s/0/ /g|s/1/0/g}${ldata|f11|s/0/ /g|s/1/1/g}${ldata|f12|s/0/ /g|s/1/2/g}${ldata|f13|s/0/ /g|s/1/3/g}${ldata|f14|s/0/ /g|s/1/4/g}${ldata|f15|s/0/ /g|s/1/5/g}${ldata|f16|s/0/ /g|s/1/6/g}${ldata|f17|s/0/ /g|s/1/7/g}${ldata|f18|s/0/ /g|s/1/8/g}${ldata|f19|s/0/ /g|s/1/9/g}",
"Zeile3",
"Zeile4"
],
Ich will mehr wissen
[Ich weiß, mittlerweile ziemlich unübersichtlich]
Um mal ein Beispiel zu erklären:
Ich picke mir die Anzeige für F9 heraus:
Code: Alles auswählen
${ldata|f9|s/0/ /g|s/1/9/g}
- ldata
- f9
- s/0/ /g
- s/1/9/g
In diesem Fall also der Status der F9-Taste. Dieser Wert ist entweder eine "0" oder "1".
Da uns aber in diesem Fall eine Folge der Art "0101011101" nichts hilft, wollen wir stattdessen eine Anzeige, aus der klar wird, welche F-Taste aktiv ist:"_1_3_567_9"
Wir müssen also (für unser Beispiel), die "0" in ein " " und die "1" in eine 9 verwandeln.
Dafür sind die nächsten Befehle.
"s/0/ /g" heißt soviel wie "Ersetze" alle "0" durch " ". [2]
"s/1/9/g" heißt soviel wie "Ersetze alle "1" durch "9".
Damit konstruiert man also die gewünschte Anzeige, die entweder " " oder "9" ausgibt.
Und nun dieses Spielchen für alle 20 F-Tasten wiederholen
Ich will noch mehr wissen
Wahrscheinlich kommt jetzt bei allen nicht Programmieren die Frage auf, warum so komplex.
Ganz einfach, weil euch jetzt sehr viele Möglichkeiten offen stehen.
Ihr mag diese Form der Anzeige nicht, sondern wollt selbst sprechende Bezeichner?
Bitte schön:
${ldata|f0|s/0/Licht aus/g|s/1/Licht an/g}
Wenn F0 aktiv ist, wird jetzt "Licht an" ausgeben. Wenn F1 deaktiviert ist, ein "Licht aus".
Die Möglichkeiten sind endlos.
Gruß,
Sven
[1] Eine Liste der auf eurem ESP verfügabren Informationen könnt ihr euch über http://<ip>/help anzeigen lassen.
[2.1] Ist an den Sed-Syntax angelehnt, aber ich unterstütze nur einfaches ersetzen ohne Regex oder ähnliches
[2.2] Neben dem s/../../g gibt es noch ein Formatierungsbefehl z.B. "% 3s". siehe http://www.cplusplus.com/reference/cstdio/printf/. Hinweis: Es ist immer ein String. Also "%3.5f" wird nicht(!) unterstützt.
-
- Beiträge: 355
- Registriert: 18.09.2018, 01:14
- Hat sich bedankt: 68 Mal
- Danksagung erhalten: 17 Mal
Re: OLED Display
Hallo Sven
Verstanden habe ich das Du extrem fleißig warst und die Funktionstasten nun besser sichtbar gemacht werden können als bisher.
Aber danach beginnt für mich ein Labyrinth von Informationen welches ich nun versuche zu durchdringen...
Um mal an "deine" Ausgabe Information anzuknüpfen:
Bei mir müsste, wenn F0 eingeschaltet ist folgendes ausgegeben werden: "Licht an"|"Motor an"...
Nach dem Motto jeder wie er es mag, wäre mir Deine Anfangsidee mit zwei Zeilen von 0 bis 9 am liebsten.
Ich bin gespannt ob ich das hin bekomme!
Verstanden habe ich das Du extrem fleißig warst und die Funktionstasten nun besser sichtbar gemacht werden können als bisher.
Aber danach beginnt für mich ein Labyrinth von Informationen welches ich nun versuche zu durchdringen...
Um mal an "deine" Ausgabe Information anzuknüpfen:
Bei mir müsste, wenn F0 eingeschaltet ist folgendes ausgegeben werden: "Licht an"|"Motor an"...
Nach dem Motto jeder wie er es mag, wäre mir Deine Anfangsidee mit zwei Zeilen von 0 bis 9 am liebsten.
Ich bin gespannt ob ich das hin bekomme!
Gruß, Ralf