Panagrinėkime modulio GY-273 prijungimą prie trijų ašių skaitmeninio kompaso „Honeywell HMC5883L“. Šią mikroschemą galima naudoti magnetometriniams matavimams, navigacijai, jei nereikia didelio matavimo tikslumo (su 1 … 2 laipsnių paklaida ir kalibravimo galimybe). Prietaisas prijungtas per „I2C“sąsają.
Būtinas
- - Skaitmeninis kompasas HMC5883;
- - Arduino;
- - plokštės prototipas ir jungiamieji laidai;
- - kompiuteris.
Nurodymai
1 žingsnis
Tai yra pagrindinės magnetinio kompaso savybės:
- 3 ašių magnetiškai jautrus jutiklis;
- 12 bitų ADC su 2 mGs (miligausų) skiriamąja geba;
- įmontuotas savęs išbandymas;
- maža darbinė įtampa ir mažos sąnaudos;
- skaitmeninė sąsaja I2C;
- didelis rinkimų dažnis - iki 160 kartų per sekundę (vieno matavimo laikas yra apie 6 ms);
- krypties nustatymo tikslumas yra 1 °… 2 °;
- gali būti naudojamas stipriuose magnetiniuose laukuose (iki ± 8 Gausų).
HMC5883L magnetinio jutiklio prijungimo prie „Arduino“schema parodyta paveikslėlyje. Tai labai kompaktiška ir paprasta, nes Dviejų laidų I2C sąsaja yra puiki, nes jai reikia nedaug jungčių. Galite naudoti duonos lentą.
2 žingsnis
Tai turėtų atrodyti panašiai kaip nuotrauka. Taip pat prie SCL ir SDA magistralių prijungsiu loginį analizatorių, kad galėčiau stebėti keitimąsi informacija tarp „Arduino“ir HMC5883 modulio. Tai nėra privaloma.
3 žingsnis
Pirmieji susipažinę pabandykime perskaityti skaitmeninio kompaso HMC5883 identifikavimo registrus 10 (0xA), 11 (0xB) ir 12 (0xC) ir parašyti tokį eskizą, kaip pav. Jai pateikiami išsamūs komentarai.
4 žingsnis
Su loginiu analizatoriumi gautas signalas bus toks, kaip parodyta iliustracijoje.
Ką tai reiškia? Pirmasis baitas yra I2C adresas, su kuriuo mes (pagrindinis įrenginys, „Arduino“) užmezgame ryšį (dideli 7 bitai 0x1E), ir rašymo režimas (mažas bitas - 0x0); skaičius yra 0x3C. Antrasis baitas yra skaičius 0xA, kurį parašėme adresu 0x1E ir patvirtinimo bitą iš HMC5883L jutiklio, kuris yra vergas. Tai yra registro numeris, nuo kurio pradėsime skaityti duomenis. Tai užbaigia pirmąjį sandorį. Prasideda kitas. Trečias baitas yra vergo skaitymo užklausa (reikšmingiausi 7 bitai yra adresas 0x1E, aštuntasis bitas yra skaitymo operacija 0x1; gautas skaičius yra 0x3D). Paskutiniai trys trys baitai yra HMC5883L vergo atsakas iš atitinkamai 0xA, 0xB ir 0xC registrų.
Skaitmeninis kompasas HMC5883L nuolat juda per registrus nuolatinio skaitymo metu. Tie. nebūtina (bet nedraudžiama) kiekvieną kartą nurodyti atvejį. Pavyzdžiui, jei vietoj 0xA rašytume 0x3 ir skaitytume 10 kartų, gautume reikšmes 10 registrų, pradedant nuo 3 iki 12.
Kas yra šie trys skaičiai - 0x48, 0x34, 0x33? Vėl naudodami duomenų lapą HMC5883L skaitmeniniam kompasui, pamatysime, kad tai yra numatytosios trijų identifikavimo registrų vertės.
5 žingsnis
Norėdami gauti skaitmeninio kompaso duomenis magnetiniame lauke, turite perskaityti 3–8 registrus, lygiai taip pat, kaip mes skaitome identifikavimo registrus. Vienintelis skirtumas yra tas, kad kiekvienos iš trijų ašių X, Y ir Z duomenys pateikiami kaip dviejų baitų skaičiai. Konvertuodami juos į dešimtainius skaičius, mes gauname kryptis išilgai trijų ašių.