Wie ein LCD ansteuern ; LMC 1602 I2C ; Tutorial ; Sketch

Leider komme ich aber nicht dahinter, wie ich eine beschriebene Zeile wieder richtig überschreibe. :fearful:

Hier mein Sketch!

#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>

#define I2C_ADDR    0x27                          // <<----- Add your address here.  Find it from I2C Scanner
#define BACKLIGHT_PIN     3
#define En_pin  2
#define Rw_pin  1
#define Rs_pin  0
#define D4_pin  4
#define D5_pin  5
#define D6_pin  6
#define D7_pin  7


LiquidCrystal_I2C	lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);


int Echo = 12 ;
int Trigger = 11 ;

int Abstand ;
int Zeit ;

void setup()
{ 
  
  Serial.begin (9600) ;
  
  
  lcd.begin (16,2); //  <<----- My LCD was 16x2

  
  // Switch on the backlight
  lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
  lcd.setBacklight(HIGH);
  lcd.home (); // go home

  pinMode (Echo, INPUT) ;
  pinMode (Trigger, OUTPUT) ;
  
  lcd.setCursor (0,0); 
  lcd.print("Objektabstand");


   
}

void loop()
{ 
  digitalWrite (Trigger, LOW) ;
  delayMicroseconds (2) ;
  digitalWrite (Trigger, HIGH) ;
  delayMicroseconds (5) ;
  digitalWrite (Trigger, LOW) ;
  
  Zeit = pulseIn (Echo, HIGH) ;
  
  Abstand /* in mm */ = (Zeit * 0.343) / 2 ;

  lcd.setCursor (0,1); 
  lcd.print(Abstand);
  
  
  Serial.println (Abstand) ;
  
  
  delay (300) ;
  

}

Wenn der Ultraschallsensor jetzt 3000 mm misst, ich diese am LCD anzeigen lasse und dann 50 mm messe, bleiben die 2 letzten Nullen der 3000 mm aber trotzdem stehen. Es werden dann immer nur die ersten beiden Stellen geändert, messe ich dann wieder eine 3-stellige Zahl bleibt die letze Null der 3000 mm unverändert stehen. :disappointed_relieved: :disappointed_relieved: