Përmbajtje:

Matja e Fushës Magnetike duke Përdorur HMC5883 dhe Foton Grimcash: 4 Hapa
Matja e Fushës Magnetike duke Përdorur HMC5883 dhe Foton Grimcash: 4 Hapa

Video: Matja e Fushës Magnetike duke Përdorur HMC5883 dhe Foton Grimcash: 4 Hapa

Video: Matja e Fushës Magnetike duke Përdorur HMC5883 dhe Foton Grimcash: 4 Hapa
Video: 194K Lenda dhe dendesia 2024, Korrik
Anonim
Image
Image

HMC5883 është një busull dixhitale e krijuar për sensimin magnetik të fushës së ulët. Kjo pajisje ka një gamë të gjerë të fushës magnetike +/- 8 Oe dhe një normë dalëse prej 160 Hz. Sensori HMC5883 përfshin drejtues automatik të rripit të degausimit, anulim të kompensuar dhe një ADC 12-bit që mundëson saktësinë e drejtimit të busullës 1 ° deri në 2 °. Të gjithë Mini Modulet I²C janë krijuar për të funksionuar në 5VDC.

Në këtë tutorial, ne do të shpjegojmë punën e detajuar të HMC5883 me foton grimcë. Fotoni i grimcave është një tabelë që lehtëson dërgimin dhe marrjen e të dhënave nga faqja e internetit, që mbështet funksionin më themelor të Internet Of Things (IoT).

Hapi 1: Kërkohet harduer:

Kërkohet harduer
Kërkohet harduer
Kërkohet harduer
Kërkohet harduer
Kërkohet harduer
Kërkohet harduer

Materialet që na duhen për të arritur qëllimin tonë përfshijnë përbërësit e mëposhtëm të harduerit:

1. HMC5883

2. Fotoni i grimcave

3. Kabllo I2C

4. Mburoja I2C për fotonin e grimcave

Hapi 2: Bashkimi i harduerit:

Lidhja e harduerit
Lidhja e harduerit
Lidhja e harduerit
Lidhja e harduerit

Seksioni i lidhjes së harduerit në thelb shpjegon lidhjet e telave të kërkuara midis sensorit dhe fotonit të grimcave. Sigurimi i lidhjeve të sakta është nevoja themelore gjatë punës në çdo sistem për daljen e dëshiruar. Pra, lidhjet e nevojshme janë si më poshtë:

HMC5883 do të funksionojë mbi I2C. Këtu është shembulli i diagramit të instalimeve elektrike, duke demonstruar se si të lidhni secilën ndërfaqe të sensorit.

Jashtë kutisë, bordi është i konfiguruar për një ndërfaqe I2C, si i tillë ne rekomandojmë përdorimin e këtij bashkimi nëse përndryshe jeni agnostik. Gjithçka që ju nevojitet janë katër tela!

Vetëm katër lidhje kërkohen kunjat Vcc, Gnd, SCL dhe SDA dhe këto janë të lidhura me ndihmën e kabllit I2C.

Këto lidhje demonstrohen në fotot e mësipërme.

Hapi 3: Kodi për të matur intensitetin e fushës magnetike:

Kodi për të matur intensitetin e fushës magnetike
Kodi për të matur intensitetin e fushës magnetike

Le të fillojmë me kodin e grimcave tani.

Ndërsa përdorim modulin e sensorit me Arduino, ne përfshijmë bibliotekën application.h dhe spark_wiring_i2c.h. Biblioteka "application.h" dhe spark_wiring_i2c.h përmban funksione të cilat lehtësojnë komunikimin i2c midis sensorit dhe grimcës.

I gjithë kodi i grimcave është dhënë më poshtë për lehtësinë e përdoruesit:

#përfshi

#përfshi

// Adresa HMC5883 I2C është 0x1E (30)

#përcaktoni Addr 0x1E

int xMag = 0, yMag = 0, zMag = 0;

void setup ()

{

// Vendos ndryshoren

Particle.variable ("i2cdevice", "HMC5883");

Particle.variable ("xMag", xMag);

Particle.variable ("yMag", yMag);

Particle.variable ("zMag", zMag);

// Filloni komunikimin I2C si MASTER

Wire.begin ();

// Filloni Komunikimin Serial, vendosur normën e baudit = 9600

Serial.filloj (9600);

// Filloni Transmetimin I2C

Wire.beginTransmetimi (Addr);

// Zgjidh konfigurimin e regjistrit A

Wire.write (0x00);

// Vendosni konfigurimin normal të matjes, shkalla e daljes së të dhënave = 0.75Hz

Wire.write (0x60);

// Ndaloni Transmetimin I2C

Wire.endTransmission ();

// Filloni Transmetimin I2C

Wire.beginTransmetimi (Addr);

// Zgjidh Regjistrin e modalitetit

Wire.write (0x02);

// Vendosni matjen e vazhdueshme

Wire.write (0x00);

// Ndaloni Transmetimin I2C

Wire.endTransmission ();

vonesë (300);

}

lak void ()

{

të dhëna int të panënshkruara [6];

// Filloni Transmetimin I2C

Wire.beginTransmetimi (Addr);

// Zgjidh regjistrin e të dhënave

Wire.write (0x03);

// Ndaloni Transmetimin I2C

Wire.endTransmission ();

// Kërkoni 6 bajt të dhëna

Tela. Kërkohet Nga (Addr, 6);

// Lexoni 6 bajt të dhëna

// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb

nëse (Wire. në dispozicion () == 6)

{

të dhëna [0] = Wire.read ();

të dhëna [1] = Wire.read ();

të dhëna [2] = Wire.read ();

të dhëna [3] = Wire.read ();

të dhëna [4] = Wire.read ();

të dhëna [5] = Wire.read ();

}

vonesë (300);

// Shndërroni të dhënat

xMag = ((të dhënat [0] * 256) + të dhënat [1]);

nëse (xMag> 32767)

{

xMag -= 65536;

}

zMag = ((të dhënat [2] * 256) + të dhënat [3]);

nëse (zMag> 32767)

{

zMag -= 65536;

}

yMag = ((të dhënat [4] * 256) + të dhënat [5]);

nëse (yMag> 32767)

{

yMag -= 65536;

}

// Dalja e të dhënave në pult

Particle.publish ("Fusha magnetike në boshtin X:", String (xMag));

vonesa (1000);

Particle.publish ("Fusha Magnetike në Boshtin Y:", String (yMag));

vonesa (1000);

Particle.publish ("Fusha Magnetike në Boshtin Z:", String (zMag));

vonesa (1000);

}

Funksioni Particle.variable () krijon variablat për të ruajtur daljen e sensorit dhe funksioni Particle.publish () shfaq daljen në pultin e faqes.

Dalja e sensorit tregohet në figurën e mësipërme për referencën tuaj.

Hapi 4: Aplikimet:

Aplikimet
Aplikimet

HMC5883 është një modul i montuar në sipërfaqe, me shumë çipa i krijuar për sensimin magnetik të fushës së ulët me një ndërfaqe dixhitale për aplikime të tilla si busullimi me kosto të ulët dhe magnetometria. Saktësia dhe saktësia e tij një deri në dy shkallë mundëson navigimin e këmbësorëve dhe aplikimet LBS.

Recommended: