Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
C'est juste une base instructable pour un projet sur lequel je travaille. Ce n'est pas calibré et c'est un prototype très basique fait pour la classe. Dans un instructable plus tard, je vais montrer comment le calibrer.
Je ne m'attendrais pas à beaucoup de grandeur de cela si j'étais vous, il s'agit plutôt de documenter le processus.
Fournitures
- Micro servo (j'ai utilisé le micro servo HXT900 de Hobby King)
- Arduino (j'ai utilisé Uno)
- LSM303DLHC est le capteur
- Câbles, soudure, etc.
- Planche à pain
Étape 1: Assemblez le tout
Assurez-vous que vos en-têtes sont correctement soudés sur votre capteur et que vous avez vos fils et votre maquette.
Étape 2: Bibliothèques de codes
Vous voudrez vous assurer de les avoir téléchargés.
Les autres bibliothèques que vous utiliserez, wire.h et servo.h, devraient déjà être installées par défaut.
Étape 3: Coder
Ouvrez la bibliothèque de croquis 'Compass' à partir de ce que vous venez de télécharger. Pour utiliser le servo, vous voulez mettre le code servo dans ce code. Je l'ai combiné avec le code de Hanie Kiana d'ici. L'original est de Hanie Kiani, pas de moi. Ça devrait ressembler à ça.
#comprendre
#include #include #include #include Adafruit_LSM303DLH_Mag_Unified mag = Adafruit_LSM303DLH_Mag_Unified (12345); int servoPin = 3; Servo Servo1; void setup(void) { Serial.begin(9600); Fil.begin(); Servo1.attach(servoPin); Serial.println("Test du magnétomètre"); Serial.println(""); if (!mag.begin()) { Serial.println("Oups, aucun LSM303 détecté … Vérifiez votre câblage!"); tandis que (1); } } void loop(void) { /* Récupère un nouvel événement de capteur */ sensor_event_t event; mag.getEvent(&event); flottant Pi = 3,14159; // Calculer l'angle du vecteur y, x float cap = (atan2(event.magnetic.y, event.magnetic.x) * 180) / Pi; // Normaliser à 0-360 if (titre < 0) { titre = 360 + titre; } Serial.print("En-tête de boussole: "); Serial.println(titre); Servo1.write(180-tête); retard(10); }
Étape 4: Câblez-le ensemble
Vous voulez que la broche la plus à gauche - SCL - soit connectée à l'entrée de données A5
Celui à côté - SDA - connecté au port A4.
Le sol va au sol.
Le VIN va au port 5v.
Étape 5: ajouter un servo au câblage
La masse et la tension parlent d'elles-mêmes, mais vous voulez que la broche de données soit ~ 3.
Étape 6: Testez le code
Si vous déplacez le magnétomètre lentement, le servo devrait se déplacer avec lui. Ce n'est probablement pas précis, mais cela fonctionne au moins avec le code, donc la première partie est terminée. Ce n'est toujours pas calibré, mais ça marche.