Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-23 15:05
HMC5883 je digitálny kompas určený na magnetické snímanie v nízkom poli. Toto zariadenie má široký rozsah magnetického poľa +/- 8 Oe a výstupnú frekvenciu 160 Hz. Senzor HMC5883 obsahuje automatické remagnetizačné popruhy, potlačenie ofsetu a 12-bitový ADC, ktorý umožňuje presnosť smeru kompasu 1 ° až 2 °. Všetky moduly I²C Mini sú navrhnuté tak, aby pracovali pri 5 VDC.
V tomto tutoriáli vysvetlíme podrobnú prácu HMC5883 s časticovým fotónom. Fotón častíc je doska, ktorá uľahčuje odosielanie a prijímanie údajov z webových stránok a ktorá podporuje najzákladnejšiu funkciu internetu vecí (IoT).
Krok 1: Potrebný hardvér:
Materiály, ktoré potrebujeme na dosiahnutie nášho cieľa, obsahujú nasledujúce hardvérové komponenty:
1. HMC5883
2. Fotón častíc
3. Kábel I2C
4. I2C štít pre fotón častíc
Krok 2: Pripojenie hardvéru:
Časť zapojenia hardvéru v zásade vysvetľuje zapojenie potrebné medzi senzorom a fotónom častíc. Zabezpečenie správneho pripojenia je základnou potrebou pri práci na akomkoľvek systéme s požadovaným výstupom. Potrebné spojenia sú teda tieto:
HMC5883 bude fungovať cez I2C. Tu je príklad schémy zapojenia, ktorá ukazuje, ako prepojiť každé rozhranie snímača.
Hneď po vybalení je doska nakonfigurovaná na rozhranie I2C, preto vám toto pripojenie odporúčame použiť, ak ste inak agnostik. Všetko, čo potrebujete, sú štyri drôty!
Vyžadujú sa iba štyri pripojenia Vcc, Gnd, SCL a SDA piny, ktoré sú prepojené pomocou kábla I2C.
Tieto spojenia sú znázornené na obrázkoch vyššie.
Krok 3: Kód na meranie intenzity magnetického poľa:
Začnime teraz s časticovým kódom.
Pri použití senzorového modulu s Arduino zahrnujeme knižnicu application.h a spark_wiring_i2c.h. Knižnica "application.h" a spark_wiring_i2c.h obsahuje funkcie, ktoré uľahčujú i2c komunikáciu medzi senzorom a časticou.
Celý kód častíc je pre pohodlie užívateľa uvedený nižšie:
#zahrnúť
#zahrnúť
// Adresa I2C HMC5883 je 0x1E (30)
#define Addr 0x1E
int xMag = 0, yMag = 0, zMag = 0;
neplatné nastavenie ()
{
// Nastavenie premennej
Premenná častica ("i2cdevice", "HMC5883");
Particle.variable ("xMag", xMag);
Particle.variable ("yMag", yMag);
Particle.variable ("zMag", zMag);
// Inicializujte komunikáciu I2C ako MASTER
Wire.begin ();
// Inicializujte sériovú komunikáciu, nastavte prenosovú rýchlosť = 9600
Serial.begin (9600);
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Vyberte konfiguračný register A
Wire.write (0x00);
// Nastavte normálnu konfiguráciu merania, rýchlosť výstupu údajov = 0,75 Hz
Wire.write (0x60);
// Zastavte prenos I2C
Wire.endTransmission ();
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Vyberte režim Register
Wire.write (0x02);
// Nastavenie kontinuálneho merania
Wire.write (0x00);
// Zastavte prenos I2C
Wire.endTransmission ();
oneskorenie (300);
}
prázdna slučka ()
{
nepodpísané int údaje [6];
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Vyberte dátový register
Wire.write (0x03);
// Zastavte prenos I2C
Wire.endTransmission ();
// Požiadajte o 6 bajtov údajov
Wire.requestFrom (Addr, 6);
// Prečítajte 6 bajtov údajov
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
ak (Wire.available () == 6)
{
data [0] = Wire.read ();
údaje [1] = Wire.read ();
údaje [2] = Wire.read ();
údaje [3] = Wire.read ();
údaje [4] = Wire.read ();
údaje [5] = Wire.read ();
}
oneskorenie (300);
// Previesť údaje
xMag = ((údaje [0] * 256) + údaje [1]);
if (xMag> 32767)
{
xMag -= 65536;
}
zMag = ((údaje [2] * 256) + údaje [3]);
ak (zMag> 32767)
{
zMag -= 65536;
}
yMag = ((údaje [4] * 256) + údaje [5]);
if (yMag> 32767)
{
yMag -= 65536;
}
// Výstup údajov na informačný panel
Particle.publish ("Magnetické pole v osi X:", reťazec (xMag));
oneskorenie (1000);
Particle.publish („Magnetické pole v osi Y:“, reťazec (yMag));
oneskorenie (1000);
Particle.publish ("Magnetické pole v osi Z:", reťazec (zMag));
oneskorenie (1000);
}
Funkcia Particle.variable () vytvára premenné na ukladanie výstupu zo senzora a funkcia Particle.publish () zobrazuje výstup na palubnej doske webu.
Výstup senzora je pre vašu referenciu zobrazený na obrázku vyššie.
Krok 4: Aplikácie:
HMC5883 je viacčipový modul na povrchovú montáž určený na magnetické snímanie v nízkom poli s digitálnym rozhraním pre aplikácie, ako je nízkonákladový kompas a magnetometria. Jeho jeden až dva stupne presnosti a presnosti umožňujú navigáciu pre chodcov a aplikácie LBS.
Odporúča:
Meranie zrýchlenia pomocou ADXL345 a fotónu častíc: 4 kroky
Meranie zrýchlenia pomocou ADXL345 a časticového fotónu: ADXL345 je malý, tenký, ultra nízky výkon, 3-osový akcelerometer s meraním s vysokým rozlíšením (13-bit) až do ± 16 g. Digitálne výstupné údaje sú formátované ako 16-bitové dvojčatá a sú prístupné prostredníctvom digitálneho rozhrania I2 C. Meria
Meranie magnetického poľa pomocou HMC5883 a Raspberry Pi: 4 kroky
Meranie magnetického poľa pomocou HMC5883 a Raspberry Pi: HMC5883 je digitálny kompas určený na magnetické snímanie v nízkom poli. Toto zariadenie má široký rozsah magnetického poľa +/- 8 Oe a výstupnú frekvenciu 160 Hz. Senzor HMC5883 obsahuje ovládače popruhov na automatické odmontovanie, zrušenie ofsetu a
Meranie magnetického poľa pomocou HMC5883 a Arduino Nano: 4 kroky
Meranie magnetického poľa pomocou HMC5883 a Arduino Nano: HMC5883 je digitálny kompas určený na magnetické snímanie v nízkom poli. Toto zariadenie má široký rozsah magnetického poľa +/- 8 Oe a výstupnú frekvenciu 160 Hz. Senzor HMC5883 obsahuje ovládače popruhov na automatické odmontovanie, zrušenie ofsetu a
Meranie vlhkosti pomocou HYT939 a fotónu častíc: 4 kroky
Meranie vlhkosti pomocou fotónu HYT939 a časticového fotónu: HYT939 je digitálny snímač vlhkosti, ktorý pracuje na komunikačnom protokole I2C. Vlhkosť je kľúčovým parametrom, pokiaľ ide o lekárske systémy a laboratóriá, takže aby sme dosiahli tieto ciele, pokúsili sme sa prepojiť HYT939 s malinovou pi. Ja
Meranie zrýchlenia pomocou H3LIS331DL a fotónu častíc: 4 kroky
Meranie zrýchlenia pomocou H3LIS331DL a fotónu častíc: H3LIS331DL je nízkoenergetický vysokovýkonný 3-osový lineárny akcelerometer patriaci do rodiny „nano“s digitálnym sériovým rozhraním I²C. H3LIS331DL má užívateľsky voliteľné plné stupnice ± 100 g/± 200 g/± 400 g a je schopný merať zrýchlenia