É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: comment empêcher le bouton de retour d'annuler un FragmentDialog
  • Dépendance ignorée à cause du studio Android de conflit
  • Retrofit2 + SimpleXML dans Kotlin: MethodException: l'annotation doit marquer une méthode définie ou obtenue
  • Faire un assistant comme une application dans Android
  • Comment faire un Radial / Circulaire ProgressBar Not Spin
  • Comment puis-je filtrer la liste de lecture en utilisant le paramètre de base
  • 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.

  • Dimension de la boîte de dialogue de taille fixe Android - Qu'est-ce que Major & Minor?
  • Un ID de périphérique GCM Android change-t-il jamais?
  • Taille maximale d'une application Android
  • Comment modifier la couleur d'arrière-plan dans l'application Android
  • Envoi de données à l'activité principale dans Android
  • Obtenir JSONObject de JSONArray
  • 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.