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 ?????
???
Lesezeichen