Obsah:
- Krok 1: Potrebný hardvér:
- Krok 2: Pripojenie hardvéru:
- Krok 3: Arduino kód na meranie intenzity magnetického poľa:
- Krok 4: Aplikácie:
Video: Meranie magnetického poľa pomocou HMC5883 a Arduino Nano: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:56
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 detailné fungovanie HMC5883 s Arduino nano.
Krok 1: Potrebný hardvér:
Materiály, ktoré potrebujeme na dosiahnutie nášho cieľa, obsahujú nasledujúce hardvérové komponenty:
1. HMC5883
2. Arduino Nano
3. Kábel I2C
4. I2C štít pre Arduino Nano
Krok 2: Pripojenie hardvéru:
Časť zapojenia hardvéru v zásade vysvetľuje zapojenie potrebné medzi senzorom a arduino nano. 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: Arduino kód na meranie intenzity magnetického poľa:
Začnime teraz kódom Arduino.
Pri použití senzorového modulu s Arduinom obsahuje knižnicu Wire.h. Knižnica „Wire“obsahuje funkcie, ktoré uľahčujú komunikáciu i2c medzi senzorom a doskou Arduino.
Celý kód Arduino je pre pohodlie užívateľa uvedený nižšie:
#zahrnúť
// Adresa I2C HMC5883 je 0x1E (30)
#define Addr 0x1E
neplatné nastavenie ()
{
// 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
int xMag = ((údaje [0] * 256) + údaje [1]);
int zMag = ((údaje [2] * 256) + údaje [3]);
int yMag = ((údaje [4] * 256) + údaje [5]);
// Výstup údajov na sériový monitor
Serial.print ("Magnetické pole v osi X:");
Serial.println (xMag);
Serial.print ("Magnetické pole v osi Y:");
Serial.println (yMag);
Serial.print ("Magnetické pole v osi Z:");
Serial.println (zMag);
oneskorenie (300);
}
V knižnici drôtov Wire.write () a Wire.read () sa používajú na zápis príkazov a čítanie výstupu snímača. Nasledujúca časť kódu ilustruje čítanie výstupu senzora.
// Prečítajte 6 bajtov dát // xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb if (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 (); }
Serial.print () a Serial.println () sa používa na zobrazenie výstupu senzora na sériovom monitore Arduino IDE.
Výstup senzora je 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 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 fotónu častíc: 4 kroky
Meranie magnetického poľa pomocou HMC5883 a fotónu častíc: 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 tlaku pomocou CPS120 a Arduino Nano: 4 kroky
Meranie tlaku pomocou CPS120 a Arduino Nano: CPS120 je vysokokvalitný a nízkonákladový kapacitný snímač absolútneho tlaku s plne kompenzovaným výstupom. Spotrebuje veľmi málo energie a pozostáva z ultra malého mikroelektronického mechanického senzora (MEMS) na meranie tlaku. Sigma-delta založená
Meranie teploty pomocou STS21 a Arduino Nano: 4 kroky
Meranie teploty pomocou STS21 a Arduino Nano: Digitálny teplotný senzor STS21 ponúka vynikajúci výkon a priestorovo úspornú stopu. Poskytuje kalibrované linearizované signály v digitálnom formáte I2C. Výroba tohto senzora je založená na technológii CMOSens, ktorá pripisuje vynikajúcemu
3-osý snímač magnetického poľa: 10 krokov (s obrázkami)
3-osý snímač magnetického poľa: Bezdrôtové systémy prenosu energie sú na dobrej ceste nahradiť konvenčné káblové nabíjanie. Od malých biomedicínskych implantátov až po bezdrôtové nabíjanie veľkých elektrických vozidiel. Neoddeliteľnou súčasťou výskumu bezdrôtového napájania je