Table des matières:
- Étape 1: Matériel requis:
- Étape 2: connexion matérielle:
- Étape 3: Code Java pour mesurer l'intensité du champ magnétique:
- Étape 4: Candidatures:
Vidéo: Mesure du champ magnétique à l'aide du HMC5883 et du Raspberry Pi : 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é de HMC5883 avec Raspberry pi et sa programmation en utilisant le langage de programmation java.
Étape 1: Matériel requis:
Le matériel requis pour accomplir la tâche est le suivant:
1. HMC5883
2. Framboise Pi
3. Câble I2C
4. Bouclier I2C pour Raspberry Pi
5. Câble Ethernet
Étape 2: connexion matérielle:
La section de raccordement matériel explique essentiellement les connexions de câblage requises entre le capteur et le raspberry pi. 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 Java pour mesurer l'intensité du champ magnétique:
L'avantage d'utiliser raspberry pi est qu'il vous offre la flexibilité du langage de programmation dans lequel vous souhaitez programmer la carte afin d'interfacer le capteur avec elle. En exploitant cet avantage de cette carte, nous démontrons ici sa programmation en Java. Le code java pour HMC5883 peut être téléchargé depuis notre communauté github qui est Dcube Store.
En plus de la facilité des utilisateurs, nous expliquons le code ici également:
Comme première étape de codage, vous devez télécharger la bibliothèque pi4j dans le cas de java, car cette bibliothèque prend en charge les fonctions utilisées dans le code. Donc, pour télécharger la bibliothèque, vous pouvez visiter le lien suivant:
pi4j.com/install.html
Vous pouvez également copier le code Java fonctionnel de ce capteur à partir d'ici:
importer com.pi4j.io.i2c. I2CBus;
importer com.pi4j.io.i2c. I2CDevice;
mport com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;classe publique HMC5883
{
public static void main(String args) lève une exception
{
// Créer un bus I2C
I2CBus Bus = I2CFactory.getInstance(I2CBus. BUS_1);
// Obtenir le périphérique I2C, l'adresse I2C HMC5883 est 0x1E(30)
Périphérique I2CDevice = Bus.getDevice (0x1E);
// Sélection du registre de configuration A
// Configuration de mesure normale, débit de données o/p = 0,75 Hz
périphérique.write(0x00, (octet)0x60);
// Sélection du registre de mode
// Mode de mesure en continu
périphérique.write(0x02, (octet)0x00);
Thread.sleep(500);
// Lit 6 octets de données à partir de 0x03(3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
octet données = nouvel octet[6];
device.read (0x03, données, 0, 6);
// Convertir les données
int xMag = ((données[0] & 0xFF) * 256 + (données[1] & 0xFF));
si (xMag > 32767)
{
xMag -= 65536;
}
int zMag = ((données[2] & 0xFF) * 256 + (données[3] & 0xFF));
si(zMag > 32767)
{
zMag -= 65536;
}
int yMag = ((données[4] & 0xFF) * 256 + (données[5] & 0xFF));
si(yMag > 32767)
{
yMag -= 65536;
}
// Sortie des données à l'écran
System.out.printf("Champ magnétique dans l'axe X: %d %n", xMag);
System.out.printf("Champ magnétique dans l'axe Y: %d %n", yMag);
System.out.printf("Champ magnétique dans l'axe Z: %d %n", zMag);
}
}
Les fonctions Write() et read() sont utilisées pour écrire les commandes et lire respectivement la sortie du capteur. La partie suivante illustre la lecture des valeurs de champ magnétique.
// Lit 6 octets de données à partir de 0x03(3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
octet données = nouvel octet[6];
device.read (0x03, données, 0, 6);
La sortie est montrée dans l'image ci-dessus.
É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 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 du champ magnétique à l'aide du HMC5883 et du photon de particules : 4 étapes
Mesure du champ magnétique à l'aide du HMC5883 et du photon de particules : 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
Milligaussmètre Arduino - Mesure magnétique : 4 étapes
Milligaussmètre Arduino - Mesure magnétique : des aimants puissants peuvent-ils être expédiés dans un avion ? Nous expédions beaucoup d'aimants et il existe certaines réglementations pour l'expédition de matériel magnétique, en particulier dans un avion. Dans cet article, nous explorons comment vous pouvez créer votre propre milligaussmètre pour les envois aériens o
Tutoriel : Comment créer une alarme de porte à l'aide de l'alarme de capteur de commutateur magnétique MC-18 : 3 étapes
Tutoriel: Comment faire une alarme de porte en utilisant l'alarme de capteur de commutateur magnétique MC-18: Salut les gars, je vais faire un tutoriel sur l'alarme de capteur de commutateur magnétique MC-18 qui fonctionne en mode normalement fermé. Mais d'abord, laissez-moi vous expliquer bref ce que l'on entend par normalement proche. Il existe deux types de mode, normalement ouvert et normalement fermé
Capteur de champ magnétique à 3 axes : 10 étapes (avec photos)
Capteur de champ magnétique à 3 axes : les systèmes de transfert d'énergie sans fil sont en passe de remplacer la charge filaire conventionnelle. Cela va des minuscules implants biomédicaux à la recharge sans fil d'énormes véhicules électriques. Une partie intégrante de la recherche sur l'alimentation sans fil est