Razmotrimo povezanost modula GY-273 s troosovinskim digitalnim kompasom Honeywell HMC5883L. Ovaj mikrovez se može koristiti za magnetometrijska mjerenja, u navigaciji, ako nije potrebna velika točnost mjerenja (s pogreškom od 1 … 2 stupnja i mogućnošću kalibracije). Uređaj je povezan putem I2C sučelja.
Potrebno
- - Digitalni kompas HMC5883;
- - Arduino;
- - prototipna ploča i spojne žice;
- - Računalo.
Upute
Korak 1
Ovo su glavne značajke magnetskog kompasa:
- 3-osni magnetno osjetljivi senzor;
- 12-bitni ADC s rezolucijom od 2 mGs (miligauss);
- ugrađeno samoispitivanje;
- nizak radni napon i mala potrošnja;
- digitalno sučelje I2C;
- visoka stopa anketiranja - do 160 puta u sekundi (vrijeme jednog mjerenja je oko 6 ms);
- točnost određivanja smjera je 1 ° … 2 °;
- može se koristiti u jakim magnetskim poljima (do ± 8 Gaussa).
Dijagram povezivanja magnetskog senzora HMC5883L na Arduino prikazan je na slici. Vrlo je kompaktan i jednostavan, jer Dvožično I2C sučelje je sjajno jer zahtijeva malo veza. Možete koristiti ploču za kruh.
Korak 2
Trebao bi izgledati otprilike poput fotografije. Također ću spojiti logički analizator na SCL i SDA sabirnice kako bih nadzirao razmjenu informacija između Arduina i HMC5883 modula. Nije obavezno.
3. korak
Pokušajmo kao prvo poznavanje pročitati identifikacijske registre 10 (0xA), 11 (0xB) i 12 (0xC) digitalnog kompasa HMC5883 i napišite takvu skicu kao na slici. Sadrži detaljne komentare.

4. korak
Signal dobiven logičkim analizatorom bit će prikazan na slici.
Što to znači? Prvi bajt je I2C adresa s kojom mi (glavni uređaj, Arduino) uspostavljamo komunikaciju (visokih 7 bitova 0x1E) i način pisanja (mali bit - 0x0); broj je 0x3C. Drugi bajt je broj 0xA, koji smo napisali za adresiranje 0x1E i bit potvrde sa senzora HMC5883L, koji je pomoćni uređaj. To je registarski broj s kojeg ćemo započeti čitanje podataka. Time je zaključena prva transakcija. Sljedeća započinje. Treći bajt je zahtjev za čitanje od pomoćnog uređaja (najznačajniji 7 bitova su adresa 0x1E, osmi bit je operacija čitanja 0x1; rezultirajući broj je 0x3D). Posljednja 3 tri bajta su odgovor od pomoćnog uređaja HMC5883L iz registara 0xA, 0xB i 0xC.
Digitalni kompas HMC5883L kreće se kroz registre neovisno tijekom neprekidnog čitanja. Oni. nije potrebno (ali nije zabranjeno) svaki put navesti slučaj. Na primjer, ako bismo umjesto 0xA napisali 0x3 i pročitali 10 puta, dobili bismo vrijednosti u 10 registara, počevši od 3. do 12..
A koja su to tri broja - 0x48, 0x34, 0x33? Ponovnim korištenjem podatkovnog lista za digitalni kompas HMC5883L, vidjet ćemo da su to zadane vrijednosti za tri identifikacijska registra.

Korak 5
Da biste dobili podatke digitalnog kompasa o magnetskom polju, morate pročitati registre od 3 do 8, baš kao što i mi čitamo identifikacijske registre. Jedina je razlika što su podaci za svaku od tri osi X, Y i Z prikazani kao dvobajtni brojevi. Pretvarajući ih u decimalne brojeve, dobivamo upute duž svake od tri osi.