GY-273 modulunun Honeywell HMC5883L üç oxlu rəqəmsal kompasla əlaqəsini nəzərdən keçirək. Bu mikrosxem, yüksək ölçü dəqiqliyi tələb olunmadığı təqdirdə (1 … 2 dərəcə bir səhv və kalibrləmə ehtimalı ilə) naviqasiya zamanı maqnitometrik ölçmələr üçün istifadə edilə bilər. Cihaz I2C interfeysi vasitəsilə bağlanır.
Zəruri
- - Rəqəmsal kompas HMC5883;
- - Arduino;
- - prototip lövhə və birləşdirici tellər;
- - kompüter.
Təlimat
Addım 1
Maqnetik kompasın əsas xüsusiyyətləri bunlardır:
- 3 oxlu maqnetik həssas sensor;
- 2 mGs (milligauss) qətnamə ilə 12-bit ADC;
- daxili öz-özünə test;
- aşağı işləmə gərginliyi və aşağı istehlak;
- rəqəmsal interfeys I2C;
- yüksək səsvermə dərəcəsi - saniyədə 160 dəfəyə qədər (bir ölçmə müddəti təxminən 6 ms);
- istiqamətin təyin olunmasının dəqiqliyi 1 °… 2 °;
- güclü maqnit sahələrində istifadə edilə bilər (± 8 Gauss-a qədər).
HMC5883L maqnit sensorunun Arduinoya qoşulması diaqramı şəkildə göstərilmişdir. Çox yığcam və sadədir, çünki İki telli I2C interfeysi əladır, çünki az əlaqə tələb edir. Bir çörək taxtasından istifadə edə bilərsiniz.
Addım 2
Fotoya bənzər bir şey görünməlidir. Arduino ilə HMC5883 modulu arasındakı məlumat mübadiləsini izləmək üçün SCL və SDA avtobuslarına bir məntiq analizatoru da bağlayacağam. Bu məcburi deyil.
Addım 3
İlk tanışlıq olaraq, HMC5883 rəqəmsal kompasın 10 (0xA), 11 (0xB) və 12 (0xC) identifikasiya qeydlərini oxumağa və şəkildə olduğu kimi bir eskiz yazmağa çalışaq. Ətraflı şərhlərlə təmin olunur.
Addım 4
Məntiq analizatoru ilə alınan siqnal təsvirdə göstərildiyi kimi olacaqdır.
Bunun mənası nədi? Birinci bayt (ana cihaz, Arduino) ünsiyyət qurduğumuz I2C ünvanı (yüksək 7 bit 0x1E) və yazma rejimi (aşağı bit - 0x0); sayı 0x3C-dir. İkinci bayt, 0x1E ünvanına yazdığımız 0xA sayı və kölə olan HMC5883L sensorundan təsdiqləmə bitidir. Bu, məlumat oxumağa başlayacağımız qeyd nömrəsidir. Bu, ilk əməliyyatı bitirir. Növbəti başlayır. Üçüncü bayt kölədən bir oxuma tələbidir (ən əhəmiyyətli 7 bit 0x1E ünvanı, 8-ci bit 0x1 oxuma əməliyyatıdır; nəticədə çıxan sayı 0x3D-dir). Son 3 üç bayt, sırasıyla 0xA, 0xB və 0xC registrlərindən HMC5883L köləsinin cavabıdır.
Rəqəmsal kompas HMC5883L fasiləsiz oxuma zamanı qeydlərdən müstəqil olaraq hərəkət edir. O. işi hər dəfə dəqiqləşdirmək lazım deyil (lakin qadağan olunmur). Məsələn, 0xA əvəzinə 0x3 yazsaq və 10 dəfə oxusaydıq, 3-dən 12-yə qədər 10 registrdə dəyərlər alırdıq.
Və bu üç rəqəm nədir - 0x48, 0x34, 0x33? Yenidən HMC5883L rəqəmsal kompas üçün məlumat vərəqəsini istifadə edərək bunların üç identifikasiya qeydləri üçün standart dəyərlər olduğunu görəcəyik.
Addım 5
Maqnetik sahədəki rəqəmsal kompas məlumatlarını əldə etmək üçün eyniləşdirmə qeydlərini oxuduğumuz kimi 3 ilə 8 arasındakı qeydləri oxumaq lazımdır. Yeganə fərq ondadır ki, X, Y və Z üç oxunun hər biri üçün məlumatlar cüt bayt ədədi kimi təqdim olunur. Onları onlu ədədə çevirərək, üç oxun hər biri boyunca istiqamətlər əldə edirik.