[SOLVED] Inhalt eines LC-Displays (20x4) auslesen?

@my_xy_projekt

Vielen Dank für den Hinweis. Das mit eventuellen Problemen bei der Hardware ist mir auf jeden Fall bewußt. So auch die Aussage von @Uwe mit dem vielleicht fest verdrahtetem R/W-Pin. Das Gute daran ist aber, dass ich mir auf diesem Sektor absolut gar keine Gedanken machen muß.

Dieses o.g. „Große Projekt“ ist meine Anfang 2019 beschriebene Idee „Drumbox mit Arduino“ aus diesem Beitrag: Arduino Forum Leider ist es kurz danach zu erheblichen Störungen im familiären Umfeld gekommen... so dass ich erst jetzt in der „Corona-Ruhe“ die Muße gefunden habe, weiter daran zu bauen und zu experimentieren.

Tatsache ist, dass ich einzelne Komponenten aus dieser „Idee“ nicht als „großes Ganzes“ behandele, sondern die einzelnen Teile daraus autonom und steckbar sind. Bei Bedarf könnte ich also „mal eben“ eine der Platinen neu erstellen oder umbauen und anschließend wieder in das „Große Ganze“ integrieren.

So hatte ich z.B. das LC-Display ursprünglich via I2C angeschlossen. Es ist aber ebenso nicht fest verdrahtet und ich habe erst gestern „mal eben“ einen kleinen „Aufsteck-Adapter“ für den UNO R3 dazu gebastelt, bei dem ich alle Leitungen zum Display via Jumper einzeln ein- oder ausblenden kann. Quasi zur „Grundlagenforschung“ mit allen Freiheiten und ohne Wackelkontakte.

Nun, und in diesem Zusammenhang habe ich (wie von Tommy56 empfohlen) die „LiquidCrystal.h“ direkt als „Class“ in einen Test-Sketch integriert und kann damit experimentieren, OHNE auf jegliche externe LIBs via „#include“ zugreifen zu müssen. Der erste Schritt darin war das „Ein- und Ausschalten“ der Hintergrund-Beleuchtung mittels „lcd.backlight()“, was ich bisher nur aus der "LiquidCrystal_I2C.h" kenne. Für ein „stand-alone-Display“ ist das nicht vorgesehen. Meine Class-Adaption könnte das jetzt aber ebenso. Wobei hierzu dann 2 Widerstände und ein Transistor nötig wären. Mal sehen wie sinnvoll sich das alles verhält.

Genau so konnte ich nun (erfolgreich) damit experimentieren, wie ich mit dem „4-Bit-Modus“ und mit dem „8-Bit-Modus“ jonglieren kann. Ein Manipulieren des R/W-Pins ist ebenso machbar. Und letztendlich ist es mir gelungen, einzelne Methoden aus der Class mit separaten Commands nachzubilden. Egal ob lcd.setCursor(), lcd.clear(), lcd.wasauchimmer()...

Nun untersuche ich gerade, wie das halt mit dem „Lesen“ vom Display im 4- und 8-Bit-Modus funktioniert. Aber nachdem ich die LIB und auch die Angaben von HITACHI nun anscheinend recht gut verstanden habe... mache ich mir keine Sorgen mehr, dass mir meine LCD-Versuche letztendlich in der Form gelingen wie es mir vorschwebt.

LG, Rudi