Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-23 14:58
HMC5883 yra skaitmeninis kompasas, skirtas mažo lauko magnetiniam jutimui. Šis prietaisas turi platų magnetinio lauko diapazoną +/- 8 Oe ir išėjimo dažnį 160 Hz. „HMC5883“jutiklyje yra automatinio diržo šalinimo juostų tvarkyklės, poslinkio atšaukimas ir 12 bitų ADC, leidžiantis tikslumą nuo 1 ° iki 2 °. Visi „I²C“mini moduliai yra skirti veikti esant 5 V nuolatinei įtampai.
Šioje pamokoje mes paaiškinsime išsamų HMC5883 darbą su „Arduino nano“.
1 veiksmas: reikalinga aparatūra:
Medžiagos, reikalingos mūsų tikslui pasiekti, apima šiuos aparatūros komponentus:
1. HMC5883
2. „Arduino Nano“
3. I2C kabelis
4. I2C skydas „Arduino Nano“
2 veiksmas: prijungimas prie aparatūros:
Techninės įrangos prijungimo skyrius iš esmės paaiškina laidų jungtis, reikalingas tarp jutiklio ir „arduino nano“. Užtikrinti teisingas jungtis yra pagrindinė būtinybė dirbant su bet kuria norimos išvesties sistema. Taigi, būtinos jungtys yra šios:
HMC5883 veiks per I2C. Čia yra elektros instaliacijos schemos pavyzdys, parodantis, kaip prijungti kiekvieną jutiklio sąsają.
Iš karto plokštė sukonfigūruota I2C sąsajai, todėl rekomenduojame naudoti šį prijungimą, jei esate kitaip agnostikas. Viskas, ko jums reikia, yra keturi laidai!
Reikia tik keturių jungčių „Vcc“, „Gnd“, „SCL“ir „SDA“kaiščių, kurie yra prijungti naudojant I2C kabelį.
Šie ryšiai parodyti aukščiau esančiose nuotraukose.
3 žingsnis: „Arduino“kodas magnetinio lauko intensyvumui matuoti:
Pradėkime nuo „Arduino“kodo.
Naudodami jutiklio modulį su „Arduino“, įtraukiame „Wire.h“biblioteką. „Wire“bibliotekoje yra funkcijos, palengvinančios „i2c“ryšį tarp jutiklio ir „Arduino“plokštės.
Visas „Arduino“kodas pateiktas žemiau, kad būtų patogiau:
#įtraukti
// HMC5883 I2C adresas yra 0x1E (30)
#define Addr 0x1E
negaliojanti sąranka ()
{
// Inicijuoti I2C komunikaciją kaip MASTER
Wire.begin ();
// Inicijuoti serijinį ryšį, nustatyti duomenų perdavimo spartą = 9600
Serial.begin (9600);
// Pradėti I2C perdavimą
Wire.beginTransmission (Addr);
// Pasirinkite konfigūruoti registrą A
Wire.write (0x00);
// Nustatykite normalią matavimo konfigūraciją, duomenų išvesties sparta = 0,75 Hz
Wire.write (0x60);
// Sustabdyti I2C perdavimą
Wire.endTransmission ();
// Pradėti I2C perdavimą
Wire.beginTransmission (Addr);
// Pasirinkite režimo registrą
Wire.write (0x02);
// Nustatykite nuolatinį matavimą
Wire.write (0x00);
// Sustabdyti I2C perdavimą
Wire.endTransmission ();
vėlavimas (300);
}
tuštumos kilpa ()
{
nepasirašyti int duomenys [6];
// Pradėti I2C perdavimą
Wire.beginTransmission (Addr);
// Pasirinkite duomenų registrą
Wire.write (0x03);
// Sustabdyti I2C perdavimą
Wire.endTransmission ();
// Prašyti 6 baitų duomenų
Wire.requestFrom (Addr, 6);
// Perskaitykite 6 baitus duomenų
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
jei (Wire.available () == 6)
{
duomenys [0] = Wire.read ();
duomenys [1] = Wire.read ();
duomenys [2] = Wire.read ();
duomenys [3] = Wire.read ();
duomenys [4] = Wire.read ();
duomenys [5] = Wire.read ();
}
vėlavimas (300);
// Konvertuoti duomenis
int xMag = ((duomenys [0] * 256) + duomenys [1]);
int zMag = ((duomenys [2] * 256) + duomenys [3]);
int yMag = ((duomenys [4] * 256) + duomenys [5]);
// Duomenų išvedimas į serijinį monitorių
Serial.print ("Magnetinis laukas X ašyje:");
Serial.println (xMag);
Serial.print ("Magnetinis laukas Y ašyje:");
Serial.println (yMag);
Serial.print („Magnetinis laukas Z ašyje:“);
Serial.println (zMag);
vėlavimas (300);
}
Laidų bibliotekoje Wire.write () ir Wire.read () naudojami komandoms rašyti ir jutiklio išėjimui skaityti. Toliau pateikta kodo dalis iliustruoja jutiklio išvesties rodmenis.
// Skaityti 6 baitus duomenų // xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb if (Wire.available () == 6) {data [0] = Wire.read (); duomenys [1] = Wire.read (); duomenys [2] = Wire.read (); duomenys [3] = Wire.read (); duomenys [4] = Wire.read (); duomenys [5] = Wire.read (); }
Serial.print () ir Serial.println () naudojami jutiklio išėjimui rodyti „Arduino IDE“serijos monitoriuje.
Jutiklio išvestis parodyta aukščiau esančiame paveikslėlyje.
4 žingsnis: programos:
„HMC5883“yra ant paviršiaus montuojamas kelių lustų modulis, skirtas mažo lauko magnetiniam jutimui, turintis skaitmeninę sąsają, skirtą tokioms programoms kaip mažos kainos kompasavimas ir magnetometrija. Jo vieno ar dviejų laipsnių aukšto lygio tikslumas ir tikslumas leidžia navigaciją pėstiesiems ir LBS programas.
Rekomenduojamas:
Magnetinio lauko matavimas naudojant HMC5883 ir Raspberry Pi: 4 žingsniai
Magnetinio lauko matavimas naudojant HMC5883 ir Raspberry Pi: HMC5883 yra skaitmeninis kompasas, skirtas mažo lauko magnetiniam jutimui. Šis prietaisas turi platų magnetinio lauko diapazoną +/- 8 Oe ir išėjimo dažnį 160 Hz. „HMC5883“jutiklyje yra automatinio diržo šalinimo juostų tvarkyklės, poslinkio atšaukimas ir
Magnetinio lauko matavimas naudojant HMC5883 ir dalelių fotoną: 4 žingsniai
Magnetinio lauko matavimas naudojant HMC5883 ir dalelių fotoną: HMC5883 yra skaitmeninis kompasas, skirtas mažo lauko magnetiniam jutimui. Šis prietaisas turi platų magnetinio lauko diapazoną +/- 8 Oe ir išėjimo dažnį 160 Hz. „HMC5883“jutiklyje yra automatinio diržo šalinimo juostų tvarkyklės, poslinkio atšaukimas ir
Slėgio matavimas naudojant CPS120 ir „Arduino Nano“: 4 žingsniai
Slėgio matavimas naudojant CPS120 ir „Arduino Nano“: CPS120 yra aukštos kokybės ir nebrangus talpinis absoliutaus slėgio jutiklis su visiškai kompensuojama išvestimi. Jis sunaudoja labai mažai energijos ir susideda iš ypač mažo mikroelektromechaninio jutiklio (MEMS), skirto slėgiui matuoti. Sigma delta pagrindu
Pamoka: Kaip padaryti durų signalizaciją naudojant MC-18 magnetinio jungiklio jutiklio aliarmą: 3 žingsniai
Pamoka: Kaip padaryti durų signalizaciją naudojant MC-18 magnetinio jungiklio jutiklio aliarmą: Sveiki, vaikinai, aš padarysiu pamoką apie MC-18 magnetinio jungiklio jutiklio aliarmą, kuris veikia įprastai uždarytu režimu. Bet pirmiausia leiskite man jums paaiškinti trumpai tariant, ką reiškia paprastai uždaryti. Yra dviejų tipų režimai, paprastai atidaromi ir paprastai uždaromi
3 ašių magnetinio lauko jutiklis: 10 žingsnių (su nuotraukomis)
3 ašių magnetinio lauko jutiklis: Belaidės energijos perdavimo sistemos yra geros kelyje pakeisti įprastą laidinį įkrovimą. Nuo mažų biomedicinos implantų iki belaidžio įkrovimo milžiniškų elektrinių transporto priemonių. Neatsiejama belaidžio maitinimo tyrimų dalis yra