Përmbajtje:
- Hapi 1: Kërkohet harduer:
- Hapi 2: Bashkimi i harduerit:
- Hapi 3: Kodi Java për të matur intensitetin e fushës magnetike:
- Hapi 4: Aplikimet:
Video: Matja e fushës magnetike duke përdorur HMC5883 dhe Raspberry Pi: 4 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
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 Raspberry pi dhe programimin e tij duke përdorur gjuhën e programimit java.
Hapi 1: Kërkohet harduer:
Pajisjet kompjuterike që kërkohen për të kryer detyrën janë si më poshtë:
1. HMC5883
2. Raspberry Pi
3. Kabllo I2C
4. Mburoja I2C Për Raspberry Pi
5. Kabllo Ethernet
Hapi 2: Bashkimi i harduerit:
Seksioni i lidhjes së harduerit në thelb shpjegon lidhjet e telave të kërkuara midis sensorit dhe mjedrës pi. 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 Java për të matur intensitetin e fushës magnetike:
Avantazhi i përdorimit të mjedrës pi është, që ju siguron fleksibilitetin e gjuhës programuese në të cilën dëshironi të programoni bordin në mënyrë që të ndërlidhni sensorin me të. Duke shfrytëzuar këtë avantazh të këtij bordi, ne po demonstrojmë këtu se është duke programuar në Java. Kodi java për HMC5883 mund të shkarkohet nga komuniteti ynë github që është Dyqani Dcube.
Si dhe për lehtësinë e përdoruesve, ne po shpjegojmë kodin edhe këtu:
Si hapi i parë i kodimit, duhet të shkarkoni bibliotekën pi4j në rast java, sepse kjo bibliotekë mbështet funksionet e përdorura në kod. Pra, për të shkarkuar bibliotekën mund të vizitoni lidhjen e mëposhtme:
pi4j.com/install.html
Ju gjithashtu mund të kopjoni kodin java të punës për këtë sensor nga këtu:
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
mport com.pi4j.io.i2c. I2CFactory;
import java.io. IOException; klasë publike HMC5883
{
public static void main (String args ) hedh Exception
{
// Krijo autobus I2C
Bus I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);
// Merrni pajisjen I2C, adresa HMC5883 I2C është 0x1E (30)
Pajisja I2CDevice = Bus.getDevice (0x1E);
// Zgjidhni regjistrin e konfigurimit A
// Konfigurimi normal i matjes, shpejtësia e të dhënave o/p = 0.75 Hz
pajisje.shkruaj (0x00, (bajt) 0x60);
// Zgjidh Regjistrin e modalitetit
// Mënyra e matjes së vazhdueshme
pajisje.shkruaj (0x02, (bajt) 0x00);
Thread.sleep (500);
// Lexoni 6 bajt të dhëna nga 0x03 (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
bajt të dhëna = bajt i ri [6];
pajisje.lexoni (0x03, të dhëna, 0, 6);
// Shndërroni të dhënat
int xMag = ((të dhënat [0] & 0xFF) * 256 + (të dhënat [1] & 0xFF));
nëse (xMag> 32767)
{
xMag -= 65536;
}
int zMag = ((të dhënat [2] & 0xFF) * 256 + (të dhënat [3] & 0xFF));
nëse (zMag> 32767)
{
zMag -= 65536;
}
int yMag = ((të dhënat [4] & 0xFF) * 256 + (të dhënat [5] & 0xFF));
nëse (yMag> 32767)
{
yMag -= 65536;
}
// Dalja e të dhënave në ekran
System.out.printf ("Fusha magnetike në boshtin X: %d %n", xMag);
System.out.printf ("Fusha magnetike në Boshtin Y: %d %n", yMag);
System.out.printf ("Fusha magnetike në Boshtin Z: %d %n", zMag);
}
}
Funksionet e shkrimit () dhe leximit () përdoren për të shkruar komandat dhe lexuar përkatësisht daljen e sensorit. Pjesa e mëposhtme ilustron leximin e vlerave të fushës magnetike.
// Lexoni 6 bajt të dhëna nga 0x03 (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
bajt të dhëna = bajt i ri [6];
pajisje.lexoni (0x03, të dhëna, 0, 6);
Prodhimi tregohet në figurën e mësipërme.
Hapi 4: 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:
Matja e fushës magnetike duke përdorur HMC5883 dhe Arduino Nano: 4 hapa
Matja e Fushës Magnetike duke përdorur HMC5883 dhe Arduino Nano: 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ë çlirimit, anulim të kompensuar dhe një
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: 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ë çlirimit, anulim të kompensuar dhe një
Matja e lagështisë dhe temperaturës duke përdorur HTS221 dhe Raspberry Pi: 4 hapa
Matja e lagështisë dhe temperaturës duke përdorur HTS221 dhe Raspberry Pi: HTS221 është një sensor dixhital ultra kompakt kapacitiv për lagështinë dhe temperaturën relative. Ai përfshin një element ndijues dhe një qark të integruar specifik të aplikimit të sinjalit të përzier (ASIC) për të siguruar informacionin e matjes përmes serialit dixhital
Matja e lagështisë dhe temperaturës duke përdorur HIH6130 dhe Raspberry Pi: 4 hapa
Matja e lagështisë dhe temperaturës duke përdorur HIH6130 dhe Raspberry Pi: HIH6130 është një sensor lagështie dhe temperature me dalje dixhitale. Këta sensorë ofrojnë një nivel saktësie ± 4% RH. Me stabilitet afatgjatë udhëheqës të industrisë, I2C të vërtetë dixhitale të kompensuar nga temperatura, besueshmëri udhëheqëse në industri, efikasitet energjetik
Matja e temperaturës dhe lagështisë duke përdorur HDC1000 dhe Raspberry Pi: 4 hapa
Matja e Temperaturës dhe Lagështisë Duke Përdorur HDC1000 dhe Raspberry Pi: HDC1000 është një sensor dixhital i lagështisë me sensor të integruar të temperaturës që siguron saktësi të shkëlqyeshme të matjes me fuqi shumë të ulët. Pajisja mat lagështinë bazuar në një sensor të ri kapacitiv. Sensorët e lagështisë dhe temperaturës janë të dukshme