Table des matières:
- Étape 1: Informations générales sur le module Compass
- Étape 2: Composants requis
- Étape 3: Interfaçage du module de boussole GY-511 avec Arduino
- Étape 4: Étalonnage du module de boussole GY-511
- Étape 5: Circuit
- Étape 6: Coder
- Étape 7: Créer une boussole numérique
- Étape 8: Circuit
- Étape 9: Coder
- Étape 10: Quelle est la prochaine étape ?
Vidéo: Comment utiliser le module GY511 avec Arduino [Créer une boussole numérique] : 11 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
Aperçu
Dans certains projets électroniques, nous avons besoin de connaître l'emplacement géographique à tout moment et de faire une opération spécifique en conséquence. Dans ce didacticiel, vous apprendrez à utiliser le module de boussole LSM303DLHC GY-511 avec Arduino pour créer une boussole numérique. Tout d'abord, vous découvrirez ce module et son fonctionnement, puis vous verrez comment interfacer le module LSM303DLHC GY-511 avec Arduino.
Ce que vous apprendrez
- Qu'est-ce que le module boussole ?
- Module boussole et interface Arduino.
- Créez une boussole numérique avec le module GY-511 et Arduino.
Étape 1: Informations générales sur le module Compass
Le module GY-511 comprend un accéléromètre 3 axes et un magnétomètre 3 axes. Ce capteur peut mesurer l'accélération linéaire à pleine échelle de ± 2 g / ± 4 g / ± 8 g / ± 16 g et les champs magnétiques à pleine échelle de ± 1,3 / ± 1,9 / ± 2,5 / ± 4,0 / ± 4,7 / ± 5,6 / ± 8,1 Gauss.
Lorsque ce module est placé dans un champ magnétique, selon la loi de Lorentz un courant d'excitation induit dans sa bobine microscopique. Le module de boussole convertit ce courant en tension différentielle pour chaque direction de coordonnées. En utilisant ces tensions, vous pouvez calculer le champ magnétique dans chaque direction et obtenir la position géographique.
Conseil
QMC5883L est un autre module de boussole couramment utilisé. Ce module, qui a une structure et une application similaires à celles du module LMS303, présente des performances légèrement différentes. Donc, si vous faites des projets, faites attention à votre type de module. Si votre module est QMC5882L, utilisez la bibliothèque et les codes appropriés qui sont également inclus dans le didacticiel.
Étape 2: Composants requis
Composants matériels
Arduino UNO R3 * 1
Accéléromètre 3 axes GY-511 + magnétomètre * 1
Servomoteur TowerPro SG-90 * 1
Module d'affichage à cristaux liquides 1602 * 1
Cavaliers * 1
Applications logicielles
IDE Arduino
Étape 3: Interfaçage du module de boussole GY-511 avec Arduino
Le module de boussole GY-511 a 8 broches, mais vous n'en avez besoin que de 4 pour s'interfacer avec Arduino. Ce module communique avec Arduino en utilisant le protocole I2C, donc connectez les broches SDA (sortie I2C) et SCK (entrée d'horloge I2C) du module aux broches I2C de la carte Arduino.
RemarqueComme vous pouvez le voir, nous avons utilisé le module GY-511 dans ce projet. Mais vous pouvez utiliser cette instruction pour configurer d'autres modules de boussole LMS303.
Étape 4: Étalonnage du module de boussole GY-511
Pour naviguer, vous devez d'abord calibrer le module, c'est-à-dire régler la plage de mesure de 0 à 360 degrés. Pour ce faire, connectez le module à Arduino comme indiqué ci-dessous et téléchargez le code suivant sur votre carte. Après avoir exécuté le code, vous pouvez voir les valeurs minimales et maximales de la plage de mesure pour les axes X, Y et Z dans la fenêtre du moniteur série. Vous aurez besoin de ces chiffres dans la partie suivante, alors notez-les.
Étape 5: Circuit
Étape 6: Coder
Dans ce code, vous avez besoin de la bibliothèque Wire.h pour la communication I2C et de la bibliothèque LMS303.h pour le module boussole. Vous pouvez télécharger ces bibliothèques à partir des liens suivants.
Bibliothèque LMS303.h
Bibliothèque Wire.h
RemarqueSi vous utilisez QMC5883, vous aurez besoin de la bibliothèque suivante:
MechaQMC5883L.h
Ici, nous expliquons le code du LMS303, mais vous pouvez également télécharger les codes du module QMC.
Voyons quelques-unes des nouvelles fonctions:
boussole.enableDefault();
Initialisation du module
boussole.read();
Lecture des valeurs de sortie du module boussole
running_min.z = min(running_min.z, boussole.m.z); running_max.x = max(running_max.x, boussole.m.x);
Détermination des valeurs minimales et maximales de la plage de mesure en comparant les valeurs mesurées.
Étape 7: Créer une boussole numérique
Après avoir calibré le module, nous allons construire une boussole en connectant un servomoteur au module. Pour que l'indicateur de servo, nous montre toujours la direction nord, comme la flèche rouge sur la boussole. Pour ce faire, le module de boussole calcule d'abord la direction géographique et l'envoie à Arduino, puis, en appliquant un coefficient approprié, vous calculerez l'angle auquel le servomoteur doit tourner pour que son indicateur pointe vers le nord magnétique. Finalement, nous appliquons cet angle au servomoteur.
Étape 8: Circuit
Étape 9: Coder
Pour cette partie, vous avez également besoin de la bibliothèque Servo.h, installée par défaut sur votre logiciel Arduino.
Voyons quelques-unes des nouvelles fonctions:
Servo Servo1;
Initialisation du module
boussole.read();
Présentation de l'objet servomoteur
Servo1.attach(servoPin); boussole.init(); boussole.enableDefault();
Initialisation du module compas et du servomoteur
L'argument Servo1.attach() est le numéro de la broche connectée au servomoteur.
boussole.m_min = (LSM303::vector){-32767, -32767, -32767}; boussole.m_max = (LSM303::vector){+32767, +32767, +32767};
A l'aide de ces lignes, vous définissez les valeurs minimales et maximales pour mesurer la plage obtenue dans la partie précédente.
titre flottant =compass.heading((LSM303::vector){0, 0, 1});
La fonction cap() renvoie l'angle entre l'axe de coordonnées et un axe fixe. Vous pouvez définir l'axe fixe avec un vecteur dans l'argument de la fonction. Par exemple, ici, en définissant le (LSM303:: vecteur) {0, 0, 1}, l'axe Z est considéré comme un axe constant.
Servo1.write(titre);
La fonction Servo1.write() applique la valeur lue par le module de boussole au servomoteur.
RemarqueNotez que le servomoteur peut avoir un champ magnétique, il est donc préférable de placer le servomoteur à une distance appropriée du module de boussole, afin de ne pas faire dévier le module de boussole.
Conseillé:
Comment utiliser une photorésistance pour allumer une LED avec Aurduino : 12 étapes
Comment utiliser une photorésistance pour allumer une LED avec Aurduino : bonjour/après-midi/soirée à tous les amateurs d'Arduino ! Aujourd'hui, je vais vous montrer comment utiliser une photorésistance (photocellule) pour allumer une LED. Le code fourni avec ce Instructable laissera la LED s'assoir normalement, mais clignotera wh
Comment faire une horloge analogique et une horloge numérique avec une bande LED à l'aide d'Arduino: 3 étapes
Comment faire une horloge analogique et une horloge numérique avec une bande LED à l'aide d'Arduino Horloge numérique avec Led Strip et module MAX7219 Dot avec Arduino. Elle corrigera l'heure avec le fuseau horaire local. L'horloge analogique peut utiliser une bande LED plus longue, elle peut donc être accrochée au mur pour devenir une œuvre d'art
Comment créer une maison intelligente à l'aide du module de relais de contrôle Arduino - Idées domotiques : 15 étapes (avec photos)
Comment créer une maison intelligente à l'aide du module de relais de contrôle Arduino | Idées de domotique : Dans ce projet de domotique, nous allons concevoir un module de relais domestique intelligent qui peut contrôler 5 appareils ménagers. Ce module relais peut être contrôlé à partir d'un mobile ou d'un smartphone, d'une télécommande IR ou d'une télécommande TV, interrupteur manuel. Ce relais intelligent peut également détecter le r
Comment utiliser le clavier et l'écran LCD avec Arduino pour créer une calculatrice Arduino.: 5 étapes
Comment utiliser le clavier et l'écran LCD avec Arduino pour créer une calculatrice Arduino.: Dans ce didacticiel, je partagerai comment vous pouvez utiliser un clavier matriciel 4x4 et un écran LCD 16x2 avec Arduino et l'utiliser pour créer une simple calculatrice Arduino. Alors, commençons
Lumière réactive musicale--Comment créer une lumière réactive musicale super simple pour créer un bureau génial.: 5 étapes (avec images)
Lumière réactive musicale || Comment faire de la lumière réactive musicale super simple pour rendre le bureau génial.: Hé quoi de neuf les gars, aujourd'hui, nous allons construire un projet très intéressant. la basse qui est en fait un signal audio basse fréquence. C'est très simple à construire. Nous allons