so, die dritte bestellung der I2C adapter ist nun auch schiefgelaufen, weil sich die chinesen den teufel drum scheren ob man was zu der bestellung dazuschreibt oder nicht, die liefern irgendwas - und nun wiederholt teile mit der adresse 0x3F. Immerhin unschlagbar billig.
Zitat von
RoboHolIC
.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.
ich würde gerne beide varianten "blind" einsetzetn und meine (geschätzt) 100 sketches jetzt nur einmal so anpassen, dass ich mir ein "modul" baue --
jetzt sieht es in etwa so aus:
Code:
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
im setup():
{
.....
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(0, 0);
lcd.setBacklight(HIGH);
lcd.print("xyz-sketch");
lcd.setCursor(0, 1);
lcd.print("xyz-sketch");
delay(2000);
lcd.clear();
.....
}
-- der überall identisch ist und automatisch erkennt, welches I2C-modul eingesetzt ist. Wie muss ich das jetzt mit dem "#ifndef" angehen? Ich bin da - wie schon oft - ahnungslos
greift z.b. #ifndef auf die hardware zu? Oder muss ich irgendwie einen I2C scanner im vorfeld laufen lassen?
Lesezeichen