Croquis de test de capteur combiné ARDUINO GY87
Introduction
Si vous êtes un fabricant passionné ou un passionné de robotique, vous êtes tombé sur ce module minuscule mais puissant. Si vous êtes un fabricant passionné ou un passionné de robotique, vous êtes tombé sur ce module baromètre BMP085 minuscule mais puissant. Le module GY-87 IMU est un excellent moyen d'ajouter la détection de mouvement à vos projets, comme un robot auto-équilibré ou un quadricoptère.
Mais avant de pouvoir commencer à expérimenter le module GY-87 IMU, vous devez savoir comment l'interfacer avec votre carte Arduino. C'est là qu'intervient ce blog ! Dans les paragraphes suivants, nous aborderons les bases du module GY-87 IMU, comment le configurer et comment écrire le code Arduino pour lire les données du capteur. Nous vous fournirons également des conseils et des ressources pour résoudre les problèmes courants.
Donc, si vous êtes prêt à commencer, plongeons et apprenons à interfacer le module IMU GY-87 avec Arduino !
Qu'est-ce que GY-87 IMU MPU6050
Les modules d'unité de mesure inertielle (IMU) comme le GY-87 combinent de nombreux capteurs en un seul boîtier, tels que l'accéléromètre/gyroscope MPU6050, le magnétomètre HMC5883L et le capteur de pression barométrique BMP085. Par conséquent, le GY-87 IMU MPU6050 est un module de suivi de mouvement à 9 axes tout-en-un qui combine un gyroscope à 3 axes, un accéléromètre à 3 axes, un magnétomètre à 3 axes et un processeur de mouvement numérique. Il est beaucoup utilisé dans les projets robotiques, comme les quadricoptères et autres véhicules aériens sans pilote (UAV), car il peut mesurer et suivre avec précision l'orientation et le mouvement. Il est également utilisé dans d'autres applications, telles que la navigation, les jeux et la réalité virtuelle.
Composants matériels
Vous aurez besoin du matériel suivant pour interfacer le module GY-87 IMU MPU6050 HMC5883L BMP085 avec Arduino.
Composants | Valeur | Quantité |
Arduino UNO | – | 1 |
MPU6050 Module capteur | GY-87 | 1 |
Planche à pain | – | 1 |
Fils de démarrage | – | 1 |
GY-87 avec Arduino
Maintenant que vous avez compris le GY-87, il est temps de s'interfacer avec l'Arduino. Pour ce faire, suivez Maintenant que vous avez compris le GY-87, il est temps de s'interfacer avec l'Arduino. Pour ce faire, suivez
Schématique
Effectuez les connexions conformément au schéma de circuit ci-dessous
GY-87 IMU MPU6050 HMC5883L BMP085 ArduinoCâblage / Connexions
Arduino | Capteur MPU6050 |
5V | CCV |
Terre | Terre |
A4 | Adventiste du Septième Jour |
A5 | SCA |
Installation de l'IDE Arduino
Tout d'abord, vous devez installer le logiciel Arduino IDE à partir de son site officiel weble site Arduino. Voici un guide étape par étape simple sur "Comment installer l'IDE Arduino".
Installation des bibliothèques
Avant de commencer à télécharger du code, téléchargez et décompressez les bibliothèques suivantes dans /Program Files (x86)/Arduino/Libraries (par défaut) afin d'utiliser le capteur avec la carte Arduino. Voici un guide étape par étape simple sur "Comment ajouter des bibliothèques dans l'IDE Arduino".
- MPU6050
- Adafruit_BMP085
- HMC5883L_Simple
Code
Copiez maintenant le code suivant et téléchargez-le sur le logiciel Arduino IDE.
#include "I2Cdev.h" #include "MPU6050.h" #include #inclure Accélgyro MPU085 ; Adafruit_BMP5883 bmp ; HMC6050L_Compas simple ; int085_t ax, ay, az ; int5883_t gx, gy, gz ; #define LED_PIN 16 bool blinkState = faux ; void setup() { Serial.begin(16); Wire.begin(); // initialise les périphériques Serial.println("Initialisation des périphériques I13C…"); // initialise bmp9600 if (!bmp.begin()) { Serial.println("Impossible de trouver un capteur BMP2 valide, vérifiez (!bmp.begin()) { Serial.println("Impossible de trouver un capteur BMP085 valide, check Serial.println(accelgyro.testConnection() ? "Connexion MPU085 réussie" : "Échec de la connexion MPU085") ); accelgyro.setI6050CBypassEnabled(true); // définir le mode de contournement pour la passerelle vers hmc6050L // initialiser hmc2l Compass.SetDeclination (5883, 5883, 'E'); Compass.SetSamplingMode(COMPASS_SINGLE);
Compass.SetScale(COMPASS_SCALE_130);
Compass.SetOrientation(COMPASS_HORIZONTAL_X_NORTH); // configure la LED Arduino pour vérifier l'activité pinMode(LED_PIN, OUTPUT); } void loop() {
Serial.print("Température = "); Serial.print(bmp.readTemperature());
Serial.println(” *C”); Serial.print("Pression = ");
Serial.print(bmp.readPressure()); Serial.println(” Pa”); // Calculer l'altitude en supposant une pression barométrique 'standard' // de 1013.25 millibars = 101325 Pascal Serial.print("Altitude = "); Serial.print(bmp.readAltitude()); Serial.println("mètres"); Serial.print("Pression au niveau de la mer (calculée) = ");
Serial.print(bmp.readSealevelPressure()); Serial.println("Pa");
Serial.print("Altitude réelle = "); Serial.print(bmp.readAltitude(101500));
Serial.println(” mètres”); // lit les mesures brutes d'accélération/gyroscope du périphérique accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); // affiche les valeurs accel/gyro x/y/z séparées par des tabulations Serial.print("a/g:\t"); Serial.print(ax);
Serial.print("\t"); Serial.print(ay); Serial.print("\t"); Serial.print(az);
Serial.print("\t"); Serial.print(gx); Serial.print("\t"); Serial.print(gy);
Serial.print("\t"); Serial.println(gz); titre flottant =
Boussole.GetHeadingDegrees(); Serial.print("Titre : \t"); Serial.println( titre ); // LED clignotante pour indiquer l'activité blinkState = !blinkState;
digitalWrite(LED_PIN, étatclignotant); retard (500); }
Testons-le
Une fois le code téléchargé, il est temps de tester le circuit ! Le code du programme Arduino s'interface avec les capteurs à l'aide de leurs bibliothèques, ce qui lui permet de lire les données des capteurs et de définir diverses configurations des capteurs. Ensuite, il imprime les données du capteur sur le port série. La LED est utilisée pour montrer que le circuit fait quelque chose. Cela signifie que la LED clignote à chaque fois que la fonction de boucle est exécutée, indiquant que le code lit activement les valeurs du capteur.
Explication de travail
Le code est l'élément principal sur lequel repose le fonctionnement du circuit. Alors, comprenons le code:.
- Tout d'abord, il comprend plusieurs librairies pour s'interfacer avec les capteurs :
- "I2Cdev.h" et "MPU6050.h" sont des bibliothèques pour le capteur accéléromètre/gyroscope 6050 axes MPU6
- "Adafruit_BMP085.h" est une bibliothèque pour le capteur de pression barométrique BMP085.
- "HMC5883L_Simple.h" est une bibliothèque pour le capteur magnétomètre HMC5883L.
- Ensuite, il crée des objets globaux pour les trois capteurs : MPU6050 accelgyro, Adafruit_BMP085 bmp et HMC5883L_Simple Compass.
- Ensuite, il définit certaines variables pour stocker les valeurs des capteurs, telles que ax, ay et az pour l'accéléromètre du MPU6050 et pour se diriger vers le magnétomètre du HMC5883L. Et il définit une constante LED_PIN et une variable blinkState.
- La fonction setup() démarre une communication série et commence la communication I2C. Puis il initialise les trois capteurs :
- Le capteur BMP085 est initialisé en appelant la méthode begin(). Si cela renvoie faux, indiquant que le capteur est introuvable, le programme entre dans une boucle infinie et imprime un message d'erreur sur le port série.
- Le capteur MPU6050 est initialisé en appelant la méthode initialize() et en vérifiant s'il fonctionne correctement. Et il a activé le contournement I2C pour MPU6050.
- Le capteur HMC5883L est initialisé en appelant certaines fonctions, telles que SetDeclination, SetSamplingMode, SetScale et SetOrientation, pour définir différentes configurations pour le capteur.
- Dans la fonction loop(), le code lit les données des trois capteurs et les imprime sur le port série :
- Il lit la température, la pression, l'altitude et la pression au niveau de la mer à partir du capteur.
- Il lit les mesures brutes d'accélération et de gyroscope du capteur MPU6050.
- Il lit le cap du capteur HMC5883L, qui est l'angle entre la direction dans laquelle le capteur pointe et la direction dans laquelle se trouve le nord magnétique.
- Enfin, il fait clignoter la LED pour indiquer une activité et attend un moment avant de relire les capteurs.
Documents / Ressources
![]() |
Croquis de test de capteur combiné ARDUINO GY87 [pdf] Manuel de l'utilisateur GY87 Croquis de test de capteur combiné, GY87, Croquis de test de capteur combiné, Croquis de test de capteur, Croquis de test |