Moin, zwar ist dieser Threat mehr als ein Jahr alt, aber dennoch möchte
ich hier meine Frage stellen:
Theoretisch müsste der Absolutwert ( a = sqrt(x^2+y^2+z^2) ) der
ausgelesenen drei Beschleunigungen im Ruhezustand und unabhängig der
Lage immer 1g betragen oder? Komischerweise erhalte ich diesen Wert
immer nur dann, wenn ich die Uhr flach, mit der Vorderseite nach oben
hinlege (s. Screenshoot oberer Teil).
Wenn ich die Uhr mit der Vorderseite nach unten lege, erhalte ich für a
lediglich 0,7g (s. Screenshoot unterer Teil)
Nun meine Frage: Hat jemand auch schon mit die absolute Beschleunigung
an der Uhr gemessen und ist auf dasselbe Problem mit der relativen hohen
Abweichung gestoßen?
MfG Matthias S.
PS: Der Denkfehler in der Berechnung zur absoluten Beschleunigung in
Mario's Code ist folgender:
Wenn ich mit
arbeite, ziehe ich in der Berechnung das höchste Bit hinein, das laut
Datenblatt das Vorzeichen ist, es müssen also die Zahlen vorher mit der
Funktion
1 | u16 convert_acceleration_value_to_mgrav(u8 value)
|
auf einem positiven Wert umgerechnet werden (hier erfolgt auch die
Umwandlung der ausgelesenen Bits in mgrav)