Zitat Zitat von HaWe Beitrag anzeigen

Eine Variable kannst du in der Instantiierung allerdings nicht einsetzen, daher musst du immer beide LCD-Instanzen definieren und alle lcd-print etc. doppelt schreiben (wobei dann eine von beiden unbenutzt ist und deren Lese/Schreibvorgänge jeweils im Nirwana enden)


LiquidCrystal_I2C lcd1(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

LiquidCrystal_I2C lcd2(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
Das nützt mir aber kaum etwas, ich muss dann trotzdem immer wieder schreibzugriffe auf beide lcd's (lcd1 und lcd2) angeben...

Eigentlich dachte ich durch die Suche der jeweils verbauten I2C adresse dass ich die teile einfach beliebig einsetzen kann ohne mich groß um die tatsächliche adresse kümmern zu müssen...

gibt es evtl. noch andere möglichkeiten? Z.b. wie hier von RoboHolIC ausgeführt:

#ifndef ist eine Anweisung an den Preprozessor. Damit kannst du bei der Compilierung steuern, ob die Variante ... lcd(0x27... oder ...lcd(0x3F... in das Programmfile eingebaut wird. Dann hast du eben immer genau die eine ODER die andere Display-Adresse im Code.