Turinys:
- 1 veiksmas: reikalinga aparatūra:
- 2 veiksmas: prijungimas prie aparatūros:
- 3 žingsnis: „Java“kodas magnetinio lauko intensyvumui matuoti:
- 4 žingsnis: programos:
Video: Magnetinio lauko matavimas naudojant HMC5883 ir Raspberry Pi: 4 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
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 „Raspberry pi“ir jo programavimą naudojant „Java“programavimo kalbą.
1 veiksmas: reikalinga aparatūra:
Techninė įranga, reikalinga užduočiai atlikti, yra tokia:
1. HMC5883
2. Raspberry Pi
3. I2C kabelis
4. „I2C Shield For Raspberry Pi“
5. Ethernet kabelis
2 veiksmas: prijungimas prie aparatūros:
Techninės įrangos prijungimo skyriuje iš esmės paaiškinamos reikalingos laidų jungtys tarp jutiklio ir aviečių pi. 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: „Java“kodas magnetinio lauko intensyvumui matuoti:
„Raspberry pi“naudojimo pranašumas yra tas, kad programavimo kalba, kuria norite programuoti plokštę, yra lanksti, kad būtų galima su ja susieti jutiklį. Pasinaudodami šiuo šios plokštės pranašumu, mes parodome, kad tai programavimas „Java“. „HMC5883“„Java“kodą galima atsisiųsti iš mūsų „Github“bendruomenės, kuri yra „Dcube Store“.
Be vartotojų patogumo, mes taip pat paaiškiname kodą čia:
Kaip pirmąjį kodavimo žingsnį, „Java“atveju turite atsisiųsti „pi4j“biblioteką, nes ši biblioteka palaiko kode naudojamas funkcijas. Taigi, norėdami atsisiųsti biblioteką, galite apsilankyti šioje nuorodoje:
pi4j.com/install.html
Taip pat galite nukopijuoti šio jutiklio darbinį „Java“kodą:
importuoti com.pi4j.io.i2c. I2CBus;
importuoti com.pi4j.io.i2c. I2CDevice;
mport com.pi4j.io.i2c. I2CFactory;
importuoti java.io. IOException; viešoji klasė HMC5883
{
public static void main (String args ) metimai Išimtis
{
// Sukurti I2C magistralę
I2CBus magistralė = I2CFactory.getInstance (I2CBus. BUS_1);
// Gauti I2C įrenginį, HMC5883 I2C adresas yra 0x1E (30)
I2CDevice device = Bus.getDevice (0x1E);
// Pasirinkite konfigūracijos registrą A
// Įprasta matavimo konfigūracija, duomenų perdavimo sparta o/p = 0,75 Hz
device.write (0x00, (baitas) 0x60);
// Pasirinkite režimo registrą
// Nuolatinio matavimo režimas
device.write (0x02, (baitas) 0x00);
Siūlai.miegoti (500);
// Perskaitykite 6 baitus duomenų iš 0x03 (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
baitas duomenys = naujas baitas [6];
device.read (0x03, duomenys, 0, 6);
// Konvertuoti duomenis
int xMag = ((duomenys [0] ir 0xFF) * 256 + (duomenys [1] ir 0xFF));
jei (xMag> 32767)
{
xMag -= 65536;
}
int zMag = ((duomenys [2] ir 0xFF) * 256 + (duomenys [3] ir 0xFF));
jei (zMag> 32767)
{
zMag -= 65536;
}
int yMag = ((duomenys [4] ir 0xFF) * 256 + (duomenys [5] ir 0xFF));
jei (yMag> 32767)
{
yMag -= 65536;
}
// Išvesti duomenis į ekraną
System.out.printf ("Magnetinis laukas X ašyje: %d %n", xMag);
System.out.printf ("Magnetinis laukas Y ašyje: %d %n", yMag);
System.out.printf ("Magnetinis laukas Z ašyje: %d %n", zMag);
}
}
Rašymo () ir skaitymo () funkcijos naudojamos komandoms rašyti ir jutiklio išėjimui skaityti. Tolesnė dalis iliustruoja magnetinio lauko reikšmių nuskaitymą.
// Perskaitykite 6 baitus duomenų iš 0x03 (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
baitas duomenys = naujas baitas [6];
device.read (0x03, duomenys, 0, 6);
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 „Arduino Nano“: 4 žingsniai
Magnetinio lauko matavimas naudojant HMC5883 ir Arduino Nano: 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
„Pasidaryk pats“žemos įtampos lauko apšvietimas, valdomas naudojant „Raspberry Pi“: 11 žingsnių (su nuotraukomis)
Pasidaryk pats žemos įtampos lauko apšvietimas, valdomas naudojant „Raspberry Pi“: kodėl? Turiu pripažinti, kad, kaip ir daugelis kitų, esu didelis daiktų interneto (arba daiktų interneto) gerbėjas. Aš taip pat vis dar pavargau prijungti visas savo šviesas, prietaisus, priekines duris, garažo duris ir kas žino, kas dar prie veikiamo interneto. Ypač su tokiais renginiais kaip
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