hmm sobald ich es vergleiche läuft er endlos weiter egal wie oft ich ihm um seine eigene Achse drehe ...

Vielleicht zu Erklärung bzw. So wie ich es gemacht habe.
currentPosition bekommt die Werte direkt vom baering aus diesem Code :

Code:
  /////////////////////////////////////////////////////////////
  //     Kompass Modul Abfrage und senden der Daten         ///
  ////////////////////////////////////////////////////////////
  
  byte byteHigh, byteLow; // byteHigh / byteLow für Bearing
  char pitch, roll;       // Pitch und Roll
  int bearing;            // Bearing

  Wire.beginTransmission(CMPS10Addr); // Kommunikation mit CMPS10
  Wire.write(2);                      // Start Register (2)
  Wire.endTransmission();
  Wire.requestFrom(CMPS10Addr , 4); // Abfrage von 4 Bytes vom CMPS10
  while (Wire.available() < 4); // Warten, bis 4 Bytes verfügbar
  byteHigh = Wire.read();       // High-Byte für Bearing speichern
  byteLow = Wire.read();        // Low-Byte für Bearing speichern
  pitch = Wire.read();          // Byte für Pitch speichern
  roll = Wire.read();           // Byte für Roll speichern
  bearing = ((byteHigh << 8) + byteLow) / 10; // Bearing berechnen
  
  sendData(bearing, pitch, roll);             // Daten versenden

void sendData(int bearing, int pitch, int roll) {
  String data = String(bearing) + ";" + String(pitch) + ";" + String(roll);
  
  lcd.setCursor(0,0);
    lcd.print("bear-pitch-roll");
    lcd.setCursor(0,1);
    lcd.print(data);
   
  
 // Serial.println(data);
delay (100);
}
currentPosition und newPosition habe ich deklariert mit

int currentPosition;
int newPosition;

in dem Fall ist newPosition = 0 ? oder
wie übergebe ich nur für diese Anweisung die Werte von currentPosition an newPosition ?
denn wenn ich das nach der Initialisierung mache mit newposition=currentposition dann ist doch new Position gleich wie current ,wenn ich dann vergleiche dann wird dieser Zustand, weil er ja dauernd übergeben wird nie erfüllt sein oder ?????

???