
Satura rādītājs:
2025 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2025-01-23 14:59


HMC5883 ir digitālais kompass, kas paredzēts zema lauka magnētiskajai uztveršanai. Šai ierīcei ir plašs magnētiskā lauka diapazons +/- 8 Oe un izejas ātrums 160 Hz. HMC5883 sensora komplektā ietilpst automātiskie atdalīšanas siksnu draiveri, nobīdes atcelšana un 12 bitu ADC, kas nodrošina 1 līdz 2 ° kompasa virziena precizitāti. Visi I²C mini moduļi ir paredzēti darbam pie 5 V līdzstrāvas.
Šajā apmācībā mēs izskaidrosim detalizētu HMC5883 darbību ar daļiņu fotonu. Daļiņu fotons ir tāfele, kas atvieglo datu sūtīšanu un saņemšanu no vietnes, kas atbalsta lietu interneta (IoT) pamatfunkciju.
1. darbība. Nepieciešamā aparatūra:



Materiāli, kas nepieciešami mūsu mērķa sasniegšanai, ietver šādas aparatūras sastāvdaļas:
1. HMC5883
2. Daļiņu fotons
3. I2C kabelis
4. I2C vairogs daļiņu fotonam
2. darbība. Aparatūras savienošana:


Aparatūras savienošanas sadaļa pamatā izskaidro nepieciešamos vadu savienojumus starp sensoru un daļiņu fotonu. Pareizu savienojumu nodrošināšana ir pamatvajadzība, strādājot pie jebkuras sistēmas vēlamajam rezultātam. Tātad nepieciešamie savienojumi ir šādi:
HMC5883 darbosies, izmantojot I2C. Šeit ir elektroinstalācijas shēmas piemērs, kas parāda, kā savienot katru sensora saskarni.
Izņemot komplektu, tāfele ir konfigurēta I2C saskarnei, tāpēc mēs iesakām izmantot šo savienojumu, ja esat citādi agnostiķis. Viss, kas Jums nepieciešams, ir četri vadi!
Nepieciešami tikai četri savienojumi Vcc, Gnd, SCL un SDA, un tie ir savienoti, izmantojot I2C kabeli.
Šie savienojumi ir parādīti iepriekš redzamajos attēlos.
3. darbība: kods magnētiskā lauka intensitātes mērīšanai:

Sāksim ar daļiņu kodu tūlīt.
Izmantojot sensoru moduli ar Arduino, mēs iekļaujam bibliotēku application.h un spark_wiring_i2c.h. Bibliotēkā "application.h" un spark_wiring_i2c.h ir funkcijas, kas atvieglo i2c komunikāciju starp sensoru un daļiņu.
Viss daļiņu kods lietotāja ērtībai ir norādīts zemāk:
#iekļaut
#iekļaut
// HMC5883 I2C adrese ir 0x1E (30)
#define Addr 0x1E
int xMag = 0, yMag = 0, zMag = 0;
anulēts iestatījums ()
{
// Iestatīt mainīgo
Particle.variable ("i2cdevice", "HMC5883");
Particle.variable ("xMag", xMag);
Particle.variable ("yMag", yMag);
Particle.variable ("zMag", zMag);
// Inicializēt I2C komunikāciju kā MASTER
Wire.begin ();
// Inicializēt seriālo komunikāciju, iestatīt pārraides ātrumu = 9600
Sērijas sākums (9600);
// Sākt I2C pārraidi
Wire.beginTransmission (Addr);
// Atlasiet konfigurēt reģistru A
Wire.write (0x00);
// Iestatiet normālu mērījumu konfigurāciju, datu izvades ātrums = 0,75 Hz
Wire.write (0x60);
// Apturēt I2C pārraidi
Wire.endTransmission ();
// Sākt I2C pārraidi
Wire.beginTransmission (Addr);
// Izvēlieties režīma reģistru
Wire.write (0x02);
// Iestatīt nepārtrauktu mērīšanu
Wire.write (0x00);
// Apturēt I2C pārraidi
Wire.endTransmission ();
kavēšanās (300);
}
tukša cilpa ()
{
neparakstīti int dati [6];
// Sākt I2C pārraidi
Wire.beginTransmission (Addr);
// Atlasiet datu reģistru
Wire.write (0x03);
// Apturēt I2C pārraidi
Wire.endTransmission ();
// Pieprasīt 6 baitus datu
Wire.requestFrom (Addr, 6);
// Lasīt 6 baitus datu
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
ja (Wire.available () == 6)
{
dati [0] = Wire.read ();
dati [1] = Wire.read ();
dati [2] = Wire.read ();
dati [3] = Wire.read ();
dati [4] = Wire.read ();
dati [5] = Wire.read ();
}
kavēšanās (300);
// Konvertēt datus
xMag = ((dati [0] * 256) + dati [1]);
ja (xMag> 32767)
{
xMag -= 65536;
}
zMag = ((dati [2] * 256) + dati [3]);
ja (zMag> 32767)
{
zMag -= 65536;
}
yMag = ((dati [4] * 256) + dati [5]);
ja (yMag> 32767)
{
yMag -= 65536;
}
// Izvadiet datus informācijas panelī
Particle.publish ("Magnētiskais lauks X-asī:", String (xMag));
kavēšanās (1000);
Particle.publish ("Magnētiskais lauks Y-asī:", String (yMag));
kavēšanās (1000);
Particle.publish ("Magnētiskais lauks Z-asī:", String (zMag));
kavēšanās (1000);
}
Funkcija Particle.variable () izveido mainīgos, lai saglabātu sensora izvadi, un Particle.publish () funkcija parāda izvadi vietnes informācijas panelī.
Sensora izeja ir parādīta attēlā iepriekš.
4. darbība. Lietojumprogrammas:

HMC5883 ir uz virsmas piestiprināms vairāku mikroshēmu modulis, kas paredzēts zema lauka magnētiskai uztveršanai ar digitālo interfeisu tādiem lietojumiem kā zemu izmaksu kompasēšana un magnetometrija. Tā viena līdz divu grādu augsta līmeņa precizitāte un precizitāte nodrošina gājēju navigāciju un LBS lietojumprogrammas.
Ieteicams:
Paātrinājuma mērīšana, izmantojot ADXL345 un daļiņu fotonu: 4 soļi

Paātrinājuma mērīšana, izmantojot ADXL345 un daļiņu fotonu: ADXL345 ir mazs, plāns, īpaši zems jauda, 3 asu akselerometrs ar augstas izšķirtspējas (13 bitu) mērījumu līdz ± 16 g. Digitālie izvaddati tiek formatēti kā 16 bitu papildinājumi, un tie ir pieejami, izmantojot I2 C digitālo saskarni. Tas mēra
Magnētiskā lauka mērīšana, izmantojot HMC5883 un Raspberry Pi: 4 soļi

Magnētiskā lauka mērīšana, izmantojot HMC5883 un Raspberry Pi: HMC5883 ir digitāls kompass, kas paredzēts zema lauka magnētiskai uztveršanai. Šai ierīcei ir plašs magnētiskā lauka diapazons +/- 8 Oe un izejas ātrums 160 Hz. HMC5883 sensora komplektā ietilpst automātiskie atdalīšanas siksnu draiveri, nobīdes atcelšana un
Magnētiskā lauka mērīšana, izmantojot HMC5883 un Arduino Nano: 4 soļi

Magnētiskā lauka mērīšana, izmantojot HMC5883 un Arduino Nano: HMC5883 ir digitāls kompass, kas paredzēts zema lauka magnētiskai noteikšanai. Šai ierīcei ir plašs magnētiskā lauka diapazons +/- 8 Oe un izejas ātrums 160 Hz. HMC5883 sensora komplektā ietilpst automātiskie atdalīšanas siksnu draiveri, nobīdes atcelšana un
Mitruma mērīšana, izmantojot HYT939 un daļiņu fotonu: 4 soļi

Mitruma mērīšana, izmantojot HYT939 un daļiņu fotonu: HYT939 ir digitāls mitruma sensors, kas darbojas saskaņā ar I2C sakaru protokolu. Mitrums ir galvenais parametrs, kad runa ir par medicīnas sistēmām un laboratorijām, tāpēc, lai sasniegtu šos mērķus, mēs centāmies sasaistīt HYT939 ar aveņu pi. Es
Paātrinājuma mērīšana, izmantojot H3LIS331DL un daļiņu fotonu: 4 soļi

Paātrinājuma mērīšana, izmantojot H3LIS331DL un daļiņu fotonu: H3LIS331DL ir mazjaudas augstas veiktspējas 3 asu lineārs akselerometrs, kas pieder “nano” saimei, ar digitālo I²C sērijas interfeisu. H3LIS331DL ir lietotāja atlasītas pilnas skalas ± 100 g/± 200 g/± 400 g, un tas spēj izmērīt paātrinājumus