Mündəricat:
- Addım 1: Lazım olan avadanlıq:
- Addım 2: Hardware Bağlantısı:
- Addım 3: Maqnit Sahəsinin İntensivliyini Ölçmək üçün Kod:
- Addım 4: Tətbiqlər:
Video: HMC5883 və hissəcik fotonundan 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, HMC5883 -ün hissəcik fotonu ilə ətraflı işini izah edəcəyik. Particle photon, İnternet Nəsillərinin (IoT) ən əsas xüsusiyyətini dəstəkləyən veb saytdan məlumatların göndərilməsini və alınmasını asanlaşdıran bir lövhədir.
Addım 1: Lazım olan avadanlıq:
Məqsədimizə çatmaq üçün ehtiyacımız olan materiallar aşağıdakı aparat komponentlərindən ibarətdir:
1. HMC5883
2. Foton hissəcikləri
3. I2C Kabeli
4. Partikül Fotonu üçün I2C Qalxanı
Addım 2: Hardware Bağlantısı:
Avadanlıq bağlama bölməsi əsasən sensor və hissəcik fotonu arasında lazım olan naqillərin ə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 İntensivliyini Ölçmək üçün Kod:
İndi hissəcik kodundan başlayaq.
Sensor modulunu Arduino ilə birlikdə istifadə edərkən application.h və spark_wiring_i2c.h kitabxanasını daxil edirik. "application.h" və spark_wiring_i2c.h kitabxanası, sensor və hissəcik arasındakı i2c əlaqəsini asanlaşdıran funksiyaları ehtiva edir.
İstifadəçinin rahatlığı üçün bütün hissəcik kodu aşağıda verilmişdir:
#daxil edin
#daxil edin
// HMC5883 I2C ünvanı 0x1E (30)
#təyin Edr 0x1E
int xMag = 0, yMag = 0, zMag = 0;
boş quraşdırma ()
{
// Dəyişən təyin edin
Particle.variable ("i2cdevice", "HMC5883");
Particle.variable ("xMag", xMag);
Particle.variable ("yMag", yMag);
Particle.variable ("zMag", zMag);
// I2C ünsiyyətini MASTER olaraq başladın
Wire.begin ();
// Serial Rabitəni Başlatın, baud dərəcəsini = 9600 olaraq təyin edin
Serial.begin (9600);
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// A qeydiyyat reyestrini seçin
Wire.write (0x00);
// Normal ölçü konfiqurasiyasını təyin edin, məlumatların çıxış sürəti = 0.75Hz
Wire.write (0x60);
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// Mode qeydiyyatı seçin
Wire.write (0x02);
// Davamlı ölçmə qurun
Wire.write (0x00);
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
gecikmə (300);
}
boşluq döngəsi ()
{
imzasız int məlumatları [6];
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// Məlumat qeydini seçin
Wire.write (0x03);
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
// 6 bayt məlumat tələb edin
Wire.requestFrom (Addr, 6);
// 6 bayt məlumat oxuyun
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
əgər (Tel.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 ();
}
gecikmə (300);
// Məlumatları çevirin
xMag = ((məlumat [0] * 256) + məlumat [1]);
əgər (xMag> 32767)
{
xMag -= 65536;
}
zMag = ((məlumat [2] * 256) + məlumat [3]);
əgər (zMag> 32767)
{
zMag -= 65536;
}
yMag = ((məlumat [4] * 256) + məlumat [5]);
əgər (yMag> 32767)
{
yMag -= 65536;
}
// Göstərişlər panelinə məlumat çıxarın
Particle.publish ("X Eksenində Maqnit Sahəsi:", String (xMag));
gecikmə (1000);
Particle.publish ("Y Eksenində Maqnit Sahəsi:", String (yMag));
gecikmə (1000);
Particle.publish ("Z Eksenində Maqnit Sahəsi:", String (zMag));
gecikmə (1000);
}
Particle.variable () funksiyası sensorun çıxışını saxlamaq üçün dəyişənlər yaradır və Particle.publish () funksiyası saytın tablosuna çıxışı göstərir.
Sensor çıxışı istinad üçün yuxarıdakı şəkildə göstərilmişdir.
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ə:
MPU-6000 və hissəcik fotonundan istifadə edərək hərəkət izlənməsi: 4 addım
MPU-6000 və Partikül Fotonundan istifadə edərək Hərəkət İzləmə: MPU-6000, 3 Eksenli akselerometr və 3 Eksenli giroskopu olan 6 Eksenli Hərəkət İzləmə Sensorudur. Bu sensor, obyektin 3ölçülü müstəvidə dəqiq mövqeyini və yerini səmərəli izləməyə qadirdir. İstifadə oluna bilər
HMC5883 və Raspberry Pi istifadə edərək maqnit sahəsinin ölçülməsi: 4 addım
HMC5883 və Raspberry Pi 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ə 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ə
ADT75 və hissəcik fotonundan istifadə edərək temperaturun ölçülməsi: 4 addım
ADT75 və Partikül Fotonundan istifadə edərək Temperaturun Ölçülməsi: ADT75 son dərəcə dəqiq, rəqəmsal bir temperatur sensoru. Temperaturun izlənməsi və rəqəmsallaşdırılması üçün bir bant boşluğu temperatur sensoru və 12 bitlik analoqdan rəqəmsal çeviricidən ibarətdir. Yüksək həssas sensoru onu mənə yetərincə bacarıqlı edir
AD7416ARZ və hissəcik fotonundan istifadə edərək temperaturun ölçülməsi: 4 addım
AD7416ARZ və Partikül Fotonundan 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