Table des matières:
- Étape 1: Matériel requis:
- Étape 2: connexion matérielle:
- Étape 3: Code pour le suivi des mouvements:
- Étape 4: Candidatures:
Vidéo: Suivi de mouvement à l'aide de MPU-6000 et de photons de particules : 4 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Le MPU-6000 est un capteur de suivi de mouvement à 6 axes qui intègre un accéléromètre à 3 axes et un gyroscope à 3 axes. Ce capteur est capable de suivre efficacement la position et l'emplacement exacts d'un objet dans le plan tridimensionnel. Il peut être utilisé dans les systèmes qui nécessitent une analyse de position avec la plus haute précision.
Dans ce tutoriel, l'interfaçage du module capteur MPU-6000 avec le photon de particules a été illustré. Pour lire les valeurs d'accélération et d'angle de rotation, nous avons utilisé des particules avec un adaptateur I2c. Cet adaptateur I2C rend la connexion au module capteur facile et plus fiable.
Étape 1: Matériel requis:
Les matériaux requis pour accomplir notre tâche comprennent les composants matériels mentionnés ci-dessous:
1. MPU-6000
2. Photon de particule
3. Câble I2C
4. Bouclier I2C pour les photons de particules
Étape 2: connexion matérielle:
La section de raccordement matériel explique essentiellement les connexions de câblage requises entre le capteur et le photon particulaire. Assurer des connexions correctes est la nécessité de base tout en travaillant sur n'importe quel système pour la sortie souhaitée. Ainsi, les connexions requises sont les suivantes:
Le MPU-6000 fonctionnera sur I2C. Voici l'exemple de schéma de câblage, montrant comment câbler chaque interface du capteur.
Prête à l'emploi, la carte est configurée pour une interface I2C, en tant que telle, nous vous recommandons d'utiliser cette connexion si vous êtes par ailleurs agnostique. Tout ce dont vous avez besoin, c'est de quatre fils !
Seules quatre connexions sont nécessaires pour les broches Vcc, Gnd, SCL et SDA et celles-ci sont connectées à l'aide d'un câble I2C.
Ces connexions sont illustrées dans les images ci-dessus.
Étape 3: Code pour le suivi des mouvements:
Commençons maintenant par le code des particules.
Lors de l'utilisation du module de capteur avec l'arduino, nous incluons les bibliothèques application.h et spark_wiring_i2c.h. Les bibliothèques "application.h" et spark_wiring_i2c.h contiennent les fonctions qui facilitent la communication i2c entre le capteur et la particule.
Le code de particule complet est donné ci-dessous pour la commodité de l'utilisateur:
#include#include // L'adresse I2C du MPU-6000 est 0x68(104) #define Addr 0x68 int xGyro = 0, yGyro = 0, zGyro = 0, xAccl = 0, yAccl = 0, zAccl = 0; void setup() { // Définir la variable Particle.variable("i2cdevice", "MPU-6000"); Particule.variable("xAccl", xAccl); Particule.variable("yAccl", yAccl); Particule.variable("zAccl", zAccl); Particule.variable("xGyro", xGyro); Particule.variable("yGyro", yGyro); Particule.variable("zGyro", zGyro); // Initialise la communication I2C en tant que Master Wire.begin(); // Initialiser la communication série, définir le débit en bauds = 9600 Serial.begin(9600); // Démarrer la transmission I2C Wire.beginTransmission(Adr); // Sélectionnez le registre de configuration du gyroscope Wire.write(0x1B); // Plage de pleine échelle = 2000 dps Wire.write (0x18); // Arrêter la transmission I2C Wire.endTransmission(); // Démarrer la transmission I2C Wire.beginTransmission(Adr); // Sélectionnez le registre de configuration de l'accéléromètre Wire.write(0x1C); // Plage de pleine échelle = +/-16g Wire.write (0x18); // Arrêter la transmission I2C Wire.endTransmission(); // Démarrer la transmission I2C Wire.beginTransmission(Adr); // Sélectionnez le registre de gestion de l'alimentation Wire.write(0x6B); // PLL avec référence xGyro Wire.write(0x01); // Arrêter la transmission I2C Wire.endTransmission(); retard (300); } void loop() { unsigned int data[6]; // Démarrer la transmission I2C Wire.beginTransmission(Adr); // Sélection du registre de données Wire.write(0x3B); // Arrêter la transmission I2C Wire.endTransmission(); // Demande 6 octets de données Wire.requestFrom(Addr, 6); // Lit 6 octets de données if (Wire.available() == 6) { data[0] = Wire.read(); données[1] = Wire.read(); data[2] = Wire.read(); data[3] = Wire.read(); données[4] = Wire.read(); données[5] = Wire.read(); } retard (800); // Convertir les données xAccl = ((data[1] * 256) + data[0]); if (xAccl > 32767) { xAccl -= 65536; } yAccl = ((données[3] * 256) + données[2]); if (yAccl > 32767) { yAccl -= 65536; } zAccl = ((données[5] * 256) + données[4]); if (zAccl > 32767) { zAccl -= 65536; } retard (800); // Démarrer la transmission I2C Wire.beginTransmission(Adr); // Sélection du registre de données Wire.write(0x43); // Arrêter la transmission I2C Wire.endTransmission(); // Demande 6 octets de données Wire.requestFrom(Addr, 6); // Lit 6 octets de données if (Wire.available() == 6) { data[0] = Wire.read(); données[1] = Wire.read(); data[2] = Wire.read(); data[3] = Wire.read(); données[4] = Wire.read(); données[5] = Wire.read(); } // Convertir les données xGyro = ((data[1] * 256) + data[0]); if (xGyro > 32767) { xGyro -= 65536; } yGyro = ((données[3] * 256) + données[2]); if (yGyro > 32767) { yGyro -= 65536; } zGyro = ((données[5] * 256) + données[4]); if (zGyro > 32767) { zGyro -= 65536; } // Sortie des données vers le tableau de bord Particle.publish("Accélération dans l'axe X: ", String(xAccl)); retard(1000); Particle.publish("Accélération dans l'axe Y: ", String(yAccl)); retard(1000); Particle.publish("Accélération dans l'axe Z: ", String(zAccl)); retard(1000); Particle.publish("Axe X de rotation: ", String(xGyro)); retard(1000); Particle.publish("Axe Y de rotation: ", String(yGyro)); retard(1000); Particle.publish("Axe Z de rotation: ", String(zGyro)); retard(1000); }
La fonction Particle.variable() crée les variables pour stocker la sortie du capteur et la fonction Particle.publish() affiche la sortie sur le tableau de bord du site.
La sortie du capteur est montrée dans l'image ci-dessus pour votre référence.
Étape 4: Candidatures:
Le MPU-6000 est un capteur de suivi de mouvement, qui trouve son application dans l'interface de mouvement des smartphones et tablettes. Dans les smartphones, ces capteurs peuvent être utilisés dans des applications telles que les commandes gestuelles pour les applications et le contrôle du téléphone, les jeux améliorés, la réalité augmentée, la capture et la visualisation de photos panoramiques et la navigation piétonne et automobile. La technologie MotionTracking peut convertir les combinés et les tablettes en de puissants appareils intelligents 3D pouvant être utilisés dans des applications allant de la surveillance de la santé et de la condition physique aux services basés sur la localisation.
Conseillé:
Mesure de l'accélération à l'aide d'ADXL345 et de photons de particules : 4 étapes
Mesure de l'accélération à l'aide de l'ADXL345 et du photon de particules : L'ADXL345 est un petit accéléromètre mince, ultrabasse consommation, à 3 axes avec une mesure haute résolution (13 bits) jusqu'à ±16 g. Les données de sortie numériques sont formatées en complément à deux de 16 bits et sont accessibles via l'interface numérique I2 C. Il mesure le
Mesure de l'humidité à l'aide de HYT939 et de photons de particules : 4 étapes
Mesure de l'humidité à l'aide de HYT939 et de photons de particules : HYT939 est un capteur d'humidité numérique qui fonctionne sur le protocole de communication I2C. L'humidité est un paramètre essentiel lorsqu'il s'agit de systèmes médicaux et de laboratoires. Afin d'atteindre ces objectifs, nous avons donc essayé d'interfacer HYT939 avec raspberry pi. JE
Mesure de l'accélération à l'aide de H3LIS331DL et de photons de particules : 4 étapes
Mesure de l'accélération à l'aide de H3LIS331DL et de photons de particules : H3LIS331DL, est un accéléromètre linéaire 3 axes hautes performances basse consommation appartenant à la famille « nano », avec interface série numérique I²C. Le H3LIS331DL a des pleines échelles sélectionnables par l'utilisateur de ±100g/±200g/±400g et il est capable de mesurer des accélérations avec
Surveillance de panneaux solaires à l'aide de photons de particules : 7 étapes
Surveillance des panneaux solaires à l'aide de photons de particules : L'objectif du projet est d'améliorer l'efficacité des panneaux solaires. Le projet est conçu pour superviser la production d'énergie solaire photovoltaïque afin d'améliorer les performances, la surveillance et la maintenance de la centrale solaire. Dans ce projet, le ph des particules
Mesure de température à l'aide de STS21 et de photons de particules : 4 étapes
Mesure de la température à l'aide de STS21 et de photons de particules : le capteur de température numérique STS21 offre des performances supérieures et un encombrement réduit. Il fournit des signaux calibrés et linéarisés au format numérique I2C. La fabrication de ce capteur est basée sur la technologie CMOSens, qui attribue à la qualité supérieure