INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Invertierung eines LCD
05.11.2013, 15:43 (Dieser Beitrag wurde zuletzt bearbeitet: 05.11.2013 15:51 von bn320.)
Beitrag #1
Invertierung eines LCD
Hallo,

ich habe (noch nicht) eine logische Frage, die ich derzeit nicht in der Lage bin zu lösen ....

Also, ich habe ein LCD welches mit Datalines D1-D4 angesteuert wird, es hat keine eigene Logik sondern wird extern über einen MS6255 angesteuert. Das Original LCD ist defekt und natürlich nicht lieferbar .....

Das Ersatzlcd funktioniert zwar sehr gut, aber .... es ist invertiert. Confused

Laut Datenblatt MS6255 gibt es keine Leitung die man per Pullup/Pulldown zum invertieren des LCD (damit dann wieder alles richtig) überreden kann. Also habe ich mir mal die Programmierung von Zeichen auf dem LCD angesehen und dabei festgestellt, das eine Invertierung im Grunde nur eine Umkehrung der Bits D1-D4 sein sollte.

Davon angespornt habe ich per Inverter die D1 bis D4 Leitungen invertiert, aber, Datenmüll. Die Sicht in die Datenblätter zeigt, das ich etwa 20ns Zeitverlust habe durch den Inverter und damit wohl ein Timing Problem....

Das brachte mich dann auf die Idee, das man per Arduino (oder auch generell einem AVR/PIC) in der Lage sein könnte per Programm die Invertierung darstellen zu können.

Mein laienhaftes programmier Verständnis ging dabei folgenden Weg (unter der Vorraussetzung, das der Dateninput zum LCD sich nur ändert, wenn sich auch die Daten ändern, sprich D1-D4 bleiben wie sie sind, bis D1-D4 andere Signale bekommen):

- READ D1 bis D4, Control Lines /DISP OFF, FLM, M, LP, CP
- WRITE Input to RAM
- READ D1-D4 from RAM
- INVERT (NOT) D1-D4
- WRITE NEW D1-D4 to RAM
- READ ALL
- OUTPUT ALL to LCD

Ich weiss das eine Zeitverzögerung da ist, aber das wäre unkritisch.

Bin ich vollkommen auf dem Holzweg? oder ist das eine theoretisch machbare Lösung/Ansatz? Undecided

VG
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.11.2013, 12:32
Beitrag #2
RE: Invertierung eines LCD
invertiert - verstehe ich dich richtig, wenn ich annehme, dass die Zeichen zwar richtig dargestellt werden, halt nur derart, dass der Hintergrund dunkel und der Inhalt hell erscheint?

Gruß, Stefan . . . . . . //Wo mein Kölbchen dampft, da bin ich unverkrampft.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.11.2013, 13:09 (Dieser Beitrag wurde zuletzt bearbeitet: 06.11.2013 13:46 von bn320.)
Beitrag #3
RE: Invertierung eines LCD
(06.11.2013 12:32)Stefan schrieb:  invertiert - verstehe ich dich richtig, wenn ich annehme, dass die Zeichen zwar richtig dargestellt werden, halt nur derart, dass der Hintergrund dunkel und der Inhalt hell erscheint?


Genau ....

Ist ein 320x240 LCD mit RA8835 als Controller....

Ich habe Heute Morgen schon gesehen, das das ganze über ein einfaches Invertieren der D1-D4 Leitungen nicht geht. In den Daten stehen alle Informationen, die man erst rausholen muss.

Habe aber auch Librarys für den Arduino gefunden, allerdings, ob man die dafür verwenden kann (sprich so abänern das es geht) glaube ich weniger...

Ich bin Leistungselektroniker, aber kein Programmierer, das will ich ändern.

Zumindest etwas ....

Ich habe gerade diese Infor aus dem Datenblatt gelesen :

Screen origin compensation for inverse display. IV is usually set to 1. The best way of displaying inverted characters
is to Exclusive-OR the text layer with the graphics background layer.

Das heisst, das der Layer 2 mit dem Text von XOR auf OR verknüpft werden muss.

Die Frage ist, kann ich aus dem Datenfluss genau das extrahieren, neu verknüpfen und wieder ausgeben.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.11.2013, 15:17 (Dieser Beitrag wurde zuletzt bearbeitet: 06.11.2013 15:17 von Stefan.)
Beitrag #4
RE: Invertierung eines LCD
ok - was mir noch so im Kopf herumschwirrt ist die Möglichkeit, dass das Problem durch die Kontrasteinstellung verursacht werden könnte. Hast du das einmal gecheckt? Mit der Justage der Backplanespannung können wir üblicherweise die Dinger so einstellen, dass sich eine quasi inverse Darstellung ergibt.

Gruß, Stefan . . . . . . //Wo mein Kölbchen dampft, da bin ich unverkrampft.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.11.2013, 15:19
Beitrag #5
RE: Invertierung eines LCD
Yepp,

das war das erste was ich gecheckt habe ....
Aber daran liegts nicht.
Man kann die Polarizer Folie umdrehen, aber das ist bei so einem LCD für uns kaum machbar .....
Also bleibt nur, umprogrammieren, wenn es denn machbar ist ....
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.11.2013, 16:24
Beitrag #6
RE: Invertierung eines LCD
gut, das dachte ich mir. Und schlecht: ich fürchte, das wird schwierig, denn z.B. durch eine eingefügte Inversion von Signalen wird das nicht gehen, sonden nur durch Umprogrammierung der ansteuernden Software, und das wohl auch kaum generell, sondern nur objektbezogen.

Gruß, Stefan . . . . . . //Wo mein Kölbchen dampft, da bin ich unverkrampft.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.11.2013, 20:52 (Dieser Beitrag wurde zuletzt bearbeitet: 06.11.2013 20:58 von bn320.)
Beitrag #7
RE: Invertierung eines LCD
Sch.....

Das war genau die Antwort die ich nicht hören wollte, aber irgendwie schon erwartet habe, als ich gesehen habe, das das LCD sehr kompliziert angesteuert wird...

Ich weiss aber auch, das auch wenn etwas unmöglich erscheint, manchmal eine ganz Irre Idee auch noch erfolgreich sein kann.

Also hoffe ich noch weiter 8-)

So, jetzt geh ich mich frustriert vorstellen 8-) (och, gibts gar nicht hier)....

Also, kurz zu mir, Leistungselektroniker, stark in sachen Löten (da löte ich im Grunde alles), habe an Maschinen alles da um Lötarbeiten durchzuführen, auch entlöten.
Elektronikentwicklung, Reparaturen, aber ebend keine Programmierung .... Da war ich immer zu .... unbedarft. Habe auch diverse ausgefallenen Programmiergeräte am Start ...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.11.2013, 20:13
Beitrag #8
RE: Invertierung eines LCD
na, dann herzlich willkommen Kollege - dann bist du hier im Arduinoland bestimmt richtig, denn mir ist noch kein so einfach zu erlernendes und doch so leistungsfähiges Programmiersystem untergekommen.

Gruß, Stefan . . . . . . //Wo mein Kölbchen dampft, da bin ich unverkrampft.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Frage zur Programmierung eines Ultraschallsensors jalu4601 10 355 21.09.2016 15:06
Letzter Beitrag: Bitklopfer
  Ansteuern eines Schrittmotors Uwe1475 28 1.015 03.09.2016 21:03
Letzter Beitrag: Uwe1475
  Steuern von 4 Servo mittels eines Taster und eines Potis Jackie09 17 757 16.07.2016 11:43
Letzter Beitrag: Binatone
  Zerlegung eines Programmcodes hello_world 5 535 30.04.2016 11:01
Letzter Beitrag: rkuehle
  Oszillation eines Steppermotors Nimes 12 909 07.03.2016 17:47
Letzter Beitrag: Binatone
  Probleme beim Auslesen eines IR Empfängers linuxpaul 7 574 06.03.2016 14:44
Letzter Beitrag: hotsystems
Bug Mit zwei Ultraschallsensoren die Drehbewegung eines Servos steuern Poet 5 560 21.02.2016 18:37
Letzter Beitrag: Carlo
  Suche Konzept für ein Inhaltsverzeichnis eines EEPROM avoid 0 311 27.01.2016 10:49
Letzter Beitrag: avoid
  Fehlermeldung beim compilieren eines RF24 Programmes. arduinofan 5 548 14.01.2016 22:52
Letzter Beitrag: ardu_arne
  Steuerung eines Remotekopfes mit Joystick, 2Stck DC Motore und Arduino max123 6 609 30.12.2015 14:56
Letzter Beitrag: max123

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste