Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-23 15:12
Ang HMC5883 ay isang digital na kompas na dinisenyo para sa mababang patlang na pandama sa magnet. Ang aparatong ito ay may malawak na saklaw ng magnetic field na +/- 8 Oe at isang rate ng output na 160 Hz. Ang sensor ng HMC5883 ay may kasamang awtomatikong mga degaussing strap driver, offset na pagkansela, at isang 12-bit ADC na nagbibigay-daan sa katumpakan ng heading na 1 ° hanggang 2 °. Ang lahat ng mga Mini Module ng I²C ay idinisenyo upang mapatakbo sa 5VDC.
Sa tutorial na ito, ipapaliwanag namin ang detalyadong pagtatrabaho ng HMC5883 na may maliit na poton. Ang particle photon ay isang board na nangangasiwa sa pagpapadala at pagtanggap ng data mula sa website, na sumusuporta sa pinaka-pangunahing tampok ng Internet Of Things (IoT).
Hakbang 1: Kinakailangan ang Hardware:
Ang mga materyal na kailangan namin para makamit ang aming layunin ay may kasamang mga sumusunod na bahagi ng hardware:
1. HMC5883
2. Particle Photon
3. I2C Cable
4. I2C Shield para sa Photicle ng Particle
Hakbang 2: Hardware Hookup:
Karaniwang ipinapaliwanag ng seksyon ng hookup ng hardware ang mga koneksyon sa mga kable na kinakailangan sa pagitan ng sensor at ng particle foton. Ang pagtiyak sa tamang mga koneksyon ay ang pangunahing pangangailangan habang nagtatrabaho sa anumang system para sa nais na output. Kaya, ang mga kinakailangang koneksyon ay ang mga sumusunod:
Gagana ang HMC5883 sa paglipas ng I2C. Narito ang halimbawa ng diagram ng mga kable, na nagpapakita kung paano i-wire ang bawat interface ng sensor.
Sa labas ng kahon, naka-configure ang board para sa isang interface ng I2C, dahil inirerekumenda namin ang paggamit ng hookup na ito kung hindi ka agnostiko. Ang kailangan mo lang ay apat na wires!
Apat na koneksyon lamang ang kinakailangan ng Vcc, Gnd, SCL at SDA pin at ang mga ito ay konektado sa tulong ng I2C cable.
Ang mga koneksyon na ito ay ipinakita sa mga larawan sa itaas.
Hakbang 3: Code upang Sukatin ang Intensity ng Magnetic Field:
Magsimula tayo sa code ng maliit na butil ngayon.
Habang ginagamit ang module ng sensor sa Arduino, nagsasama kami ng application.h at spark_wiring_i2c.h library. Ang "application.h" at spark_wiring_i2c.h library ay naglalaman ng mga pagpapaandar na nagpapadali sa komunikasyon ng i2c sa pagitan ng sensor at ng maliit na butil.
Ang buong code ng maliit na butil ay ibinibigay sa ibaba para sa kaginhawaan ng gumagamit:
# isama
# isama
// HMC5883 I2C address ay 0x1E (30)
# tukuyin ang Addr 0x1E
int xMag = 0, yMag = 0, zMag = 0;
walang bisa ang pag-setup ()
{
// Itakda ang variable
Particle.variable ("i2cdevice", "HMC5883");
Particle.variable ("xMag", xMag);
Particle.variable ("yMag", yMag);
Particle.variable ("zMag", zMag);
// Initialise I2C na komunikasyon bilang MASTER
Wire.begin ();
// Initialise Serial Communication, itakda ang baud rate = 9600
Serial.begin (9600);
// Start I2C Transmission
Wire.beginTransmission (Addr);
// Piliin ang i-configure ang rehistro A
Wire.write (0x00);
// Itakda ang normal na pagsasaayos ng pagsukat, rate ng output ng data = 0.75Hz
Wire.write (0x60);
// Stop I2C Transmission
Wire.endTransmission ();
// Start I2C Transmission
Wire.beginTransmission (Addr);
// Select Mode register
Wire.write (0x02);
// Itakda ang tuluy-tuloy na pagsukat
Wire.write (0x00);
// Stop I2C Transmission
Wire.endTransmission ();
pagkaantala (300);
}
walang bisa loop ()
{
unsigned int data [6];
// Start I2C Transmission
Wire.beginTransmission (Addr);
// Piliin ang pagrehistro ng data
Wire.write (0x03);
// Stop I2C Transmission
Wire.endTransmission ();
// Humiling ng 6 bytes ng data
Wire.requestFrom (Addr, 6);
// Basahin ang 6 bytes ng data
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
kung (Wire.available () == 6)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
data [3] = Wire.read ();
data [4] = Wire.read ();
data [5] = Wire.read ();
}
pagkaantala (300);
// I-convert ang data
xMag = ((data [0] * 256) + data [1]);
kung (xMag> 32767)
{
xMag - = 65536;
}
zMag = ((data [2] * 256) + data [3]);
kung (zMag> 32767)
{
zMag - = 65536;
}
yMag = ((data [4] * 256) + data [5]);
kung (yMag> 32767)
{
yMag - = 65536;
}
// Output data sa dashboard
Particle.publish ("Magnetic Field sa X-Axis:", String (xMag));
pagkaantala (1000);
Particle.publish ("Magnetic Field sa Y-Axis:", String (yMag));
pagkaantala (1000);
Particle.publish ("Magnetic Field sa Z-Axis:", String (zMag));
pagkaantala (1000);
}
Ang function ng Particle.variable () ay lumilikha ng mga variable upang maiimbak ang output ng sensor at ipinapakita ng pagpapaandar ng Particle.publish () ang output sa dashboard ng site.
Ang output ng sensor ay ipinapakita sa larawan sa itaas para sa iyong sanggunian.
Hakbang 4: Mga Aplikasyon:
Ang HMC5883 ay isang pang-ibabaw, multi-chip module na dinisenyo para sa mababang patlang na magnetikong sensing na may isang digital interface para sa mga application tulad ng mababang gastos na kumpas at magnetometry. Ang isa hanggang dalawang degree na mataas na antas ng kawastuhan at katumpakan ay nagbibigay-daan sa Pedestrian Navigation at LBS Applications.
Inirerekumendang:
Pagsukat ng Pagpapabilis Gamit ang ADXL345 at Particle Photon: 4 na Hakbang
Pagsukat ng Acceleration Gamit ang ADXL345 at Particle Photon: Ang ADXL345 ay isang maliit, manipis, ultralow power, 3-axis accelerometer na may mataas na resolusyon (13-bit) na pagsukat hanggang sa ± 16 g. Ang data ng output ng digital ay na-format bilang 16-bit na twos komplemento at maa-access sa pamamagitan ng digital interface ng I2 C. Sinusukat ang
Pagsukat ng Magnetic Field Gamit ang HMC5883 at Raspberry Pi: 4 na Hakbang
Pagsukat ng Magnetic Field Gamit ang HMC5883 at Raspberry Pi: Ang HMC5883 ay isang digital na kompas na dinisenyo para sa mababang patlang na pag-sensing magnetiko. Ang aparatong ito ay may malawak na saklaw ng magnetic field na +/- 8 Oe at isang rate ng output na 160 Hz. Kasama sa sensor ng HMC5883 ang mga awtomatikong degaussing strap driver, offset na pagkansela, at isang
Pagsukat ng Magnetic Field Gamit ang HMC5883 at Arduino Nano: 4 na Hakbang
Pagsukat ng Magnetic Field Gamit ang HMC5883 at Arduino Nano: Ang HMC5883 ay isang digital na kompas na idinisenyo para sa mababang patlang na pag-sensing magnetiko. Ang aparatong ito ay may malawak na saklaw ng magnetic field na +/- 8 Oe at isang rate ng output na 160 Hz. Kasama sa sensor ng HMC5883 ang mga awtomatikong degaussing strap driver, offset na pagkansela, at isang
Pagsukat ng Humidity Gamit ang HYT939 at Particle Photon: 4 na Hakbang
Pagsukat sa Humidity Gamit ang HYT939 at Particle Photon: HYT939 ay isang digital na sensor ng halumigmig na gumagana sa I2C na komunikasyon na proteksyon. Ang kahalumigmigan ay isang pangunahing parameter pagdating sa mga sistemang medikal at mga laboratoryo, Kaya upang makamit ang mga layuning ito sinubukan naming i-interface ang HYT939 sa raspberry pi. Ako
Pagsukat ng Pagpapabilis Gamit ang H3LIS331DL at Particle Photon: 4 na Hakbang
Pagsukat ng Pagpapabilis Gamit ang H3LIS331DL at Particle Photon: H3LIS331DL, ay isang mababang lakas na pagganap ng 3-axis linear accelerometer na kabilang sa pamilyang "nano", na may digital I serial na serial interface. Ang H3LIS331DL ay maaaring mapili ng gumagamit ng buong kaliskis na ± 100g / ± 200g / ± 400g at may kakayahang sukatin ang mga pagpabilis