Apsvērsim GY-273 moduļa savienojumu ar Honeywell HMC5883L trīsasu digitālo kompasu. Šo mikroshēmu var izmantot magnetometriskiem mērījumiem, navigācijā, ja nav nepieciešama augsta mērījumu precizitāte (ar kļūdu 1 … 2 grādi un kalibrēšanas iespēju). Ierīce ir savienota, izmantojot I2C saskarni.
Nepieciešams
- - digitālais kompass HMC5883;
- - Arduino;
- - tāfeles un savienojošo vadu prototips;
- - dators.
Instrukcijas
1. solis
Šīs ir galvenās magnētiskā kompasa iezīmes:
- 3 asu magnētiski jutīgs sensors;
- 12 bitu ADC ar izšķirtspēju 2 mGs (miligauss);
- iebūvēta paštestēšana;
- zems darba spriegums un mazs patēriņš;
- digitālā saskarne I2C;
- augsts vēlēšanu ātrums - līdz 160 reizēm sekundē (viena mērījuma laiks ir aptuveni 6 ms);
- virziena noteikšanas precizitāte ir 1 °… 2 °;
- var izmantot spēcīgos magnētiskajos laukos (līdz ± 8 Gauss).
Diagramma HMC5883L magnētiskā sensora pievienošanai Arduino ir parādīta attēlā. Tas ir ļoti kompakts un vienkāršs, jo Divu vadu I2C interfeiss ir lielisks, jo tam nepieciešams maz savienojumu. Jūs varat izmantot maizes dēli.
2. solis
Tam vajadzētu izskatīties apmēram kā fotoattēlam. Es arī savienošu loģisko analizatoru ar SCL un SDA kopnēm, lai uzraudzītu informācijas apmaiņu starp Arduino un HMC5883 moduli. Tas nav obligāti.
3. solis
Kā pirmo paziņu mēģināsim nolasīt digitālā kompasa HMC5883 identifikācijas reģistrus 10 (0xA), 11 (0xB) un 12 (0xC) un uzrakstīt tādu skici kā attēlā. Tam tiek sniegti detalizēti komentāri.
4. solis
Ar loģiskā analizatora iegūtais signāls būs tāds, kā parādīts attēlā.
Ko tas nozīmē? Pirmais baits ir I2C adrese, ar kuru mēs (galvenā ierīce, Arduino) izveidojam sakarus (augsti 7 biti 0x1E), un rakstīšanas režīms (zems bits - 0x0); skaitlis ir 0x3C. Otrais baits ir skaitlis 0xA, kuru mēs uzrakstījām uz adresi 0x1E un apstiprinājuma bitu no HMC5883L sensora, kas ir vergs. Šis ir reģistra numurs, no kura mēs sāksim lasīt datus. Tas noslēdz pirmo darījumu. Sākas nākamais. Trešais baits ir verga lasīšanas pieprasījums (nozīmīgākie 7 biti ir adrese 0x1E, 8. bits ir lasīšanas operācija 0x1; iegūtais skaitlis ir 0x3D). Pēdējie 3 trīs baiti ir HMC5883L verga atbilde no 0xA, 0xB un 0xC reģistra.
Digitālais kompass HMC5883L nepārtraukti lasot, reģistros pārvietojas neatkarīgi. Tie. katru reizi nav nepieciešams (bet nav aizliegts) precizēt gadījumu. Piemēram, ja 0xA vietā mēs rakstītu 0x3 un lasītu 10 reizes, mēs iegūtu vērtības 10 reģistros, sākot no 3. līdz 12. skaitlim.
Un kādi ir šie trīs skaitļi - 0x48, 0x34, 0x33? Vēlreiz izmantojot datu lapu HMC5883L digitālajam kompasam, mēs redzēsim, ka šīs ir trīs identifikācijas reģistru noklusējuma vērtības.
5. solis
Lai iegūtu digitālā kompasa datus uz magnētiskā lauka, jums jālasa reģistri no 3 līdz 8, tāpat kā mēs lasām identifikācijas reģistrus. Vienīgā atšķirība ir tā, ka dati par katru no trim asīm X, Y un Z tiek parādīti kā divbaitu skaitļi. Pārvēršot tos decimāldaļās, mēs iegūstam virzienus pa katru no trim asīm.