Innholdsfortegnelse:
- Trinn 1: Nødvendig maskinvare:
- Trinn 2: Maskinvaretilkobling:
- Trinn 3: Kode for å måle magnetfeltintensitet:
- Trinn 4: Søknader:
Video: Magnetisk feltmåling ved hjelp av HMC5883 og Particle Photon: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
HMC5883 er et digitalt kompass designet for lavfelt magnetisk sansing. Denne enheten har et bredt magnetfeltområde på +/- 8 Oe og en utgangshastighet på 160 Hz. HMC5883-sensoren inkluderer automatiske degaussing-stroppdrivere, offset-kansellering og en 12-biters ADC som muliggjør 1 ° til 2 ° kompassretningsnøyaktighet. Alle I²C minimoduler er designet for å fungere på 5VDC.
I denne opplæringen skal vi forklare detaljert arbeid av HMC5883 med partikkelfoton. Particle foton er et kort som letter å sende og motta data fra nettstedet, som støtter den mest grunnleggende funksjonen til Internet Of Things (IoT).
Trinn 1: Nødvendig maskinvare:
Materialene vi trenger for å nå målet vårt inkluderer følgende maskinvarekomponenter:
1. HMC5883
2. Partikkelfoton
3. I2C -kabel
4. I2C -skjold for partikkelfoton
Trinn 2: Maskinvaretilkobling:
Maskinvarekoblingsdelen forklarer i utgangspunktet ledningsforbindelsene som kreves mellom sensoren og partikkelfotonet. Å sikre riktige tilkoblinger er den grunnleggende nødvendigheten mens du arbeider på et hvilket som helst system for ønsket utgang. Så de nødvendige tilkoblingene er som følger:
HMC5883 fungerer over I2C. Her er eksempel på koblingsskjema, som viser hvordan du kobler til hvert grensesnitt på sensoren.
Uten boksen er brettet konfigurert for et I2C-grensesnitt, derfor anbefaler vi å bruke denne tilkoblingen hvis du ellers er agnostiker. Alt du trenger er fire ledninger!
Bare fire tilkoblinger kreves Vcc, Gnd, SCL og SDA -pinner, og disse er koblet til ved hjelp av I2C -kabel.
Disse sammenhengene er vist på bildene ovenfor.
Trinn 3: Kode for å måle magnetfeltintensitet:
La oss begynne med partikkelkoden nå.
Mens vi bruker sensormodulen med Arduino, inkluderer vi application.h og spark_wiring_i2c.h biblioteket. "application.h" og spark_wiring_i2c.h biblioteket inneholder funksjonene som letter i2c -kommunikasjonen mellom sensoren og partikkelen.
Hele partikkelkoden er gitt nedenfor for brukerens bekvemmelighet:
#inkludere
#inkludere
// HMC5883 I2C -adressen er 0x1E (30)
#define Addr 0x1E
int xMag = 0, yMag = 0, zMag = 0;
ugyldig oppsett ()
{
// Angi variabel
Partikkel.variabel ("i2cdevice", "HMC5883");
Particle.variable ("xMag", xMag);
Particle.variable ("yMag", yMag);
Particle.variable ("zMag", zMag);
// Initialiser I2C -kommunikasjon som MASTER
Wire.begin ();
// Initialize Serial Communication, set baud rate = 9600
Serial.begin (9600);
// Start I2C -overføring
Wire.beginTransmission (Addr);
// Velg konfigurer register A
Wire.write (0x00);
// Angi normal målekonfigurasjon, datautgangshastighet = 0,75Hz
Wire.write (0x60);
// Stopp I2C -overføring
Wire.endTransmission ();
// Start I2C -overføring
Wire.beginTransmission (Addr);
// Velg Modusregister
Wire.write (0x02);
// Still inn kontinuerlig måling
Wire.write (0x00);
// Stopp I2C -overføring
Wire.endTransmission ();
forsinkelse (300);
}
hulrom ()
{
usignerte int -data [6];
// Start I2C -overføring
Wire.beginTransmission (Addr);
// Velg dataregister
Wire.write (0x03);
// Stopp I2C -overføring
Wire.endTransmission ();
// Be om 6 byte med data
Wire.requestFrom (Addr, 6);
// Les 6 byte med data
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
hvis (Wire.available () == 6)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
data [3] = Wire.read ();
data [4] = Wire.read ();
data [5] = Wire.read ();
}
forsinkelse (300);
// Konverter dataene
xMag = ((data [0] * 256) + data [1]);
hvis (xMag> 32767)
{
xMag -= 65536;
}
zMag = ((data [2] * 256) + data [3]);
hvis (zMag> 32767)
{
zMag -= 65536;
}
yMag = ((data [4] * 256) + data [5]);
hvis (yMag> 32767)
{
yMag -= 65536;
}
// Utdata til dashbordet
Particle.publish ("Magnetic Field in X-Axis:", String (xMag));
forsinkelse (1000);
Particle.publish ("Magnetic Field in Y-Axis:", String (yMag));
forsinkelse (1000);
Particle.publish ("Magnetic Field in Z-Axis:", String (zMag));
forsinkelse (1000);
}
Particle.variable () -funksjonen oppretter variablene for å lagre sensorens utgang og Particle.publish () -funksjonen viser utgangen på dashbordet til nettstedet.
Sensorutgangen er vist på bildet ovenfor for din referanse.
Trinn 4: Søknader:
HMC5883 er en overflatemontert, multi-chip modul designet for lavfelt magnetisk sensing med et digitalt grensesnitt for applikasjoner som lavpris kompassering og magnetometri. Dens en til to graders høy nøyaktighet og presisjon muliggjør fotgjengernavigasjon og LBS -applikasjoner.
Anbefalt:
DIY -- Hvordan lage en edderkopprobot som kan kontrolleres ved hjelp av smarttelefon ved hjelp av Arduino Uno: 6 trinn
DIY || Hvordan lage en edderkopprobot som kan kontrolleres ved hjelp av smarttelefon ved hjelp av Arduino Uno: Mens du lager en edderkopprobot, kan du lære så mange ting om robotikk. Som å lage roboter er både underholdende og utfordrende. I denne videoen skal vi vise deg hvordan du lager en Spider -robot, som vi kan bruke ved hjelp av smarttelefonen vår (Androi
Magnetisk feltmåling ved hjelp av HMC5883 og Raspberry Pi: 4 trinn
Magnetisk feltmåling ved hjelp av HMC5883 og Raspberry Pi: HMC5883 er et digitalt kompass designet for lavfelt magnetisk sansing. Denne enheten har et bredt magnetfeltområde på +/- 8 Oe og en utgangshastighet på 160 Hz. HMC5883 -sensoren inkluderer automatiske drivere for avfetting av stropper, avbestilling av forskyvning og en
Magnetisk feltmåling ved hjelp av HMC5883 og Arduino Nano: 4 trinn
Magnetisk feltmåling ved hjelp av HMC5883 og Arduino Nano: HMC5883 er et digitalt kompass designet for lavfelt magnetisk sansing. Denne enheten har et bredt magnetfeltområde på +/- 8 Oe og en utgangshastighet på 160 Hz. HMC5883 -sensoren inkluderer automatiske drivere for avfetting av stropper, avbestilling av forskyvning og en
Hvordan lage en drone ved hjelp av Arduino UNO - Lag en quadcopter ved hjelp av mikrokontroller: 8 trinn (med bilder)
Hvordan lage en drone ved hjelp av Arduino UNO | Lag en Quadcopter ved hjelp av mikrokontroller: Introduksjon Besøk min Youtube -kanal En Drone er en veldig dyr gadget (produkt) å kjøpe. I dette innlegget skal jeg diskutere hvordan jeg får det billig? Og hvordan kan du lage din egen slik til en billig pris … Vel, i India er alle materialer (motorer, ESCer
Døralarm ved hjelp av magnetisk hallsensor: 5 trinn
Døralarm ved hjelp av magnetisk hallsensor: Døralarm er en veldig vanlig og nyttig enhet for sikkerhetsformål. De brukes til å oppdage om døren er åpen eller lukket. Ofte har vi sett en døralarm i kjøleskapet som ga en annen lyd når de ble aktivert. Døralarm Pro