ich bin neu hier um Forum und möchte alle Mitglieder zunächst begrüßen.
Leider beherrsche ich keine Programmiersprachen und so sind meine ersten "Gehversuche" noch sehr stolprig.
Ich zerbreche mir gerade an der Lösung für folgendes Problem den Kopf:
Ich habe von TinkerForge den Accelerometer Bricklet 2.0.
Dieser ist in OH richtig angelegt und liefert als Items auch die Werte für die 3 Achsen X,Y,Z mit den Beschleunigungswerten in g.
Nur leider fehlt diesem Bricklet "von Hause aus" die Umrechnung in Pitch an Roll.
Bei Recherchen im Internet habe ich dann Formeln (Eulersche Winkel) zur Lösung dieses Problems gefunden.
Auch einen Codeschnipsel zur Berechnung habe ich unter https://wiki.dfrobot.com/How_to_Use_a_T ... lt_Sensing gefunden:
Code: Alles auswählen
int x, y, z; //three axis acceleration data
double roll = 0.00, pitch = 0.00; //Roll & Pitch are the angles which rotate by the axis X and y
void RP_calculate(){
double x_Buff = float(x);
double y_Buff = float(y);
double z_Buff = float(z);
roll = atan2(y_Buff , z_Buff) * 57.3;
pitch = atan2((- x_Buff) , sqrt(y_Buff * y_Buff + z_Buff * z_Buff)) * 57.3;
}
Kann mir hier vielleicht jemand helfen?
Vielen Dank im Voraus
Thomas