LiquidCrystal lcd.setCursor(0, 1) setzt nicht auf 1. Zeichen

@oti1608

else{
			lcd.setCursor(l/2,1 );
			lcd.print("                ");		// lösche untere Zeile - leerzeichen
			lcd.print(s);						// Ausgabe untere Zeile	
			Serial.println(s);		
		};

vorsicht. Wenn du wie hier erst eine Zeile löscht dann musst du bevor du die Zeile ausgibst auch noch mal auf deine gewünschte Startposition gehen. Also eher so:

else{
			lcd.setCursor(0, 1 );             // ab Zeilenanfang
			lcd.print(F("                "));		// lösche untere Zeile - leerzeichen
            lcd.setCursor(l/2,1 );   // zur errechneten Startposition
			lcd.print(s);						// Ausgabe untere Zeile	
			Serial.println(s);		
		};
1 Like

das hatte ich getan. Für die 1. Zeile alles io, zentriert, kann auch jese cursorstelle ansprechen.
für die 2. zeile (1. zeile wird nicht angesprochen). gibt string idR an der 6 Stelle aus, das inst nach dem hochladen immer so. Nach dem Reset meistens 6. Stelle, manchmal auch die 3.
werde das alles noch mal zu schrumpfen.

thx. M,

thx, das ist mir plausibel, denn cursor steht ja nach dem letzten ausgegebenen charakter.
melde mich nach test.
Leider nicht, auch bei lcd.setCursor(0,1 ) fängt r mit der 7. Stelle an,

thx. M

genau deswegen - der Groschen ist gefallen :wink:

definitiv nicht. ich mach dir jetzt extra einen Punkt in die Löschzeile:

1 Like

leider nicht. Nun Code ohne Schnickschnack

void setup(){
  String MSG;
  lcd.init();                    
  lcd.backlight();
  // set cursor to first column, first row
  lcd.setCursor(0, 0);
  lcd.print("1. Zeile");
  MSG =  "2. Zeile";
  int l = MSG.length();
  lcd.setCursor((16-l)/2,1);                        
  lcd.print(MSG);
}

macht das was er soll.

verstehe ich nicht. Was funktioniert im Wokwi Link - mit vollständig compilierbaren Programm - nicht?

thx, das geht, wie mein zusammen geschrumpfter Code.

schönen Abend und danke
M.

thx für den Hinweis.

Fairer Weise solltest Du den Beitrag als Lösung markieren, der Dir den entscheidenden Hinweis gegeben hat, und nicht deinen eigenen.

1 Like

Sry das war mein Fehler. Hatte übersehen, dass jeder Beitrag prinzipiell als Lösung gekennzeichnet werden kann.
Thx für Hinweis.
M.

nun noch eine Ergänzung: hatte das Problem wieder. Nach langem hin und her kam ich auf die Idee mir eine andere Bibliothek zu suchen. Hatte die LiquidCrystalI2C von YWROBOT benutzt, die ja den Cursor nicht sauber setzte. Mit der Bibliothek von https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C, die basiert auf YWROBOT geht alles sauber und zuverlässig.
Hoffe, hilf jemanden noch.
Gruß M.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.