Results 1 to 2 of 2

Thread: Kompas met kantel Correctie

  1. #1

    Kompas met kantel Correctie

    Ik ben hier mee bezig:
    https://stackoverflow.com/questions/...ing-firemonkey


    Dit lijkt te werken en gebruik daarvoor gegevens uit de sensoren
    -OrientationSensor
    -MotionSensor

    mx := OrientationSensor1.Sensor.HeadingX; //in mTeslas
    my := OrientationSensor1.Sensor.HeadingY;
    mz := OrientationSensor1.Sensor.HeadingZ;
    aGx := MotionSensor1.Sensor.AccelerationX; //get acceleration sensor
    aGy := MotionSensor1.Sensor.AccelerationY;
    aGz := MotionSensor1.Sensor.AccelerationZ;


    Maar helaas werkt de "MotionSensor" regelmatig niet (Bug in XE 10.3.3 ?).

    Is het mogelijk om een Kompas met kantel correctie te maken met alleen de data uit de "OrientationSensor" denken jullie ?

  2. #2
    De Beste Wensen voor het Nieuwe jaar !!!

    Onderstaande code gebruik ik om de Compass waarde te krijgen van de "OrientationSensor", deze heeft volgens mij geen kantel correctie.
    Daarvoor moet je mogelijk ook de HeadingZ waarde in de berekening gebruiken, maar ik weer hier te weinig van om dit te bepalen.
    Wij kan hier iets over vertellen ?

    //Compass_waarde ophalen van OrientationSensor
    X := OrientationSensor1.Sensor.HeadingX;
    Y := OrientationSensor1.Sensor.HeadingY;
    d := ABS(X/Y);
    Deg := RadToDeg(ArcTan(d));
    if (Y >= 0) and (X <= 0) then Deg := Deg
    else if (Y < 0) and (X <= 0) then Deg := 180 - Deg
    else if (Y < 0) then Deg := 180 + Deg
    else if (Y >= 0) and (X > 0) then Deg := 360 - Deg;

    Compass_waarde := Deg; //Graden

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •