Table des matières:
- Étape 1: Matériel requis:
- Étape 2: connexion matérielle:
- Étape 3: Code pour mesurer l'intensité du champ magnétique:
- Étape 4: Candidatures:
Vidéo: Mesure du champ magnétique à l'aide du HMC5883 et du photon de particules : 4 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Le HMC5883 est une boussole numérique conçue pour la détection magnétique à faible champ. Cet appareil a une large plage de champ magnétique de +/-8 Oe et un taux de sortie de 160 Hz. Le capteur HMC5883 comprend des pilotes de sangle de démagnétisation automatique, une annulation de décalage et un CAN 12 bits qui permet une précision de cap de 1° à 2°. Tous les mini modules I²C sont conçus pour fonctionner à 5VDC.
Dans ce tutoriel, nous allons expliquer le fonctionnement détaillé du HMC5883 avec le photon de particule. Le photon de particules est une carte qui facilite l'envoi et la réception de données à partir du site Web, qui prend en charge la fonctionnalité la plus basique de l'Internet des objets (IoT).
Étape 1: Matériel requis:
Les matériaux dont nous avons besoin pour atteindre notre objectif comprennent les composants matériels suivants:
1. HMC5883
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 HMC5883 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 mesurer l'intensité du champ magnétique:
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:
#comprendre
#comprendre
// L'adresse I2C HMC5883 est 0x1E(30)
#define adresse 0x1E
int xMag = 0, yMag = 0, zMag = 0;
void setup()
{
// Définir la variable
Particule.variable("i2cdevice", "HMC5883");
Particule.variable("xMag", xMag);
Particule.variable("yMag", yMag);
Particule.variable("zMag", zMag);
// Initialiser la communication I2C en tant que MASTER
Fil.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 configurer le registre A
Wire.write(0x00);
// Définir la configuration de mesure normale, taux de sortie des données = 0,75 Hz
Wire.write(0x60);
// Arrêter la transmission I2C
Wire.endTransmission();
// Démarrer la transmission I2C
Wire.beginTransmission(Adr);
// Sélection du registre de mode
Wire.write(0x02);
// Définir la mesure continue
Wire.write(0x00);
// Arrêter la transmission I2C
Wire.endTransmission();
retard (300);
}
boucle vide()
{
données int non signées[6];
// Démarrer la transmission I2C
Wire.beginTransmission(Adr);
// Sélection du registre de données
Wire.write(0x03);
// Arrêter la transmission I2C
Wire.endTransmission();
// Demande 6 octets de données
Wire.requestFrom(Adr, 6);
// Lecture de 6 octets de données
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
if(Fil.disponible() == 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 (300);
// Convertir les données
xMag = ((données[0] * 256) + données[1]);
si (xMag > 32767)
{
xMag -= 65536;
}
zMag = ((données[2] * 256) + données[3]);
si(zMag > 32767)
{
zMag -= 65536;
}
yMag = ((données[4] * 256) + données[5]);
si(yMag > 32767)
{
yMag -= 65536;
}
// Sortie des données vers le tableau de bord
Particle.publish("Champ magnétique dans l'axe X: ", String(xMag));
retard(1000);
Particle.publish("Champ magnétique dans l'axe Y: ", String(yMag));
retard(1000);
Particle.publish("Champ magnétique dans l'axe Z: ", String(zMag));
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 HMC5883 est un module multipuce à montage en surface conçu pour la détection magnétique à faible champ avec une interface numérique pour des applications telles que la boussole et la magnétométrie à faible coût. Sa précision et sa précision de haut niveau d'un à deux degrés permettent la navigation piétonne et les applications LBS.
Conseillé:
Mesure du champ magnétique à l'aide du HMC5883 et du Raspberry Pi : 4 étapes
Mesure du champ magnétique à l'aide du HMC5883 et du Raspberry Pi : Le HMC5883 est une boussole numérique conçue pour la détection magnétique à faible champ. Cet appareil a une large plage de champ magnétique de +/-8 Oe et un taux de sortie de 160 Hz. Le capteur HMC5883 comprend des pilotes de sangle de démagnétisation automatique, une annulation de décalage et un
Mesure du champ magnétique à l'aide de HMC5883 et d'Arduino Nano : 4 étapes
Mesure du champ magnétique à l'aide de HMC5883 et d'Arduino Nano : Le HMC5883 est une boussole numérique conçue pour la détection magnétique à faible champ. Cet appareil a une large plage de champ magnétique de +/-8 Oe et un taux de sortie de 160 Hz. Le capteur HMC5883 comprend des pilotes de sangle de démagnétisation automatique, une annulation de décalage et un
Mesure de la température à l'aide du MCP9803 et du photon de particules : 4 étapes
Mesure de la température à l'aide du MCP9803 et du photon de particules : Le MCP9803 est un capteur de température de haute précision à 2 fils. Ils sont dotés de registres programmables par l'utilisateur qui facilitent les applications de détection de température. Ce capteur est adapté pour un système de surveillance de la température multizone hautement sophistiqué. Dans le
Mesure de l'accélération à l'aide du BMA250 et du photon de particules : 4 étapes
Mesure de l'accélération à l'aide du BMA250 et du photon de particules : Le BMA250 est un petit accéléromètre mince à très faible 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 I2C. Il mesure la statique
Mesure de la pression à l'aide du CPS120 et du photon de particules : 4 étapes
Mesure de la pression à l'aide du CPS120 et du photon de particules : Le CPS120 est un capteur de pression absolue capacitif de haute qualité et à faible coût avec une sortie entièrement compensée. Il consomme très moins d'énergie et comprend un capteur micro-électro-mécanique (MEMS) ultra petit pour la mesure de la pression. Une base sigma-delta