Accueil Médias sociaux Capteurs d'accéléromètres, de gyroscopes et de magnétomètres pour iOS - mannequins

Capteurs d'accéléromètres, de gyroscopes et de magnétomètres pour iOS - mannequins

Vidéo: 118 — «Accéléromètre» 2025

Vidéo: 118 — «Accéléromètre» 2025
Anonim

Un appareil iOS possède trois interfaces bien documentées pour les capteurs: l'accéléromètre, le gyroscope et le magnétomètre. Comme avec le capteur d'orientation, le processus pour ces capteurs commence en démarrant et en initialisant un écouteur qui écoute les événements de capteur. Voici le code de la méthode ViewDidLoad du contrôleur de vue Capteurs:

- (void) viewDidLoad {… accelerationTextView. enabled = NO; gyroscopeTextView. enabled = NO; magnétomètreTextView. enabled = NO; … // Configurer le gestionnaire de mouvement self-> motionManager = [[CMMotionManager alloc] init]; self-> motionManager. accelerometerUpdateInterval = 1; self-> motionManager. gyroUpdateInterval = 1; self-> motionManager. magnetometerUpdateInterval = 1; …}

L'objet qui vous donne accès aux événements de capteur est une instance de la classe CMMotionManager. Vous devez en créer une, et une seule, de cette classe (c'est-à-dire, vous devez la traiter comme un Singleton, même si ce n'est pas le cas). Ensuite, vous définissez des propriétés comme l'intervalle de mise à jour pour chacun des capteurs.

Ensuite, vous démarrez la surveillance en utilisant les méthodes startAccelerometerUpdatesToQueue, startGyroUpdatesToQueue et startMagnetometerUpdatesToQueue, comme indiqué dans la méthode startMonitoringSensors (qui est appelée lorsque vous appuyez sur le bouton Start Monitoring):

- (IBAction) startMonitoringSensors: (id) expéditeur {[self-> motionManager startAccelerometerUpdatesToQueue: [NSOperationQueue currentQueue] avecHandler: ^ (CMAccelerometerData * accelerometerData, erreur NSError *) {[selfhandAccelerationUpdates: accelerometerData. accélération];}]; [self-> motionManager startGyroUpdatesToQueue: [NSOperationQueue currentQueue] avecHandler: ^ (CMGyroData * gyroscopeData, erreur NSError *) {[selfhandGyroUpdates: gyroscopeData. rotationRate];}]; [self-> motionManager startMagnetometerUpdatesToQueue: [NSOperationQueue currentQueue] avecHandler: ^ (CMMagnetometerData * magnetometerData, erreur NSError *) {[selfhandMagnetometerUpdates: magnetometerData. magneticField];}];}

Chacune de ces méthodes est appelée avec un bloc de gestionnaire en ligne utilisant la construction withHandler. Ces blocs de gestionnaire en ligne appellent handleAccelerationUpdates, handleGyroUpdates et handleMagnetometerUpdates. Ces méthodes sont les suivantes:

- (void) handleAccelerationUpdates: (CMAcceleration) accelerationData {NSLog (@ "Accélération.x>% f% f% f 1. 0) || (accelerationData.x 1. 0) || (AccelerationData.y 1. 0) || (accelerationData. z% f% f% f 0. 5) || (gyroRotationRate.x 0. 5) || (gyroRotationRate. y 0. 5) || (gyroRotationRate. z% f% f% f% f 3000. 0) {savedX = champ magnétique. X; savedY = magneticField. y; savedZ = magneticField. z; [magnetometerTextView setText: @ "I SENSE QUELQUE CHOSE!"];} else {[magnetometerTextView setText: @ "ALL CLEAR!"];}}

Ces méthodes enregistrent les données brutes. Les lectures de capteur brutes affichées à l'aide de NSLog sont affichées ci-dessous.

Les méthodes de détection précédentes interprètent également les valeurs brutes du capteur pour générer la vue présentée ci-dessous.

Les capteurs utilisent des heuristiques pour fournir des aperçus significatifs:

  • L'accéléromètre mesure l'accélération des forces g, où 1 g-force est équivalente à l'attraction de la gravité terrestre.

    Si l'accéléromètre détecte un mouvement supérieur à la force gravitationnelle de la Terre dans n'importe quelle direction, il affiche avec enthousiasme le message: JE VAIS VITE! Sinon, il affiche TROP LENT.

  • Le gyroscope mesure la rotation des trois axes de l'appareil en radians par seconde (1 radian par seconde signifie environ un sixième de rotation par seconde). Par conséquent, s'il détecte la plupart des rotations, il imprime WHEE!

  • Dans le code du magnétomètre, vous utiliseriez une heuristique distance pour détecter une grande variation du champ magnétique.

    Si une telle modification se produit, l'application affiche I SENSE SINGLE HEING!

    Si rien ne change pendant un intervalle, cela revient à penser que la côte est dégagée.

Capteurs d'accéléromètres, de gyroscopes et de magnétomètres pour iOS - mannequins

Le choix des éditeurs

Comment détecter les atteintes à la sécurité sur vos fichiers journaux Web hébergés - dummies

Comment détecter les atteintes à la sécurité sur vos fichiers journaux Web hébergés - dummies

Grande question est toujours sur la sécurité. Comment pouvez-vous repérer les failles de sécurité hébergées sur le Web pour protéger votre site et garantir qu'il ne sera pas piraté? La réponse courte est la suivante: Vous ne pouvez pas. Tout est piratable avec suffisamment de temps, des cerveaux sournois et des ressources. Cependant, il y a des choses que vous pouvez faire pour vous protéger un peu. ...

Comment utiliser MySQL Workbench pour votre site Web - dummies

Comment utiliser MySQL Workbench pour votre site Web - dummies

Bien que phpMyAdmin et d'autres outils d'hébergement Web Pour gérer les bases de données, il est possible que vous ayez besoin de quelque chose de plus puissant. MySQL Workbench est une bonne source dans cette instance. MySQL Workbench est un outil de conception et d'administration de base de données gratuit créé par Oracle qui réunit deux produits: MySQL Query Browser et MySQL ...

Le choix des éditeurs

Comment mettre du texte sur un cercle dans QuarkXPress - texte fictif

Comment mettre du texte sur un cercle dans QuarkXPress - texte fictif

Sur un cercle - c'est-à-dire texte suivant l'extérieur d'un cercle ou ovale - est un élément de conception commun dans les mises en page. C'est vraiment facile à faire dans QuarkXPress, mais ce n'est pas du tout évident comment. Procédez comme suit: Obtenez l'outil Ovale de la palette Outils et dessinez ...

ÉChanges peer-to-peer par rapport aux échanges Bitcoin réguliers - mannequins

ÉChanges peer-to-peer par rapport aux échanges Bitcoin réguliers - mannequins

Deux types d'échanges de bitcoins sont utilisés : peer-to-peer et régulier. D'une part, il y a les échanges de bitcoins réguliers, qui utilisent un carnet de commandes pour faire correspondre les ordres d'achat et de vente entre les personnes. Cependant, ni l'acheteur ni le vendeur n'ont la moindre idée de l'identité de l'autre partie, ce qui permet à tous les utilisateurs ...

L'interface d'application QuarkXPress - les nuls

L'interface d'application QuarkXPress - les nuls

Les palettes visibles à gauche, à droite et en bas de QuarkXPress sont flottantes - vous pouvez les faire glisser n'importe où qui vous convient. Contrairement aux palettes, les menus de la barre de menu sont collés: vous devez toujours passer la souris à la barre de menu pour y accéder. Cependant, ...

Le choix des éditeurs

Sept erreurs d'optimisation de moteur de recherche - nuls

Sept erreurs d'optimisation de moteur de recherche - nuls

Lorsque vous essayez d'obtenir votre site Web, c'est facile de faire des erreurs d'optimisation de moteur de recherche. Voici quelques-unes des erreurs de référencement les plus courantes. Vous ne connaissez pas vos mots-clés C'est également un problème majeur: la grande majorité des sites sont créés sans que les propriétaires ou les développeurs du site ne sachent vraiment ce que sont les mots-clés ...

Soumission de pages aux moteurs de recherche pour l'optimisation - dummies

Soumission de pages aux moteurs de recherche pour l'optimisation - dummies

Vous avez probablement vu "soumission "Services annoncés pour le référencement, peut-être sous la forme de spam dans votre boîte de réception, offrant de soumettre votre site Web à des centaines de moteurs de recherche, encore et encore. Dans la plupart des cas, ces services de soumission sont une perte totale de temps et d'argent. Voici comment obtenir votre site Web dans les moteurs de recherche. You ...

Six mythes À propos de Search Engine Optimization - mannequins

Six mythes À propos de Search Engine Optimization - mannequins

Il existe une grande confusion dans le monde des moteurs de recherche. beaucoup de mythes. Voici quelques-uns des mythes communément crus qui peuvent nuire à vos positions de moteur de recherche. Tout est une question de métabalises et de soumissions. C'est le mythe le plus répandu et le plus préjudiciable de tous, tenu par de nombreux concepteurs et développeurs Web. ...