Dank Kollegen Kenakapheus kam ich an folgende Infos:
das Display lässt dich am einfachsten mit dem IBIS Wagenbus ansteuern.
Das ist im wesentlichen eine Serielle Schnittstelle als 24V Stromschleife ausgeführt.
Cato hat dafür einen fertigen USB Wandler, aber aus einem USB -> Seriell Wandler und einem Transistor lässt sich schnell einer zusammenbasteln.
Zum ansteuern hat sich diese Software bewährt: http://cybox.ib-luehning.de/ibis/
Auf der Controllerplatine sitzt ein Drehschalter mir 16 Positionen, mit dem man verschiedene Testmuster anzeigen kann.
Allerdings ist der mit Vorsicht zu Benutzen. Eine Position macht den Controller unbrauchbar. Leider weiß ich nicht mehr genau welche das war.
So. Schnittstellenadapter gefriemelt: läuft. Pegel stimmen auch an der Anzeige. Software angerissen und mit rumgespielt: läuft, lt. Scope elektrisch alles OK. Anzeige antwortet nicht auf der eigenen Sendeleitung und zeigt auch nix an.
Grübel
Das Protokoll gelesen und erstmal wenig Kompatibilität zu meinem Hirn festgestellt. Das Display hat lt. Aufkleber Adresse 3, ist auch auf dem Kodierschalter so eingestellt. Die Siebensegmentanzeige auf dem Board macht langsame Kreise, der Controller lebt also. Flachbandkabel der Displayverbindung hab ich gecheckt: alles gut. Die Hintergrundbeleuchtung tuts auch.
ich hab auch eine , aber Haltstelle-Anzeige. Deiner ist Ziel-Anzeige..
Da hab ich einfach anfangs direkt an RS232 angeschlossen und 1200Baud 7E2 (7bit, even, 2 stop, anders mag Display nicht) eingestellt und kurze Text über HTerm geschickt, die ich vorher Parity-Bit berechnet habe.
Spätere Test ergab, dass Eingang auch mit 5V TTL Pegel klarkommt, nur eben in verpolte Polarität (RS232 und IBIS arbeitet mit "negative" Logik)
Schon herausgezeichnet, ihre Eingänge..? bei mir ist da einfach Optokloppler & Vorwiederstand und Diode, der antiparallel an Sendediode von Optokoppler hängt.
laut Cato ja, bei mir war nicht sicher, hab nicht daran geachtet und der läuft nun.. und dann als ich den DIREKT an Atmega hängt, müsste ich nochmals umpolen, dann kannst du dich ja ausdenken
Zuletzt geändert von Matt am Sa 12. Aug 2017, 15:58, insgesamt 1-mal geändert.
Die großen Displays wo Finger eins hat, die können nur Liniennummer und Ziel.
Anfänglich waren die Ziele überschaubar, ich konnte die Liste auswendig und diese wurden von Hand angewählt.
Später wurde das Zeug dann alles vereinheitlicht, und alle möglichen (und unmöglichen, wie "Bergbahn Ersatzverkehr") Ziele des riesigen Netzes eingespeichert.
Eine Liste gabs dafür nie, das war dann alles mit dem IBIS-Gerät des Zuges gekoppelt.
Und an ein letzteres komme ich nicht dran, leider.
Wenn ich Text zum haltstellenanzeige schicken will, dann lautet RS232 Telegram: v"deineText"<cr><p>. (v wählt Haltstelleanzeige aus, z ist Zielanzeige, l ist Linienummer)
Wobei Parity/ <p> aus Ergebnisse: Es wird mit 0x7F als Anfang und wird mit jeweilige Zeichen (inkl. <cr> und 'v') XOR verknüpft .
Wichtig ist auch dass Telegram in eine Rutsch zu Display übergetragt wird, ohne Pause.
Nun jetzt kann ich einfach Text über Bluetooth zu Haltstellenanzeige schicken. Atmega holt Daten aus UART Puffer und setzt und berechnet Parity erst wenn der Daten zu Display schicken sollten.
Zuletzt geändert von Matt am Sa 12. Aug 2017, 18:04, insgesamt 2-mal geändert.
Matt hat geschrieben:in Heckscheibe einbauen.
Drängler kommt und dich bedrängeln, Display aktivieren und passende Frage "Abstand ? " zu ihm schicken, fertig
kann ich deine Sourcen mal sehen? Ich kriege ausschliesslich eine Liniennummer mit lxxx<cr><p> zustande. Alle anderen Kommandos haben keine Wirkung. Das "Ibis Wagenbus-Utility by Cybox" schiebt aber insgesamt auch mehr raus als ich dachte. Angehakt ist nur die Direktausgabe. Die ersten beiden Zeilen variieren auch machmal. Wofür sind die gut?
u=Entwerter (OK) aber c als Einleitung?
Wenn ich Text zum haltstellenanzeige schicken will, dann lautet RS232 Telegram: v"deineText"<cr><p>. (v wählt Haltstelleanzeige aus, z ist Zielanzeige, l ist Linienummer)
Wobei Parity/ <p> aus Ergebnisse: Es wird mit 0x7F als Anfang und wird mit jeweilige Zeichen (inkl. <cr> und 'v') XOR verknüpft .
Wichtig ist auch dass Telegram in eine Rutsch zu Display übergetragt wird, ohne Pause.
Nun jetzt kann ich einfach Text über Bluetooth zu Haltstellenanzeige schicken. Atmega holt Daten aus UART Puffer und setzt und berechnet Parity erst wenn der Daten zu Display schicken sollten.
Kein Problem, versucht aber mit "zA" , wie es in Link steht. zA = Ziel, Aussenanzeige.
Hier Code von Daten-Senden und Parity-Check (hier wurde P-Fleury UART Library genutzt, meine fertige nutzt dafür soft-UART, die ich selber geschrieben wegen 7E2 Datenformat habe)
Dank dir. Nach einiger Herumexperimentiererrerererei kam ich drauf, das zA alleine nicht hilft. Ich muss "DS0003a" einstellen. Das Testprogramm generiert daraus
Also eine Zeichenkette mit 49 Zeichen. Der Erscheint dann in der Mitte:
Die Anzahl der Zeichen muss fix bleiben, sonst wird der Text nicht dargestellt. Scheinbar kann die Kiste auch DS3aMAS, aber das Programm ist buggy. Generiert Zeichen, die nicht eingegeben wurden....
Und Sonderzeichen wie Punkt, Komma und Fragezeichen lösen die erstaunlichsten Sonderfunktionen aus... Es fehlen dann Zeilen, oder plötzlich ist alles invertiert.... Gibts das auch irgendwo vernünftig dokumentiert? Irgendwie finde ich nichts dazu....
Malt dir bitte Eingangsbeschaltung aus.
Dann kann ich dir sagen, ob du es direkt an RS232 Port anschliessen kann.. oder IBIS Wandler ist zwingend.
Seitenanzeige = zA?
Bei mir reicht TTL Pegel aus , ihm anzusteuern (Haltstelle-Anzeige)
Kleine Anschiss für dich: Du kannst ruhig neue Theard eröffnen und nicht Finger's Theard entführen.
Ich klinke mich hier mal mit ein, da ich auf dem Treffen exakt die gleiche Anzeige bekommen habe (Nochmals vielen Dank Lötfahne und an Matt für die hinfreichen Infos):
Läuft!
Frage: Wie ist es möglich, längere Lauftexte darzustellen?
Also so, wie bei der gröseren Anzeige, welche über dem Eingang zu den Videokollegen hing.
Edit: Erstmal die fahlen Leuchtstoffröhren rausgeschmissen und RGB-LED´s eingebaut:
Diese Gelbe verblichene Folie habe ich auch entfernt und durch welche aus alten grossen TFT´s eingebaut.
So sieht das doch gleich viel besser aus
Leuchtstoffröhren in meiner grosse ist auf Treffen gestorben, daher hab ich LED Streifen für TV von Xanakinds Flohmarkt genohmen und verbaut.
sagmal, mit welchere Datensatz hast du volle Schrifthöhe hingekriegt?
Damit ich nicht lang suchen müsste.
Info für alle: Diese grosse Display lässt wie Haltstelledisplay direkt an RS232 Pegel betreiben (optokoppler-Eingang ist mit antiparallele Diode geschützt)
IBIS Wandler ist unnötig. Phillip hat schon Belegung notiert. (weiss auf Masse (Pin 5), braun auf TX (Pin 3) )
Matt hat geschrieben:
sagmal, mit welchere Datensatz hast du volle Schrifthöhe hingekriegt?
Damit ich nicht lang suchen müsste.
Dazu hatte ich den Datensatz DS3aLW verwendet. Dann wird das so schön Gross
Das Ausgabefenster geht bei mir irgendwie nie.
Es öffnet sich zwar und ich kann in der Miniaturansicht/ Vorschau von Windows erahnen was darin steht, aber es taucht nie auf einem meiner Bildschirme irgendwo auf
Ansonsten: Richtig! Einfach stumpf weiss und braun direkt an den Seriellen Port klemmen und es läuft!
Also, kleine Projekt für Zielanzeige (der in diese Theard besprochen wird)
Es ist für Atmega328 geschrieben, empfehlenswert: Arduino mit Atmega328. Es wird über ICSP aufgespielt!!!
Ihre USB-RS232 Wandler wird genutzt und Terminal (TerraTerm, COM Port auf Baud 9600 einstellen) starten und einfach so reintippen.
Entwender Erreichen von 16 Zeichen-Anzahl oder Enter löst Senden zu Display aus. AVR rechnet Parität und setzt paar Zeichen davor, darum brauchst ihr nix beim Tippen achten. D.H. einfach in Terminal tippen und dann zwecks senden auf Enter drücken, Display lacht dich dann mit angezeigte Text an.
RS232 Signal zu Display kommt aus Port PB0 (Arduino "D8") RS232 Wandler/Treiber (MAX232) braucht Ihr aber.
Es folgt noch eine Variante für Haltstelle-Display.
Hier eine Variante für Haltstelleanzeige (kleinere Display)
Eine Unterschied zu grosse, dass Auslösung für Senden erst mit 24 Zeichen-Anzahl erreicht. Enter funktioniert genauso.
Randnotiz: twoSPEED, da war meine Versuch, dass UART zwischen 2 Geschwindigkeit zu springen lassen ( mit Baud 9600 empfangen, mit Baud1200 senden)
Es hat aber nie funktioniert und ich es mit soft-SPI mit krumme Timingswert* lösen dürfte.
Ich habe das kleine Display nun mal in´s Auto gemacht und habe mal etwas mit den deutschen Umlauten herumgespielt (Danke an ferdimh für den Hinweis)
Damit alle was davon haben und ich das ganze selber auch mal wieder finde, hier mal die Deutschen Umlaute:
Ä--> [
ä--> {
Ö--> \
Ü--> ]
ß--> ~
ö und ü kann das kleine Display nicht darstellen und werden einfach als Ö & Ü dargestellt.
Das Display kann aber diverse Sonderzeichen direkt darstellen:
@$%&(=)?!
€ geht nicht, zumindest habe ich es nicht herausgefunden
Kann das Ding echt kein kleines Ö? Auch nicht, wenn man ihm ne Pipe (|) schickt?Skurril. (der Zeichensatz ist analog zur Zeichenumpfuschung beim Apple ][, wo ein "Land" Kippschalter einfach den Bildschirmzeichensatz tauscht).
Naja, wenn ich ein } schicke, dann erscheint auch ein Ü.
Das Display hat halt nur eine begrenzte Auflösung und dort haben die Punkte über einem kleinen u keinen Platz oder würde seltsam aussehen.
Edit:
So sieht das dann aus:
Kenakapheus hat geschrieben: ↑Mi 1. Aug 2018, 23:09
Mein Display hat einen Selbstgenbauten Controller, der mir erlaubt den Text an beliebiger Position Rendern und mit 30 FPS updaten kann.
Ich krame dieses alte Thema mal aus:
Ich habe meine Anzeige ja an meinem Arbeitsplatz und diese Woche kam wieder mal das Thema "Lauftext" auf.
Gibt es zum selbstgebauten Controller mittlerweile weitere Infos?
Eh, sorry, das Projekt war jetzt etwas in den Hintergrund geraten.
Also der Aktuelle Stand ist:
Hardware ist ein relativ generischen Board mit eine STM32 und einem W5500 drauf. Im Grunde braucht man nur 3 GPOs um die Daten in des Display zu bekommen
Der aktuelle Stand der Software funktionier quasi wie ein GPU. Lauftext funktioniert aktuell nur mit einem externen script was die Animation berechnet und per Netzwert in extueit an das Display sendet.
Grundsätzlich kann die Software beliebige UTF8 Strings verarbeiten, aber man muss die Schriftart passend erzeugen.
Ich habe nur die Auflösung der Großen Displays Implementiert, für die kleinen Varianten müsste sich das aber relativ leicht Anpassen lassen.
Bisher habe ich nur die Displays mit quadratischen Pixeln in Benutzung.
Bevor ich den code Veröffentlichen kann muss ich erstmal überkrüfen ob alle Lizenzen erfüllt werden. Ich hoffe mal das ich das am Sonntag schaffe.
Wenn du eigentlich nur die Lauftext Funktion brauchst kann ich dafür auch eine einfachere Version bauen.
Kenakapheus hat geschrieben: ↑Fr 16. Apr 2021, 17:48
Wenn du eigentlich nur die Lauftext Funktion brauchst kann ich dafür auch eine einfachere Version bauen.
Also reiner Lauftext wäre schon mega geil.
Damit könnte ich dann endlich mal längere Beschimpfungen darstellen
Kenakapheus hat geschrieben: ↑Fr 16. Apr 2021, 17:48
Wenn du eigentlich nur die Lauftext Funktion brauchst kann ich dafür auch eine einfachere Version bauen.
Also reiner Lauftext wäre schon mega geil.
Damit könnte ich dann endlich mal längere Beschimpfungen darstellen
Ahhh, sehr geil! Macht sich auch gut! Nur vmtl. bei heller Umgebung nicht so...
Ich hatte das damals in meinem alten Auto mit ner elektrisch wegklappbaren Flipdotanzeige gelöst: https://www.youtube.com/watch?v=WJYXJMueyOY
Müsste ich beim neuen Auto auch mal irgendwie was bauen.
Kenakapheus hat geschrieben: ↑Fr 16. Apr 2021, 17:48
Wenn du eigentlich nur die Lauftext Funktion brauchst kann ich dafür auch eine einfachere Version bauen.
Also reiner Lauftext wäre schon mega geil.
Damit könnte ich dann endlich mal längere Beschimpfungen darstellen
Welche Version bzw. Größe hast du denn?
Ich werde am Sonntag mal ein neues Hardware Design mit Bauteilen machen die man aktuell auch bekommt.
Ich kann aber auch mal eine Anleitung wie man das mit einem Devboard hinbekommt erstellen.
xanakind hat geschrieben: ↑Fr 16. Apr 2021, 20:38Ne, im Auto...
Cato hat geschrieben: ↑Fr 16. Apr 2021, 20:43Ich hatte das damals...
Ihr seid echte Bastler
PS: Grüße in die Nachbarschaft
Gruß zurück! Ich bräuchte eine einzeilige Flipdotanzeige, um den Platzverhältnissen im neuen Auto gerecht zu werden... oder doch LED? Ich muss mal überlegen
Cato hat geschrieben: ↑Fr 16. Apr 2021, 20:43
Ahhh, sehr geil! Macht sich auch gut! Nur vmtl. bei heller Umgebung nicht so...
Ja, das stimmt.
Die Originale LED Beleuchtung ist nicht sehr hell.
In dem Video sind noch die dunklen originalen LED´s verbaut.
Mittlerweile habe ich die Hintergrundbeleuchtung ordentlich aufgebohrt
Bis ich den Code vollständig aufgeräumt habe wird es wohl doch noch etwas dauern.
Ich habe erstmal die eigentliche Magie (das mapping der Pixel) hochgeladen, der Rest kommt jetzt immer wenn ich Zeit habe daran zu Arbeiten.