LCD-Display letzte Zeile löschen, falls Wert kleiner

Hallo Gemeinde

Ich probiere gerade die Servo-Position an einem LCD-Display anzuzeigen.

#include <LiquidCrystal.h>
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
#include <Servo.h>
Servo myservo;
int pos = 0;

void setup() {
  myservo.attach(9);
  lcd.begin(16, 2);
  lcd.print("Position:");
}

void loop() {
  for (pos = 0; pos <= 180; pos += 1) {
    myservo.write(pos);
    lcd.setCursor(0, 1);
    lcd.print(pos);
    delay(15);

  }
  for (pos = 180; pos >= 0; pos -= 1) {
    myservo.write(pos);
    lcd.setCursor(0, 1);
    lcd.print(pos);
    delay(15);
  }
}

Sobald es unter 100 ist zeigt es mir das letzte 0 noch an. Wie kann ich dieses Problem lösen? Bin mit LCD-Display noch blutiger Anfänger.

Vielen Dank :slight_smile:

if pos kleiner 100 print leerschritt
if pos kleiner 10 print leerschritt

oder du beschäftigst dich mit printf/sprintf

Danke, mit einem Leerschritt klappt es. :slight_smile:

Du mußt auch 2 Leerzeichen vorsehen falls die Zahl kleiner als 10 ist.
Mit beiden IFs die noiasca Dir gezeigt hat funktioniert das automatisch: ein Leerzeichen wenn kleiner 100 und 2 Leerzeichen wenn kleiner als 10.
Grüß Uwe