Witam, chciałbym połączyć te dwa sensory aby otrzymać wskazanie kierunku niezależne od nachylenia urządzenia.
Myślałem żeby to zrobić tak:
1. Wyznaczyć za pomocą akcelerometru położenie urządzenia (tzn. czy stoi, leży, na którym boku itd.)
2. Na tej podstawie wybrać dwie osie magnetometru (które byłyby prostopadłe do ziemi gdyby urządzenie stało idealnie pionowo, lub leżało idealnie poziomo)
3. Akcelerometrem wyznaczyć odchylenie pozycji aktualnej od pozycji idealnej
4. Przesunąć odczyty z magnetometru
c = b / cos a
gdzie b = odczyt z magnetometru
a = odchylenie
5. Obliczyć kierunek geograficzny
kierunek = atan((przesuniety_odczyt_1, przesuniety_odczyt_2) * 180 / 3.141592654 + 180)
Czy moje myślenie jest właściwe? Na razie mam sam magnetometr i nie mogę testować, więc chciałbym zaplanować sobie już algorytm, żeby później wiedzieć co robić.
Myślałem żeby to zrobić tak:
1. Wyznaczyć za pomocą akcelerometru położenie urządzenia (tzn. czy stoi, leży, na którym boku itd.)
2. Na tej podstawie wybrać dwie osie magnetometru (które byłyby prostopadłe do ziemi gdyby urządzenie stało idealnie pionowo, lub leżało idealnie poziomo)
3. Akcelerometrem wyznaczyć odchylenie pozycji aktualnej od pozycji idealnej
4. Przesunąć odczyty z magnetometru
c = b / cos a
gdzie b = odczyt z magnetometru
a = odchylenie
5. Obliczyć kierunek geograficzny
kierunek = atan((przesuniety_odczyt_1, przesuniety_odczyt_2) * 180 / 3.141592654 + 180)
Czy moje myślenie jest właściwe? Na razie mam sam magnetometr i nie mogę testować, więc chciałbym zaplanować sobie już algorytm, żeby później wiedzieć co robić.