Skip to content

Latest commit

 

History

History
117 lines (80 loc) · 2.17 KB

10-capteurs.asc

File metadata and controls

117 lines (80 loc) · 2.17 KB

Android

Capteurs

  • SensorManager et Sensor

  • SensorEvent et SensorEventListener

  • Filtrage des données des capteurs

  • Exemples

Senseurs

  • Capteurs physiques qui prennent des mesures sur l’environnement

  • Mouvement

  • Position

  • Environnement

Quelques exemples

  • Mouvement : accéléromètre sur 3 axes

  • Position : champs magnétique sur 3 axes

  • Environnement : pression, luminosité…​

SensorManager

  • Service système qui gère les capteurs

  • On le récupère avec :

getSystemService(Context.SENSOR_SERVICE)
  • On accède à un capteur particulier avec :

SensorManager.getDefaultSensor(int type)
Warning
Vérifier la présence ou absence du capteur, n’appeler que si nécessaire et libérer le capteur

Quelques constantes

Accéléromètre :

Sensor.TYPE_ACCELEROMETER

Champ magnétique :

Sensor.TYPE_MAGNETIC_FIELD

Pression :

Sensor.TYPE_PRESSURE

SensorEventListener

  • On s’enregistre pour être notifié

    • D’un changement de précision :

void onAccuracyChanged(Sensor sensor, int accuracy)
  • D’un changement de valeur :

void onSensorChanged(SensorEvent event)

Enregistrement des listeners

  • Sur le SensorManager

    • Pour s’enregistrer :

public boolean registerListener(
	SensorEventListener listener,
	Sensor sensor, int rate)
  • Pour se désenregistrer :

public void unregisterListener(
	SensorEventListener listener,
	Sensor sensor)

SensorEvent

  • Représente un évènement survenu dans un capteur

  • Les données sont propres au capteur

    • Type de capteur

    • Timestamp

    • Précision

    • Données mesurées

Les systèmes de coordonnées

Coordonnées Ne change pas en mode portrait.

Filtre passe-bas

  • Supprime les petites perturbations

  • Se concentre sur les grandes forces

Niveau à bulles

Filtre passe-haut

  • Atténue les grandes forces

  • Amplifie les petits mouvements

Maracas