Ինչպես միացնել թվային կողմնացույցը HMC5883 Arduino- ին

Բովանդակություն:

Ինչպես միացնել թվային կողմնացույցը HMC5883 Arduino- ին
Ինչպես միացնել թվային կողմնացույցը HMC5883 Arduino- ին

Video: Ինչպես միացնել թվային կողմնացույցը HMC5883 Arduino- ին

Video: Ինչպես միացնել թվային կողմնացույցը HMC5883 Arduino- ին
Video: Use the HMC5883L 3-axis sensor with an Arduino - Tutorial 2024, Նոյեմբեր
Anonim

Եկեք քննարկենք GY-273 մոդուլի կապը Honeywell HMC5883L երեք առանցքային թվային կողմնացույցի հետ: Այս միկրոսխեման կարող է օգտագործվել նավագնացության մեջ մագնիսաչափական չափումների համար, եթե չափման բարձր ճշգրտություն չի պահանջվում (1 … 2 աստիճանի սխալով և տրամաչափման հնարավորությամբ): Սարքը միացված է I2C ինտերֆեյսի միջոցով:

Թվային կողմնացույց HMC5883
Թվային կողմնացույց HMC5883

Անհրաժեշտ է

  • - թվային կողմնացույց HMC5883;
  • - Arduino;
  • - նախատիպային տախտակ և միացնող լարեր;
  • - համակարգիչ:

Հրահանգներ

Քայլ 1

Սրանք մագնիսական կողմնացույցի հիմնական հատկություններն են.

- 3 առանցքային մագնիսականորեն զգայուն սենսոր;

- 12 բիթանոց ADC ՝ 2 մգ (միլիգաուս) բանաձևով;

- ներկառուցված ինքնաստուգում;

- ցածր աշխատանքային լարում և ցածր սպառում.

- թվային ինտերֆեյս I2C;

- հարցումների բարձր տեմպը `վայրկյանում մինչև 160 անգամ (մեկ չափման ժամանակը մոտ 6 մղոն է);

- ուղղությունը որոշելու ճշգրտությունը `1 °… 2 °;

- կարող է օգտագործվել ուժեղ մագնիսական դաշտերում (մինչև ± 8 Գաուս):

HMC5883L մագնիսական սենսորը Arduino- ին միացնելու դիագրամը ներկայացված է նկարում: Դա շատ կոմպակտ է և պարզ, քանի որ Երկու մետաղալար I2C ինտերֆեյսը հիանալի է, քանի որ այն մի քանի կապեր է պահանջում: Դուք կարող եք օգտագործել հացաթխման տախտակ:

HMC5883 թվային կողմնացույցը միացնելով Arduino- ին
HMC5883 թվային կողմնացույցը միացնելով Arduino- ին

Քայլ 2

Այն պետք է նման լինի լուսանկարի: Ես նաև միացնելու եմ տրամաբանական անալիզատորը SCL և SDA ավտոբուսներին `Arduino- ի և HMC5883 մոդուլի միջև տեղեկատվության փոխանակումը վերահսկելու համար: Դա պարտադիր չէ

HMC5883 թվային կողմնացույցը տախտակի վրա միացված է Arduino- ին
HMC5883 թվային կողմնացույցը տախտակի վրա միացված է Arduino- ին

Քայլ 3

Որպես առաջին ծանոթություն, եկեք փորձենք կարդալ նույնականացման մատյանները 10 (0xA), 11 (0xB) և 12 (0xC) թվային կողմնացույցի HMC5883 և գրել այնպիսի ուրվագիծ, ինչպիսին նկարում է: Այն տրամադրվում է մանրամասն մեկնաբանություններով:

HMC5883 նույնականացման մատյանները կարդացող ուրվագիծ
HMC5883 նույնականացման մատյանները կարդացող ուրվագիծ

Քայլ 4

Տրամաբանական վերլուծիչի միջոցով ստացված ազդանշանը կլինի այնպես, ինչպես ցույց է տրված նկարում:

Ինչ է դա նշանակում? Առաջին բայթը I2C հասցեն է, որով մենք (հիմնական սարքը, Arduino) կապ ենք հաստատում (բարձր 7 բիթ 0x1E), և գրելու ռեժիմը (ցածր բիթ - 0x0); թիվը 0x3C է: Երկրորդ բայթը 0xA թիվն է, որը մենք գրել ենք 0x1E- ին հասցեագրելու և HMC5883L սենսորից հաստատման բիթը, որը ստրուկ է: Սա գրանցման համարն է, որից մենք կսկսենք տվյալների ընթերցում: Դրանով ավարտվում է առաջին գործարքը: Սկսվում է հաջորդը: Երրորդ բայթը ստրուկի ընթերցման հարցումն է (ամենանշանակալից 7 բիթը 0x1E հասցեն է, 8-րդ բիթը ՝ 0x1 ընթերցման գործողությունը. Արդյունքում թիվը ՝ 0x3D): Վերջին 3 երեք բայթերը համապատասխանաբար 0xA, 0xB և 0xC գրանցումներից HMC5883L ստրուկի պատասխանն են:

HMC5883L թվային կողմնացույցը անընդհատ ընթերցման ժամանակ շարժվում է գրանցամատյաններում: Դրանք անհրաժեշտ չէ (բայց չի արգելվում) ամեն անգամ դեպքը հստակեցնել: Օրինակ, եթե 0xA- ի փոխարեն մենք գրեինք 0x3 և կարդայինք 10 անգամ, ապա 10 գրանցումներում արժեքներ կստանայինք ՝ սկսած 3-ից 12-րդ:

Եվ որո՞նք են այս երեք թվերը ՝ 0x48, 0x34, 0x33: Կրկին օգտագործելով HMC5883L թվային կողմնացույցի տվյալների թերթիկը, մենք կտեսնենք, որ դրանք երեք նույնականացման գրանցամատյանների լռելյայն արժեքներն են:

I2C փոխանակման ժամանակացույցի դիագրամ HMC5883 թվային կողմնացույցի հետ
I2C փոխանակման ժամանակացույցի դիագրամ HMC5883 թվային կողմնացույցի հետ

Քայլ 5

Մագնիսական դաշտի թվանշանի կողմնացույցի տվյալները ստանալու համար հարկավոր է կարդալ գրանցումները 3-ից 8-ը, ինչպես կարդում ենք նույնականացման մատյանները: Միակ տարբերությունն այն է, որ երեք, X, Y և Z առանցքներից յուրաքանչյուրի տվյալները ներկայացվում են որպես երկբայթ թվեր: Փոխակերպելով դրանք տասնորդական թվերի ՝ մենք ստանում ենք ուղղություններ երեք առանցքներից յուրաքանչյուրի երկայնքով:

Խորհուրդ ենք տալիս: