
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 Arduino nano.
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. Arduino Nano
3. I2C kabelis
4. I2C vairogs Arduino Nano
2. darbība. Aparatūras savienošana:


Aparatūras savienošanas sadaļa pamatā izskaidro nepieciešamos vadu savienojumus starp sensoru un arduino nano. 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: Arduino kods magnētiskā lauka intensitātes mērīšanai:


Sāksim ar Arduino kodu tūlīt.
Izmantojot sensoru moduli ar Arduino, mēs iekļaujam Wire.h bibliotēku. "Wire" bibliotēkā ir funkcijas, kas atvieglo i2c komunikāciju starp sensoru un Arduino plati.
Viss Arduino kods lietotāja ērtībai ir norādīts zemāk:
#iekļaut
// HMC5883 I2C adrese ir 0x1E (30)
#define Addr 0x1E
anulēts iestatījums ()
{
// 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
int xMag = ((dati [0] * 256) + dati [1]);
int zMag = ((dati [2] * 256) + dati [3]);
int yMag = ((dati [4] * 256) + dati [5]);
// Izvadiet datus uz seriālo monitoru
Serial.print ("Magnētiskais lauks X-asī:");
Serial.println (xMag);
Serial.print ("Magnētiskais lauks Y-asī:");
Serial.println (yMag);
Serial.print ("Magnētiskais lauks Z-asī:");
Serial.println (zMag);
kavēšanās (300);
}
Vadu bibliotēkā Wire.write () un Wire.read () tiek izmantotas komandu rakstīšanai un sensora izejas nolasīšanai. Sekojošā koda daļa ilustrē sensora izejas nolasījumu.
// Lasīt 6 baitus datu // xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb if (Wire.available () == 6) {data [0] = Wire.read (); dati [1] = Wire.read (); dati [2] = Wire.read (); dati [3] = Wire.read (); dati [4] = Wire.read (); dati [5] = Wire.read (); }
Serial.print () un Serial.println () tiek izmantoti, lai parādītu sensora izvadi Arduino IDE sērijas monitorā.
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:
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 daļiņu fotonu: 4 soļi

Magnētiskā lauka mērīšana, izmantojot HMC5883 un daļiņu fotonu: 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
Spiediena mērīšana, izmantojot CPS120 un Arduino Nano: 4 soļi

Spiediena mērīšana, izmantojot CPS120 un Arduino Nano: CPS120 ir augstas kvalitātes un lēts kapacitatīvs absolūtā spiediena sensors ar pilnībā kompensētu jaudu. Tas patērē ļoti maz enerģijas un sastāv no īpaši maza mikroelektromehāniskā sensora (MEMS) spiediena mērīšanai. Uz sigma-delta bāzes
Temperatūras mērīšana, izmantojot STS21 un Arduino Nano: 4 soļi

Temperatūras mērīšana, izmantojot STS21 un Arduino Nano: STS21 digitālais temperatūras sensors piedāvā izcilu veiktspēju un vietu taupošu nospiedumu. Tas nodrošina kalibrētus, linearizētus signālus digitālā, I2C formātā. Šī sensora izgatavošana ir balstīta uz CMOSens tehnoloģiju, kas izcilākajam piešķir
3 asu magnētiskā lauka sensors: 10 soļi (ar attēliem)

Trīs asu magnētiskā lauka sensors: Bezvadu jaudas pārneses sistēmas ir labs veids, kā aizstāt parasto vadu uzlādi. No maziem biomedicīnas implantiem līdz milzīgu elektrisko transportlīdzekļu bezvadu uzlādēšanai. Bezvadu strāvas izpētes neatņemama sastāvdaļa ir