
Բովանդակություն:
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-23 14:48


HMC5883- ը թվային կողմնացույց է, որը նախատեսված է ցածր դաշտի մագնիսական զգայարանների համար: Այս սարքն ունի մագնիսական դաշտի լայն շրջանակ ՝ +/- 8 Օէ և ելքային արագություն ՝ 160 Հց: HMC5883 սենսորը ներառում է ժապավենի ավտոմատ անջատիչ շարժիչներ, օֆսեթ չեղարկում և 12-բիթանոց ADC, որը հնարավորություն է տալիս 1 ° -ից մինչև 2 ° կողմնացույցի վերնագրի ճշգրտություն: Բոլոր I²C մինի մոդուլները նախագծված են 5VDC- ով աշխատելու համար:
Այս ձեռնարկում մենք պատրաստվում ենք բացատրել HMC5883- ի մանրամասն աշխատանքը Arduino nano- ի հետ:
Քայլ 1: Պահանջվում է սարքավորում



Նյութերը, որոնք մեզ անհրաժեշտ են մեր նպատակին հասնելու համար, ներառում են հետևյալ ապարատային բաղադրիչները.
1. HMC5883
2. Արդուինո Նանո
3. I2C մալուխ
4. I2C վահան Arduino Nano- ի համար
Քայլ 2: Սարքավորման միացում


Սարքավորումների միացման բաժինը հիմնականում բացատրում է սենսորի և arduino nano- ի միջև պահանջվող լարերի միացումները: Connectionsանկալի ելքի համար ցանկացած համակարգի վրա աշխատելիս հիմնական անհրաժեշտությունն է հիմնական կապերի ապահովումը: Այսպիսով, անհրաժեշտ կապերը հետևյալն են.
HMC5883- ը կաշխատի I2C- ով: Ահա միացման սխեմայի օրինակ, որը ցույց է տալիս, թե ինչպես միացնել սենսորի յուրաքանչյուր միջերեսը:
Տուփից դուրս, տախտակը կազմաձևված է I2C ինտերֆեյսի համար, ուստի խորհուրդ ենք տալիս օգտագործել այս կապը, եթե այլապես ագնոստիկ եք: Ձեզ անհրաժեշտ է չորս լար:
Միայն չորս միացում է պահանջվում Vcc, Gnd, SCL և SDA կապում, որոնք միացված են I2C մալուխի օգնությամբ:
Այս կապերը ցուցադրվում են վերը նշված նկարներում:
Քայլ 3. Arduino ծածկագիրը Մագնիսական դաշտի ինտենսիվությունը չափելու համար


Եկեք հիմա սկսենք Arduino կոդով:
Arduino- ի հետ սենսորային մոդուլն օգտագործելիս մենք ներառում ենք Wire.h գրադարանը: «Լար» գրադարանը պարունակում է գործառույթներ, որոնք հեշտացնում են i2c հաղորդակցությունը սենսորի և Arduino տախտակի միջև:
Ամբողջ Arduino ծածկագիրը տրված է ստորև ՝ օգտագործողի հարմարության համար.
#ներառում
// HMC5883 I2C հասցեն ՝ 0x1E (30)
#սահմանեք Addr 0x1E
դատարկ կարգավորում ()
{
// Նախնականացնել I2C հաղորդակցությունը որպես ՎԱՐՊԵՏ
Wire.begin ();
// Սկզբնականացնել սերիական հաղորդակցությունը, սահմանել բաուդ արագություն = 9600
Serial.begin (9600);
// Սկսել I2C փոխանցումը
Wire.beginTransmission (Addr);
// Ընտրեք configure register A
Wire.write (0x00);
// Սահմանել չափման նորմալ կազմաձև, տվյալների ելքային արագություն = 0.75 Հց
Wire.write (0x60);
// Դադարեցնել I2C փոխանցումը
Wire.endTransmission ();
// Սկսել I2C փոխանցումը
Wire.beginTransmission (Addr);
// Ընտրեք ռեժիմի գրանցամատյան
Wire.write (0x02);
// Սահմանել շարունակական չափում
Wire.write (0x00);
// Դադարեցնել I2C փոխանցումը
Wire.endTransmission ();
ուշացում (300);
}
դատարկ շրջան ()
{
անստորագիր int տվյալներ [6];
// Սկսել I2C փոխանցումը
Wire.beginTransmission (Addr);
// Ընտրեք տվյալների գրանցամատյան
Wire.write (0x03);
// Դադարեցնել I2C փոխանցումը
Wire.endTransmission ();
// Պահանջել 6 բայթ տվյալներ
Հաղորդալար. Խնդրում ենք (Addr, 6);
// Կարդացեք տվյալների 6 բայթ
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
եթե (Wire.available () == 6)
{
տվյալներ [0] = Wire.read ();
տվյալներ [1] = Wire.read ();
տվյալներ [2] = Wire.read ();
տվյալներ [3] = Wire.read ();
տվյալներ [4] = Wire.read ();
տվյալներ [5] = Wire.read ();
}
ուշացում (300);
// Փոխարկել տվյալները
int xMag = ((տվյալներ [0] * 256) + տվյալներ [1]);
int zMag = ((տվյալներ [2] * 256) + տվյալներ [3]);
int yMag = ((տվյալներ [4] * 256) + տվյալներ [5]);
// Ելքային տվյալները սերիական մոնիտորին
Serial.print («Մագնիսական դաշտ X- առանցքում.»);
Serial.println (xMag);
Serial.print («Մագնիսական դաշտը Y- առանցքում.»);
Serial.println (yMag);
Serial.print («Մագնիսական դաշտ Z- առանցքում.»);
Serial.println (zMag);
ուշացում (300);
}
Լարային գրադարանում Wire.write () և Wire.read () օգտագործվում են հրամանները գրելու և սենսորի ելքը կարդալու համար: Կոդի հետևյալ հատվածը ցույց է տալիս սենսորների ելքի ընթերցումը:
// Կարդացեք տվյալների 6 բայթ // xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb if (Wire.available () == 6) {data [0] = Wire.read (); տվյալներ [1] = Wire.read (); տվյալներ [2] = Wire.read (); տվյալներ [3] = Wire.read (); տվյալներ [4] = Wire.read (); տվյալներ [5] = Wire.read (); }
Serial.print () և Serial.println () օգտագործվում են սենսորի ելքը Arduino IDE- ի սերիական մոնիտորի վրա ցուցադրելու համար:
Սենսորի ելքը ցուցադրվում է վերևի նկարում:
Քայլ 4: Դիմումներ

HMC5883- ը մակերևույթի վրա տեղադրվող, մի քանի չիպային մոդուլ է, որը նախատեսված է ցածր դաշտի մագնիսական զգայարանների համար `թվային ինտերֆեյսով, այնպիսի ծրագրերի համար, ինչպիսիք են ցածրարժեք կողմնացույցը և մագնիսաչափությունը: Դրա մեկից երկու աստիճանի բարձր մակարդակի ճշգրտությունն ու ճշգրտությունը հնարավորություն է տալիս հետիոտնային նավարկություն և LBS ծրագրեր:
Խորհուրդ ենք տալիս:
Մագնիսական դաշտի չափում `օգտագործելով HMC5883 և ազնվամորի Pi: 4 քայլ

HMC5883- ի և Raspberry Pi- ի միջոցով մագնիսական դաշտի չափում. HMC5883- ը թվային կողմնացույց է, որը նախատեսված է ցածր դաշտի մագնիսական զգայարանների համար: Այս սարքն ունի մագնիսական դաշտի լայն շրջանակ ՝ +/- 8 Օէ և ելքային արագություն ՝ 160 Հց: HMC5883 սենսորը ներառում է ժապավենների ավտոմատ հանող շարժիչներ, օֆսեթ չեղարկում և
Մագնիսական դաշտի չափում `օգտագործելով HMC5883 և մասնիկի ֆոտոն` 4 քայլ

Մագնիսական դաշտի չափում HMC5883- ի և մասնիկի ֆոտոնի միջոցով. HMC5883- ը թվային կողմնացույց է, որը նախատեսված է ցածր դաշտի մագնիսական զգայարանների համար: Այս սարքն ունի +/- 8 Oe լայն մագնիսական դաշտի միջակայք և 160 Հց թողունակություն: HMC5883 սենսորը ներառում է ժապավենների ավտոմատ հանող շարժիչներ, օֆսեթ չեղարկում և
Ureնշման չափում `օգտագործելով CPS120 և Arduino Nano: 4 քայլ

Pressնշման չափում CPS120- ի և Arduino Nano- ի միջոցով. Այն սպառում է շատ ավելի քիչ էներգիա և ներառում է ճնշման չափման համար չափազանց փոքր միկրոէլեկտրամեխանիկական սենսոր (MEMS): Սիգմա-դելտայի վրա հիմնված
Arduino Milligaussmeter - մագնիսական չափում `4 քայլ

Arduino Milligaussmeter - Մագնիսական չափում. Կարո՞ղ են ուժեղ մագնիսներ տեղափոխվել ինքնաթիռ: Մենք առաքում ենք բազմաթիվ մագնիսներ, և կան որոշակի կանոններ մագնիսական նյութեր առաքելու համար, հատկապես ինքնաթիռում: Այս հոդվածում մենք ուսումնասիրում ենք, թե ինչպես կարող եք ինքներդ պատրաստել Milligaussmeter օդային փոխադրումների համար
3 առանցքի մագնիսական դաշտի տվիչ ՝ 10 քայլ (նկարներով)

3-առանցքի մագնիսական դաշտի տվիչ. Անլար էներգիայի փոխանցման համակարգերը լավ ճանապարհով փոխարինում են սովորական լարային լիցքավորմանը: Սկսած փոքրիկ կենսաբժշկական իմպլանտներից մինչև հսկայական էլեկտրական մեքենաների անլար լիցքավորումը: Անլար էներգիայի վերաբերյալ հետազոտության անբաժանելի մասն է