Turinys:
- 1 veiksmas: reikalinga aparatūra:
- 2 veiksmas: prijungimas prie aparatūros:
- 3 žingsnis: magnetinio lauko intensyvumo matavimo kodas:
- 4 žingsnis: programos:
Video: Magnetinio lauko matavimas naudojant HMC5883 ir dalelių fotoną: 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 dalelių fotonu. Dalelių fotonas yra plokštė, palengvinanti duomenų siuntimą ir gavimą iš svetainės, kuri palaiko pagrindinę daiktų interneto (IoT) funkciją.
1 veiksmas: reikalinga aparatūra:
Medžiagos, reikalingos mūsų tikslui pasiekti, apima šiuos aparatūros komponentus:
1. HMC5883
2. Dalelių fotonas
3. I2C kabelis
4. I2C skydas dalelių fotonui
2 veiksmas: prijungimas prie aparatūros:
Techninės įrangos prijungimo skyrius iš esmės paaiškina laidų jungtis, reikalingas tarp jutiklio ir dalelių fotono. 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: magnetinio lauko intensyvumo matavimo kodas:
Pradėkime nuo dalelių kodo dabar.
Naudodami jutiklio modulį su „Arduino“, įtraukiame „application.h“ir „spark_wiring_i2c.h“biblioteką. Bibliotekoje „application.h“ir spark_wiring_i2c.h yra funkcijos, palengvinančios i2c ryšį tarp jutiklio ir dalelės.
Visas dalelių kodas pateikiamas žemiau, kad būtų patogiau vartotojui:
#įtraukti
#įtraukti
// HMC5883 I2C adresas yra 0x1E (30)
#define Addr 0x1E
int xMag = 0, yMag = 0, zMag = 0;
negaliojanti sąranka ()
{
// Nustatyti kintamąjį
Particle.variable ("i2cdevice", "HMC5883");
Particle.variable ("xMag", xMag);
Particle.variable ("yMag", yMag);
Dalelių.kintamasis ("zMag", zMag);
// 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
xMag = ((duomenys [0] * 256) + duomenys [1]);
jei (xMag> 32767)
{
xMag -= 65536;
}
zMag = ((duomenys [2] * 256) + duomenys [3]);
jei (zMag> 32767)
{
zMag -= 65536;
}
yMag = ((duomenys [4] * 256) + duomenys [5]);
jei (yMag> 32767)
{
yMag -= 65536;
}
// Išvesti duomenis į prietaisų skydelį
Particle.publish ("Magnetinis laukas X ašyje:", eilutė (xMag));
vėlavimas (1000);
Particle.publish ("Magnetinis laukas Y ašyje:", eilutė (yMag));
vėlavimas (1000);
Particle.publish ("Magnetinis laukas Z ašyje:", eilutė (zMag));
vėlavimas (1000);
}
Funkcija „Particle.variable ()“sukuria kintamuosius, kad išsaugotų jutiklio išvestį, o „Particle.publish“() rodo išvestį svetainės prietaisų skydelyje.
Jutiklio išvestis yra 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:
Pagreičio matavimas naudojant ADXL345 ir dalelių fotoną: 4 žingsniai
Pagreičio matavimas naudojant ADXL345 ir dalelių fotoną: ADXL345 yra mažas, plonas, itin mažos galios 3 ašių akselerometras, kurio didelės skiriamosios gebos (13 bitų) matavimas yra iki ± 16 g. Skaitmeniniai išvesties duomenys yra suformatuoti kaip 16 bitų du papildymai ir yra prieinami per I2 C skaitmeninę sąsają. Tai matuoja
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 „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
Drėgmės matavimas naudojant HYT939 ir dalelių fotoną: 4 žingsniai
Drėgmės matavimas naudojant HYT939 ir dalelių fotoną: HYT939 yra skaitmeninis drėgmės jutiklis, veikiantis pagal I2C ryšio protokolą. Drėgmė yra pagrindinis parametras, kai kalbama apie medicinos sistemas ir laboratorijas, todėl, siekdami šių tikslų, mes bandėme sujungti HYT939 su aviečių pi. Aš
Pagreičio matavimas naudojant H3LIS331DL ir dalelių fotoną: 4 žingsniai
Pagreičio matavimas naudojant H3LIS331DL ir dalelių fotoną: H3LIS331DL yra mažos galios didelio našumo 3 ašių linijinis akselerometras, priklausantis „nano“šeimai, su skaitmenine I²C nuoseklia sąsaja. „H3LIS331DL“naudotojas gali pasirinkti visas ± 100 g/± 200 g/± 400 g skalę ir gali išmatuoti pagreitį