Altes LC Display auslesen von einem Radio

Hallo , gibt es eine Lösung für meine Idee? Ich möchte das LC Display aus dem Radio ausbauen und ein TFT Touch Screen Bildschirm einbauen , Das alte Radio hat über den LC Bildschirm Volume , Balance , Bass und Höhe sowie Lautsprecherausgänge und Eingänge von Chinch Angezeigt , jetzt möchte ich das man das auch auf dem TFT Bildschirm sehen kann. Ich hoffe mir kann da jemand helfen. Ich habe UNO 3R . Es sind 4 Kabel an das LC Display angeschlossen Data und Clock und 5.5V und GND
LG. Klaus

Meine Vermutung das Display hat eigenen µC drauf wen ja = kannst vergessen.
Habe hier auch welsche rumliegen, konnte nichts über die finden, vor allem muss man das Protokoll kennen, bedeutet, was und wie sendet das Radio zum LCD.

@klaki1968
Ich verstehe nicht, was genau du vom LCD auslesen möchtest !?

LCD ohne controller kannst du schon emulieren, aber es ist halt ein bischen kompliziert. EEVblog hat eine ganze Tutorialserie zur Funktionsweise der LCDs: https://www.youtube.com/watch?v=ZYvxgl-9tNM&list=PLvOlSehNtuHvmK-VGcZ33ZuATmcNB8tvH

Kannst Du an einen Logikanalysator hängen. Wenn Du Glück hast, kennt der das Protokoll wie I²C oder dergleichen. Wenn nicht, kannst Du aus dem, was das LCD anzeigt und dem Datenstrom eventuell einen Zusammenhang herstellen.

Ich kann als neu Nutzer noch keine Anhänge zufügen. Aber es gibt den Schaltplan im Internet unter Revox B 285 da sind alle Daten drin,

Nochmal, was möchtest du auslesen ?

Du kannst aber Link einfügen

Ich will vom Radio die i2c bus auslesen und dann auf ein TFT Bildschirm anzuzeigen

Das ist aber was anderes, als ein LC Display auslesen.
Dann brauchst du einen Oszilloskop oder ein Logicanalysator.

Na ja, habe keine Lust 100 Seiten durchsuchen nach dem Schaltplan.
Ob das wirklich I²C ist, ist so eine Frage, nach dem µC Typ könnte man schauen was der kann

Selbst wenn, wird das eine Fleißaufgabe sein.

Und das heißt nicht zwangsläufig, es ist I2C.

Annahme: Du willst das LCD durch ein TFT ersetzen (nicht auslesen, sondern eigentlich "emulieren").

Die Service-Anleitung zum B285 gibt es z.B. bei manualslib. Auf Seite 17 (D-3/4) ist das Blockschaltbild - @fony, @HotSystems : Es ist I2C.

Die Displaycontroller könnten PCF8577 (Seite 37) sein:
image

Dann sollte am Ende das I2C-Protokoll nicht allzu schwierig sein, denn der PCF bekommt eigentlich nur die Information, welche Segmente anzuschalten sind (ähnlich hier).

Damit müsstest Du den Uno als I2C-Slave schalten, die Befehle ans Display annehmen (und korrekte ACKs senden) und daraus dann das Bild der angeschalteten Segmente auf dem TFT basteln. Danach kannst Du aus den Segmentkombinationen ja ein schöneres/buntes Design erzeugen.

Ist wirklich eine Fleißarbeit... aber der Winter kommt ja erst noch.

Nachtrag: Ich habe gerade mal an einem 0.91" OLED mit so einem kleinen Logikanalysator und der Saleae-Software einen I2C-Log aufgenommen. Die SW hat einen I2C-Decoder, da kann man die Bytes in HEX gleich sehen.

1 Like

Das es I2C ist, steht sogar im Blockschaltbild.
Da sollte es doch kein Thema für den TO sein, die nötigen Informationen mit den richtigen Meßmitteln rauszulesen.

Na ihr habt ja Nerven. Ja das geht. Aber was für ein Aufwand für jemanden der noch nicht mal Ahnung vom Programmieren zu haben scheint.

Vom dem dass man die Bytes als HEX-Zahlen hat ist es noch ein sehr langer weg bis zum emulieren.

Sehe ich das richtig, dass das da

Das LC-Display ist?

Au watte. @klaki1968
das ist KEIN Standard x * y dotmatrix-display wie so etwas


Wo man pro Zeichen eine feststehende Anzahl Punkte hat

Für solche Displays gibt es einen Quasi-Standard das die nach HD44780-"Protokoll"
angesteuert werden.

Sondern ein irgendwie firmenspezifisches Display mit ganz unterschiedlichen Elementen.
Da werden dann grob geschätzt ca. 5 bis 20 Bytes gesendet.
Abhängig von den 40 bis 128 bits in diesen bytes werden dann die einzelnen Striche / Symbole ein oder ausgeschaltet.

Das Protokoll nach dem das geschieht ist vollkommen unbekannt.
Das bedeutet fürdas analysieren
Erzeuge eine Anzeige auf der möglichst wenig angezeigt wird
Nimm die komplette 40 bis 160 bit-Sequenz auf auf und notiere die Bytewerte
Erzeuge eine möglichst kleine Veränderung auf dem Display also nur ein einzelnes Symbol zusätzlich anzeigen lassen
Dann wieder
Nimm die komplette 40 bis 160 bit-Sequenz auf auf und notiere die Bytewerte

und dieses Prozedere muss man dann für jedes einzelne Anzeigelement wiederholen
und dann aus der Änderung der Zahlenwerte das Muster zu erkennen welches Bit schaltet denn welches Anzeigeelement.

Hier mal ein Digit der alphanumerischen Anzeigeelemente


Jeder Farbstrich markiert EIN Element.

Du hast es also mit ca. 100 Elementen zu tun.

Herausfinden wie viele Bytes werden denn gesendet?
Mit was für einer Wiederholrate = wie oft pro Sekunde werden diese Bytes gesendet?

Auch möglich dass auf dem Display ein eigener Microcontroller sitzt. Der die Daten vergleichsweise "hochsprachig" gesendet bekommt.

Also zum Beispiel 4 Bytes für die alphanumerischen Zeichen direkt als ASCII-Code
evtl. zwei Bytes für die ganzen Dreiecke wenn die ein/ausschaltbar sind
usw.
Dann geht es darum herauszufinden in welcher Reihenfolge werden diese Bytes gesendet.

Genau und wenn man will, kann man alles lernen.
Und da bin ich von ausgegangen, dass genau hat der TO auch von.
Er fragt ja hier um Hilfe und die bekommt er doch auch.

Und dass der TO lernwillig ist, sieht man auch an diesem Thread.

Ja. Das ist nix Schlimmes sondern weit verbreitetes Vorgehen.

Ich denke nein. Es gibt ein Datenblatt zu den Treiber-ICs und auf Seite 37 der Serviceanleitung allerhand Informationen, wie die Treiber und das Display verbunden sind und welches Segment welche Nummer hat.

Definitiv nein. Es gibt zwei Controller in dem System (vermutlich 8051-Derivate), von einem davon werden die Display-Treiber über I2C angesteuert. Das hatten wir schon.

Dein Vorschlag für die Vorgehensweise ist eine valide Möglichkeit - Einstellen, Foto machen, Bytefolge aufnehmen, Schlüsse ziehen. Aber der TO braucht vermutlich nicht alle Möglichkeiten durchzuprobieren, da ist schon System drin.

Wenn Du nach "arduino i2c bus sniffer" suchst, findest Du Programme, die den I²C-Bus untersuchen.

Beim UNO habe ich den Eindruck, der Speicher erlaubt nur wenige, vermutlich zu wenige Daten für die Analyse. Der ESP32 hat mehr Speicher, aber die von mir gefundene Anzeige fand ich kryptisch.

Der Logikanalysator ist für sowas konstruiert und analysiert die Daten:

Mein für diesen Test verwendetes LC-Display hat, wie man sieht, die I²C-Adresse 0x27. Wenn Du die Adresse Deines Displays herausfinden würdest, könnte man mit einem Arduino als I²C-Slave arbeiten, was für die Analyse hilfreich sein dürfte.

Es wird dann nicht einfach, aber hoffentlich etwas einfacher :wink: