Sainsmart LCD 2004 Zeichen bzw. Buchstaben bleiben stehen

Hallo liebe Community,

ich habe seit ein paar Tagen das Sainsmart LCD 2004 und habe etwas herumgetüfftelt. Leider bekomme ich es einfach nicht hin, bis auf lcd.clear(), dass bei einer "Positionsänderung" eines Wortes z.B. 1000 Ohm auf 900 Ohm das "m" nach dem aufrücken auch weg ist. Es sieht folgendermaßen aus: 1000 Ohm vorher 900 Ohmm bei aufrücken nach links bleibt das "m" stehen.

Gibt es da einen Trick, sodass diese "unnötigen" Zeichen mitverschwinden oder muss ich das mit lcd.clear() oder set.cursor(auf die unnötigen Stellen bedingt mit abfrage, ob Wert kleiner wurde) mit leerzeichen auslöschen?

Vielen Dank im Voraus!

Sehr simpel:

nicht "900" ausgeben, sondern "900 " ausgeben. Also immer ein oder mehr Leerzeichen dahinter. Notfalls auch den Cursor neu setzen und nur Leerzeichen ausgeben.

Gibt es zu Hauf hier im Forum oder auch über Google.

Hier nur ein Auszug aus meiner Lib. Hab das eben auf die Arduino lcd-Ausgabe umgeschrieben, sollte gehen.

lcd_puti_format(value, 4);
void lcd_puti_format(int16_t value, uint8_t len)
{
 char buffer[7];
 itoa(value, buffer, 10);
 uint8_t digits = 0;
 uint8_t j = 0;
 
 // Anzahl Ziffern ermitteln
 while(buffer[digits] != '\0') digits++;
 
 if(len < digits) // Zahl nicht darstellbar
 {
 while(j++ < len) lcd.print('#'); //lcd_putc('#');
 }
 else
 {
 while(j++ < len - digits) lcd.print(' '); //lcd_putc(' ');
 lcd.print(buffer);//lcd_puts(buffer);
 }
}

Wurde hier letztens erklärt: http://forum.arduino.cc/index.php?topic=345879.msg2384221#msg2384221 Für rechtsbündig muss man nur die Reihenfolge der Ausgabe von Leerzeichen und Zahl vertauschen

Hier ist die Luxusversion wo man die Breite und Ausrichtung angeben kann: http://forum.arduino.cc/index.php?topic=303009.msg2108779#msg2108779 Das ist für Serial geschrieben, aber einfach änderbar. Und wie im Kommentar steht für LCDs das println() am Ende entfernen

Eine Version für Strings ist darunter

Hallo Leute,

vielen vielen Dank euch allen für die Hilfe!!!! Leider hatte ich in letzter Zeit keine Möglichkeit mehr daran zu arbeiten, aber ich werde dies in den nächsten Wochen wieder machen und werde es dann versuchen. Vielen Dank nochmal!!!