Mündəricat:
- Addım 1: Lazım olan avadanlıq:
- Addım 2: Hardware Bağlantısı:
- Addım 3: Maqnit sahəsinin intensivliyini ölçmək üçün Java kodu:
- Addım 4: Tətbiqlər:
Video: HMC5883 və Raspberry Pi istifadə edərək maqnit sahəsinin ölçülməsi: 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
HMC5883, aşağı sahə maqnit algılaması üçün hazırlanmış rəqəmsal bir kompasdır. Bu cihaz +/- 8 Oe geniş bir maqnit sahəsinə və 160 Hz çıxış sürətinə malikdir. HMC5883 sensoru, avtomatik degaussing kəmər sürücülərini, ofset ləğvini və 1 ° -dən 2 ° -ə qədər kompas başlığı dəqiqliyini təmin edən 12-bit ADC-ni ehtiva edir. Bütün I²C Mini Modulları 5VDC -də işləmək üçün nəzərdə tutulmuşdur.
Bu təlimatda, Raspberry pi ilə HMC5883 -ün ətraflı işini və java proqramlaşdırma dilindən istifadə edərək proqramlaşdırmasını izah edəcəyik.
Addım 1: Lazım olan avadanlıq:
Tapşırığı yerinə yetirmək üçün lazım olan avadanlıq aşağıdakı kimidir:
1. HMC5883
2. Moruq Pi
3. I2C Kabeli
4. Raspberry Pi üçün I2C Shield
5. Ethernet Kabeli
Addım 2: Hardware Bağlantısı:
Avadanlıq bağlama bölməsi əsasən sensor və moruq pi arasında lazım olan tel əlaqələrini izah edir. İstənilən çıxış üçün hər hansı bir sistem üzərində işləyərkən düzgün əlaqələrin təmin edilməsi əsas zərurətdir. Beləliklə, zəruri əlaqələr aşağıdakılardır:
HMC5883 I2C üzərində işləyəcək. Sensorun hər bir interfeysini necə bağlayacağınızı göstərən nümunə naqillər diaqramı.
Qutudan kənarda, lövhə I2C interfeysi üçün konfiqurasiya olunmuşdur, buna görə də başqa cür agnostiksinizsə bu əlaqəni istifadə etməyi məsləhət görürük. Lazım olan tək şey dörd teldir!
Vcc, Gnd, SCL və SDA pinləri üçün yalnız dörd əlaqə lazımdır və bunlar I2C kabelinin köməyi ilə bağlanır.
Bu əlaqələr yuxarıdakı şəkillərdə göstərilmişdir.
Addım 3: Maqnit sahəsinin intensivliyini ölçmək üçün Java kodu:
Moruq pi istifadə etmənin üstünlüyü, sensoru onunla əlaqələndirmək üçün lövhəni proqramlaşdırmaq istədiyiniz proqramlaşdırma dilinin rahatlığını təmin edir. Bu lövhənin bu üstünlüyündən istifadə edərək burada Java dilində proqramlaşdırdığını nümayiş etdiririk. HMC5883 üçün java kodunu Dcube Mağazası olan github cəmiyyətimizdən yükləyə bilərsiniz.
İstifadəçilərin rahatlığı üçün, kodu da burada izah edirik:
Kodlaşdırmanın ilk addımı olaraq java vəziyyətində pi4j kitabxanasını yükləməlisiniz, çünki bu kitabxana kodda istifadə olunan funksiyaları dəstəkləyir. Beləliklə, kitabxananı yükləmək üçün aşağıdakı linkə daxil ola bilərsiniz:
pi4j.com/install.html
Bu sensor üçün işləyən java kodunu buradan da kopyalaya bilərsiniz:
com.pi4j.io.i2c. I2CBus idxal edin;
com.pi4j.io.i2c. I2CDevice idxal edin;
mport com.pi4j.io.i2c. I2CFactory;
java.io. IOException idxal edin; ümumi sinif HMC5883
{
public static void main (String args ) İstisna atır
{
// I2C avtobusu yaradın
I2CBus Avtobus = I2CFactory.getInstance (I2CBus. BUS_1);
// I2C cihazı alın, HMC5883 I2C ünvanı 0x1E (30)
I2CDevice cihazı = Bus.getDevice (0x1E);
// Konfiqurasiya reyestrini seçin A
// Normal ölçü konfiqurasiyası, məlumat sürəti o/p = 0.75 Hz
device.write (0x00, (bayt) 0x60);
// Mode qeydiyyatı seçin
// Davamlı ölçmə rejimi
device.write (0x02, (bayt) 0x00);
Thread.sleep (500);
// 0x03 -dən 6 bayt məlumat oxuyun (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
bayt məlumat = yeni bayt [6];
device.read (0x03, data, 0, 6);
// Məlumatları çevirin
int xMag = ((data [0] & 0xFF) * 256 + (data [1] & 0xFF));
əgər (xMag> 32767)
{
xMag -= 65536;
}
int zMag = ((data [2] & 0xFF) * 256 + (data [3] & 0xFF));
əgər (zMag> 32767)
{
zMag -= 65536;
}
int yMag = ((data [4] & 0xFF) * 256 + (data [5] & 0xFF));
əgər (yMag> 32767)
{
yMag -= 65536;
}
// Ekrana məlumat çıxarın
System.out.printf ("X-Axisdəki maqnit sahəsi: %d %n", xMag);
System.out.printf ("Y eksenində maqnit sahəsi: %d %n", yMag);
System.out.printf ("Z Eksenində maqnit sahəsi: %d %n", zMag);
}
}
Write () və read () funksiyaları əmrləri yazmaq və sensor çıxışını oxumaq üçün istifadə olunur. Aşağıdakı hissə maqnit sahəsinin dəyərlərinin oxunmasını göstərir.
// 0x03 -dən 6 bayt məlumat oxuyun (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
bayt məlumat = yeni bayt [6];
device.read (0x03, data, 0, 6);
Çıxış yuxarıdakı şəkildə göstərilir.
Addım 4: Tətbiqlər:
HMC5883, aşağı qiymətli kompas və maqnitometriya kimi tətbiqlər üçün rəqəmsal interfeysi olan aşağı sahə maqnit algılaması üçün nəzərdə tutulmuş səthə monte edilmiş, çox çipli bir moduldur. Bir -iki dərəcə yüksək səviyyəli dəqiqlik və dəqiqlik Piyada Naviqasiyası və LBS Tətbiqlərini təmin edir.
Tövsiyə:
AD7416ARZ və Raspberry Pi istifadə edərək temperaturun ölçülməsi: 4 addım
AD7416ARZ və Raspberry Pi istifadə edərək temperaturun ölçülməsi: AD7416ARZ, rəqəmsal çeviricilərə bənzər dörd tək kanallı analoqlu 10 bitlik bir temperatur sensoru və daxil edilmiş bir təyyarə temperatur sensoru. Parçalardakı temperatur sensoru multiplexer kanalları vasitəsilə əldə edilə bilər. Bu yüksək dəqiqlikli temperatur
BH1715 və Raspberry Pi istifadə edərək işıq intensivliyinin ölçülməsi: 5 addım
BH1715 və Raspberry Pi istifadə edərək işığın intensivliyinin ölçülməsi: Dünən LCD displeylər üzərində işləyirdik və onların üzərində işləyərkən işıq intensivliyi hesablamasının vacibliyini anladıq. İşıq intensivliyi təkcə bu dünyanın fiziki aləmində deyil, bioloji fəaliyyətində də çox yaxşı deyilən rola malikdir
HMC5883 və Arduino Nano istifadə edərək Maqnit Sahəsinin Ölçülməsi: 4 addım
HMC5883 və Arduino Nano istifadə edərək Maqnit Sahəsinin Ölçülməsi: HMC5883, aşağı sahə maqnit algılaması üçün hazırlanmış rəqəmsal bir kompasdır. Bu cihaz +/- 8 Oe geniş bir maqnit sahəsinə və 160 Hz çıxış sürətinə malikdir. HMC5883 sensoru avtomatik degaussing kəmər sürücüləri, ofset ləğvi və
HMC5883 və hissəcik fotonundan istifadə edərək maqnit sahəsinin ölçülməsi: 4 addım
HMC5883 və Particle Photon istifadə edərək Maqnit Sahəsinin Ölçülməsi: HMC5883, aşağı sahə maqnit algılaması üçün hazırlanmış rəqəmsal bir kompasdır. Bu cihaz +/- 8 Oe geniş bir maqnit sahəsinə və 160 Hz çıxış sürətinə malikdir. HMC5883 sensoru avtomatik degaussing kəmər sürücüləri, ofset ləğvi və
CPS120 və Raspberry Pi istifadə edərək təzyiq ölçülməsi: 4 addım
CPS120 və Raspberry Pi istifadə edərək təzyiq ölçülməsi: CPS120, tam kompensasiya edilmiş çıxışı olan yüksək keyfiyyətli və aşağı qiymətli kapasitiv mütləq təzyiq sensoru. Çox az enerji sərf edir və təzyiqin ölçülməsi üçün ultra kiçik Mikroelektromekanik Sensordan (MEMS) ibarətdir. Sigma-delta əsaslı