Taula de continguts:
- Pas 1: maquinari necessari:
- Pas 2: connexió de maquinari:
- Pas 3: Codi per mesurar la intensitat del camp magnètic:
- Pas 4: aplicacions:
Vídeo: Mesura del camp magnètic mitjançant HMC5883 i fotó de partícules: 4 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
La HMC5883 és una brúixola digital dissenyada per a la detecció magnètica de camp baix. Aquest dispositiu té un ampli rang de camps magnètics de +/- 8 Oe i una velocitat de sortida de 160 Hz. El sensor HMC5883 inclou controladors automàtics de corretges de desmagnetització, cancel·lació de compensació i un ADC de 12 bits que permet una precisió de capçalera de la brúixola d’1 a 2 °. Tots els mini mòduls I²C estan dissenyats per funcionar a 5VDC.
En aquest tutorial, explicarem el funcionament detallat de l'HMC5883 amb el fotó de partícules. Particle photon és un tauler que facilita l’enviament i la recepció de dades del lloc web, que admet la característica més bàsica d’Internet de les coses (IoT).
Pas 1: maquinari necessari:
Els materials que necessitem per assolir el nostre objectiu inclouen els components de maquinari següents:
1. HMC5883
2. Fotó de partícules
3. Cable I2C
4. Escut I2C per a fotons de partícules
Pas 2: connexió de maquinari:
La secció de connexió de maquinari explica bàsicament les connexions de cablejat necessàries entre el sensor i el fotó de partícules. Garantir connexions correctes és la necessitat bàsica mentre es treballa en qualsevol sistema per a la sortida desitjada. Per tant, les connexions necessàries són les següents:
L'HMC5883 funcionarà sobre I2C. Aquí teniu un exemple de diagrama de cablejat, que demostra com connectar cada interfície del sensor.
Fora de la caixa, el tauler està configurat per a una interfície I2C, per tant, us recomanem que utilitzeu aquesta connexió si no sou agnòstic. Tot el que necessiteu són quatre cables.
Només es necessiten quatre connexions pins Vcc, Gnd, SCL i SDA i es connecten amb l'ajut del cable I2C.
Aquestes connexions es mostren a les imatges anteriors.
Pas 3: Codi per mesurar la intensitat del camp magnètic:
Comencem ara amb el codi de partícules.
Mentre s’utilitza el mòdul de sensor amb l’Arduino, incloem la biblioteca application.h i spark_wiring_i2c.h. La biblioteca "application.h" i spark_wiring_i2c.h conté les funcions que faciliten la comunicació i2c entre el sensor i la partícula.
A continuació es proporciona tot el codi de partícules per a la comoditat de l'usuari:
#incloure
#incloure
// L'adreça I2C HMC5883 és 0x1E (30)
#define Addr 0x1E
int xMag = 0, yMag = 0, zMag = 0;
configuració nul·la ()
{
// Estableix la variable
Particle.variable ("i2cdevice", "HMC5883");
Particle.variable ("xMag", xMag);
Particle.variable ("yMag", yMag);
Particle.variable ("zMag", zMag);
// Inicialitzar la comunicació I2C com a MASTER
Wire.begin ();
// Inicialitzar la comunicació en sèrie, establir la velocitat de transmissió = 9600
Serial.begin (9600);
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Selecciona configurar registre A
Wire.write (0x00);
// Estableix la configuració de mesurament normal, velocitat de sortida de dades = 0,75 Hz
Wire.write (0x60);
// Atura la transmissió I2C
Wire.endTransmission ();
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Selecciona el registre de mode
Wire.write (0x02);
// Estableix un mesurament continu
Wire.write (0x00);
// Atura la transmissió I2C
Wire.endTransmission ();
retard (300);
}
bucle buit ()
{
dades int sense signar [6];
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Selecciona el registre de dades
Wire.write (0x03);
// Atura la transmissió I2C
Wire.endTransmission ();
// Sol·liciteu 6 bytes de dades
Wire.requestFrom (Addr, 6);
// Llegiu 6 bytes de dades
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
if (Wire.available () == 6)
{
dades [0] = Wire.read ();
dades [1] = Wire.read ();
dades [2] = Wire.read ();
dades [3] = Wire.read ();
dades [4] = Wire.read ();
dades [5] = Wire.read ();
}
retard (300);
// Converteix les dades
xMag = ((dades [0] * 256) + dades [1]);
if (xMag> 32767)
{
xMag - = 65536;
}
zMag = ((dades [2] * 256) + dades [3]);
if (zMag> 32767)
{
zMag - = 65536;
}
yMag = ((dades [4] * 256) + dades [5]);
if (yMag> 32767)
{
yMag - = 65536;
}
// Data de sortida al tauler
Particle.publish ("Camp magnètic a l'eix X:", String (xMag));
retard (1000);
Particle.publish ("Camp magnètic a l'eix Y:", String (yMag));
retard (1000);
Particle.publish ("Camp magnètic a l'eix Z:", String (zMag));
retard (1000);
}
La funció Particle.variable () crea les variables per emmagatzemar la sortida del sensor i la funció Particle.publish () mostra la sortida al tauler del lloc.
La sortida del sensor es mostra a la imatge superior per a la vostra referència.
Pas 4: aplicacions:
HMC5883 és un mòdul multi-xip de muntatge superficial dissenyat per a la detecció magnètica de camp baix amb una interfície digital per a aplicacions com el compàs de baix cost i la magnetometria. La seva precisió i precisió d’un a dos graus d’alt nivell permet la navegació per a vianants i les aplicacions LBS.
Recomanat:
Mesura de l’acceleració mitjançant ADXL345 i fotó de partícules: 4 passos
Mesura de l’acceleració mitjançant l’ADXL345 i el fotó de partícules: l’ADXL345 és un acceleròmetre de 3 eixos petit, prim i ultralleuger, amb una resolució alta (13 bits) de fins a ± 16 g. Les dades de sortida digital es formaten com a complement de dos bits de 16 bits i són accessibles a través de la interfície digital I2 C. Mesura el
Mesura del camp magnètic mitjançant HMC5883 i Raspberry Pi: 4 passos
Mesura del camp magnètic mitjançant HMC5883 i Raspberry Pi: l'HMC5883 és una brúixola digital dissenyada per a la detecció magnètica de camp baix. Aquest dispositiu té un ampli rang de camps magnètics de +/- 8 Oe i una velocitat de sortida de 160 Hz. El sensor HMC5883 inclou controladors automàtics de corretges de desmagnetització, cancel·lació de compensació i
Mesura del camp magnètic mitjançant HMC5883 i Arduino Nano: 4 passos
Mesura del camp magnètic mitjançant HMC5883 i Arduino Nano: l’HMC5883 és una brúixola digital dissenyada per a la detecció magnètica de camp baix. Aquest dispositiu té un ampli rang de camps magnètics de +/- 8 Oe i una velocitat de sortida de 160 Hz. El sensor HMC5883 inclou controladors automàtics de corretges de desmagnetització, cancel·lació de compensació i
Mesura de la humitat mitjançant HYT939 i fotó de partícules: 4 passos
Mesura de la humitat mitjançant HYT939 i el fotó de partícules: HYT939 és un sensor digital d’humitat que funciona amb el protocol de comunicació I2C. La humitat és un paràmetre fonamental quan es tracta de sistemes mèdics i laboratoris, de manera que, per assolir aquests objectius, hem intentat relacionar HYT939 amb raspberry pi. Jo
Mesura de l’acceleració mitjançant H3LIS331DL i fotó de partícules: 4 passos
Mesura de l'acceleració mitjançant H3LIS331DL i el fotó de partícules: H3LIS331DL, és un acceleròmetre lineal de 3 eixos d'alt rendiment de baixa potència que pertany a la família "nano", amb interfície sèrie I²C digital. H3LIS331DL té una escala completa seleccionable per l'usuari de ± 100g / ± 200g / ± 400g i és capaç de mesurar acceleracions w