Étalonnage de l'accéléromètre

J'utilise l'accéléromètre pour déplacer quelque chose dans X / Y sur l'écran.

C'est facile si le téléphone commence à plat sur la table.

  • Android OkHttp, actualiser le jeton expiré
  • Partagez les informations d'identification Wifi via la balise NFC sans applications spéciales
  • Comment détecter les bords longs du mur pour préparer le masque et recolorer
  • Erreur après la mise à jour de l'application Android.Support Library v7 AppCompat vers la version 21.0.3
  • Masquer le clavier dans AlertDialog
  • Comment synchroniser les données entre différents périphériques
  • J'ai trouvé quelque chose dans une tentative de pouvoir commencer à n'importe quel poste et travailler à partir de là. Mais cela ne semble pas fonctionner naturellement.

    Comment calibrer les choses afin que je puisse avoir la différence d'orientation à partir du point de départ?

    cursorX -= accelerometerCalibrationY - getAccelerometerY(); cursorY += accelerometerCalibrationX - getAccelerometerX(); 

    Cela fonctionne bien pour l'appartement sur la table, et à des positions de départ. Les variables sont simplement getAccelerometerXY au début.

  • Bibliothèques de décodage / décodage vidéo java pures
  • Pourquoi le réglage d'imeActionId avec une ressource ID prédéfinie crée-t-il une erreur?
  • Impression de valeurs de variables dans logcat pour le débogage dans Android
  • Android MediaMetadataRetriever renvoie des valeurs nulles de la plupart des clés
  • Icône du tiroir de navigation (ic_drawer) ne s'affiche pas
  • Android EditText Gmail aime le champ
  • 3 Solutions collect form web for “Étalonnage de l'accéléromètre”

    Vous devez faire des calculs. Utilisez getRotationMatrix pour déterminer la Matrice d'orientation du téléphone (M) actuelle. En utilisant M, vous pouvez calciser le vecteur g (Gravité) dans le système de coordonnées locales de l'appareil. Ensuite, accédez (Accel) à partir du capteur. Calc Ans = vecteur Accel-Gravity. Les composants Ans 'x / y sont ce dont vous avez besoin. Filtrez-le pour obtenir de meilleurs résultats.

    Voici un autre moyen simple. Obtenez un vecteur Accel. Filtrez-le avec filtre passe-haut pour retirer le composant DC et passe-bas pour éliminer le bruit inutile (vous passerez un certain temps à rechercher des paramètres de filtre appropriés). Les composants filtrés x / y sont ce dont vous avez besoin.

    Vous avez besoin de Gyroscope également, les valeurs d'accéléromètre sont en rapport avec le système de coordonnées téléphoniques

    L'accéléromètre vous délivre un vecteur – alors, il suffit de calculer une moyenne raisonnable au début de votre activité et de l'utiliser comme point de repère. La conversion de la différence pour coordonner les valeurs de direction est simple.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.