ich habe an meinen Arduino ein Potentiometer angeschlossen und wandle die Werte in eine Skala von 0 bis 100 um:
// Variablen für Potentiometer
int Potentiometerwert = 0;
int Potentiometerminimum = 125;
float Potentiometerproz = 0;
int Potentiometeranz = 0;
int Potentiometermax = 896 - Potentiometerminimum;
int Potentiometerdifferenz = 0;
int Gradkorrektur = 0;
//Potiprozent berechnen
Potentiometerwert = analogRead(A6);
Potentiometerdifferenz = Potentiometerwert - Potentiometerminimum;
Potentiometerproz = 100. / Potentiometermax * Potentiometerdifferenz;
Potentiometeranz = 100. - (int)Potentiometerproz;
Gradkorrektur = (int)Potentiometeranz - 50.;
Das ganze funktioniert bis zur vorletzten Zeile - wenn ich dann aber vom Messwert 50 abziehen möchte, um in den negativen Bereich zu kommen, dann liefert er mir nur noch Hausnummern. zwischen -50 und 5024
Hintergrund - das Poti soll genutzt werden um eine Südausrichtung zu korrigieren. Der Sensor (Magnetometer) liefert Werte zwischen -179° und 180° und ist relativ ungenau. Wenn ich jetzt unter 0 Korrigieren möchte muss ich am Poti einen Wert einstellen können der dann in eine negative Zahl umgerechnet wird - die Mittelstellung soll also ein 0 liefern.
Kann mir jemand sagen wo der Fehler liegt?