IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Rapporteur d'angle


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    ETUDIANT
    Inscrit en
    Novembre 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : ETUDIANT

    Informations forums :
    Inscription : Novembre 2012
    Messages : 111
    Par défaut Rapporteur d'angle
    Bonjour,

    Je voudrais mesurer angle horizontalement et pas verticalement (le GSM déposer sur la table ), donc la procédure est comme ceci :

    1-je dépose le GSM sur la table .

    2-je clique sur le bouton "RESET" ( degré =0°) .

    3- En tourne le GSM droite ou gauche(horizontalement) , et après je bouge pas le GSM --> obtenir angle (par exemple en angle =54°)

    Quel type de capteur que je dois utiliser ? (Gyroscope ???)

    j'ai déjà essayer avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    public class Capteurs extends Activity implements SensorEventListener
    {
    	//a TextView
    	private TextView tv;
    	//the Sensor Manager
    	private SensorManager sManager;
     
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) 
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
     
            tv = (TextView) findViewById(R.id.text);
     
            sManager = (SensorManager) getSystemService(SENSOR_SERVICE);
        }
     
        //when this Activity starts
        @Override
    	protected void onResume() 
    	{
    		super.onResume();
    		sManager.registerListener(this, sManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),SensorManager.SENSOR_DELAY_FASTEST);
    	}
     
     
    	@Override
    	protected void onStop() 
    	{
    		//unregister the sensor listener
    		sManager.unregisterListener(this);
    		super.onStop();
    	}
     
    	@Override
    	public void onAccuracyChanged(Sensor arg0, int arg1) 
    	{
    		//Do nothing
    	}
     
    	@Override
    	public void onSensorChanged(SensorEvent event) 
    	{
     
    		if (event.accuracy == SensorManager.SENSOR_STATUS_UNRELIABLE)
    		{
    			return;
    		}
     
    		//else it will output the Roll, Pitch and Yawn values
    		tv.setText("Orientation X (Roll) :"+ Float.toString(event.values[2]) +"\n"+
    				   "Orientation Y (Pitch) :"+ Float.toString(event.values[1]) +"\n"+
    				   "Orientation Z (Yaw) :"+ Float.toString(event.values[0]));
    	}
    }
    Merci d'avance

  2. #2
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    A partir de cette documentation : http://mathias-seguy.developpez.com/...roid-capteurs/

    vous devriez trouver votre bonheur.

    Cordialement.

    Pierre

  3. #3
    Membre confirmé
    Homme Profil pro
    ETUDIANT
    Inscrit en
    Novembre 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : ETUDIANT

    Informations forums :
    Inscription : Novembre 2012
    Messages : 111
    Par défaut
    Hello ChPr,
    Merci pour info.
    Dans mon cas, j'aurais besoin de savoir quel est l'angle d'inclinaison du mobile par rapport à un angle 0 qui correspond au mobile posé à plat en utilisation du gyroscope

    Merci d'avance

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Tu dois utiliser la boussole ("Orientation") pour mesurer l'angle et le gyroscope pour détecter que le téléphone "ne bouge pas".
    Lors de l'appuie sur le bouton "reset" de ton application, tu vas enregistrer l'angle avec la boussole. Lorsqu'un mouvement est détecter par le gyroscope, tu peux afficher une petite animation pour indiquer que l'application attend l'arrêt du mouvement. Enfin, lorsque le gyroscope détecte que le téléphone ne bouge plus ou quasiment plus (il te faut une marge car le gyroscope est très sensible), tu prends la mesure sur la boussole que tu soustrais aux valeurs enregistrées précédemment.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  5. #5
    Membre confirmé
    Homme Profil pro
    ETUDIANT
    Inscrit en
    Novembre 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : ETUDIANT

    Informations forums :
    Inscription : Novembre 2012
    Messages : 111
    Par défaut
    Merci dinabogan,

    La méthode "orientation " n'est pas conseillée et d'après Google n'est là que pour des raisons « legacy », c'est-à-dire provenant de l'histoire de la plateforme.

  6. #6
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    Il ne faut pas utiliser le capteur "orientation, mais l'accéléromètre en conjonction avec le détecteur magnétique. C'est indiqué dans la paragraphe 7-B de la doc que je t'ai indiquée.

    Quant au gyroscope, il faut faire attention aux données qu'il te fournit. C'est un capteur de vitesse absolue et ceux qui équipent les smartphones sont des gyros bas de gamme ; ils ont des dérives non négligeables, c'est-à dire que même si ton smartphone ne bouge pas, le gyroscope va donner une valeur (qui n'est pas stable en plus). Donc, si tu veux t'en servir en tant que détecteur de non mouvement, il faut que tu mesures sa dérive max et que tu déclares qu'il n'y a pas mouvement si tu es en-dessous de cette valeur (avec une marge).

    Cordialement.

    Pierre

Discussions similaires

  1. rapporteur d'angle android ?
    Par brayanrabat dans le forum Android
    Réponses: 3
    Dernier message: 20/07/2015, 22h32
  2. Comment faire une rotation de metafile (l'angle de 90° me suffit) ?
    Par Tardiff Jean-François dans le forum Langage
    Réponses: 4
    Dernier message: 28/01/2005, 08h58
  3. Conversion distance , angle vers coordonnées de points
    Par mat.M dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 26/03/2004, 22h55
  4. calculer un angle
    Par m.nico dans le forum Langage
    Réponses: 7
    Dernier message: 05/11/2003, 20h55
  5. angle entre 2 segments
    Par tane dans le forum Mathématiques
    Réponses: 4
    Dernier message: 25/09/2002, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo