Բովանդակություն:
- Քայլ 1: Պահանջվում է սարքավորում
- Քայլ 2: Սարքավորման միացում
- Քայլ 3. Մագնիսական դաշտի ինտենսիվությունը չափելու կոդ
- Քայլ 4: Դիմումներ
Video: Մագնիսական դաշտի չափում `օգտագործելով HMC5883 և մասնիկի ֆոտոն` 4 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
HMC5883- ը թվային կողմնացույց է, որը նախատեսված է ցածր դաշտի մագնիսական զգայարանների համար: Այս սարքն ունի մագնիսական դաշտի լայն շրջանակ ՝ +/- 8 Օէ և ելքային արագություն ՝ 160 Հց: HMC5883 սենսորը ներառում է ժապավենի ավտոմատ անջատիչ շարժիչներ, օֆսեթ չեղարկում և 12-բիթանոց ADC, որը հնարավորություն է տալիս 1 ° -ից մինչև 2 ° կողմնացույցի վերնագրի ճշգրտություն: Բոլոր I²C մինի մոդուլները նախագծված են 5VDC- ով աշխատելու համար:
Այս ձեռնարկում մենք բացատրելու ենք HMC5883- ի մանրամասն աշխատանքը մասնիկ ֆոտոնով: Particle photon- ը տախտակ է, որը հեշտացնում է կայքից տվյալների ուղարկումը և ստացումը, որն աջակցում է Internet Of Things (IoT) - ի ամենակարևոր առանձնահատկությանը:
Քայլ 1: Պահանջվում է սարքավորում
Նյութերը, որոնք մեզ անհրաժեշտ են մեր նպատակին հասնելու համար, ներառում են հետևյալ ապարատային բաղադրիչները.
1. HMC5883
2. Ֆոտոն մասնիկ
3. I2C մալուխ
4. I2C վահան մասնիկի ֆոտոնի համար
Քայլ 2: Սարքավորման միացում
Սարքավորումների միացման բաժինը հիմնականում բացատրում է սենսորի և մասնիկ ֆոտոնի միջև պահանջվող լարերի միացումները: Connectionsանկալի ելքի համար ցանկացած համակարգի վրա աշխատելիս հիմնական անհրաժեշտությունն է հիմնական կապերի ապահովումը: Այսպիսով, անհրաժեշտ կապերը հետևյալն են.
HMC5883- ը կաշխատի I2C- ով: Ահա միացման սխեմայի օրինակ, որը ցույց է տալիս, թե ինչպես միացնել սենսորի յուրաքանչյուր միջերեսը:
Տուփից դուրս, տախտակը կազմաձևված է I2C ինտերֆեյսի համար, ուստի խորհուրդ ենք տալիս օգտագործել այս կապը, եթե այլապես ագնոստիկ եք: Ձեզ անհրաժեշտ է չորս լար:
Միայն չորս միացում է պահանջվում Vcc, Gnd, SCL և SDA կապում, որոնք միացված են I2C մալուխի օգնությամբ:
Այս կապերը ցուցադրվում են վերը նշված նկարներում:
Քայլ 3. Մագնիսական դաշտի ինտենսիվությունը չափելու կոդ
Եկեք հիմա սկսենք մասնիկների ծածկագրից:
Arduino- ի հետ սենսորային մոդուլն օգտագործելիս մենք ներառում ենք application.h և spark_wiring_i2c.h գրադարանը: «application.h» և spark_wiring_i2c.h գրադարանը պարունակում են գործառույթներ, որոնք հեշտացնում են i2c հաղորդակցությունը սենսորի և մասնիկի միջև:
Օգտվողի հարմարության համար ստորև բերված է մասնիկների ամբողջ ծածկագիրը.
#ներառում
#ներառում
// HMC5883 I2C հասցեն ՝ 0x1E (30)
#սահմանեք Addr 0x1E
int xMag = 0, yMag = 0, zMag = 0;
դատարկ կարգավորում ()
{
// Սահմանել փոփոխական
Particle.variable ("i2cdevice", "HMC5883");
Particle.variable («xMag», xMag);
Particle.variable («yMag», yMag);
Particle.variable («zMag», zMag);
// Նախնականացնել 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);
// Փոխարկել տվյալները
xMag = ((տվյալներ [0] * 256) + տվյալներ [1]);
եթե (xMag> 32767)
{
xMag -= 65536;
}
zMag = ((տվյալներ [2] * 256) + տվյալներ [3]);
եթե (zMag> 32767)
{
zMag -= 65536;
}
yMag = ((տվյալներ [4] * 256) + տվյալներ [5]);
եթե (yMag> 32767)
{
yMag -= 65536;
}
// Տվյալների մուտքագրում վահանակ
Particle.publish ("Magnetic Field in X-Axis:", String (xMag));
ուշացում (1000);
Particle.publish ("Magnetic Field in Y-Axis:", String (yMag));
ուշացում (1000);
Particle.publish ("Magnetic Field in Z-Axis:", String (zMag));
ուշացում (1000);
}
Particle.variable () գործառույթը ստեղծում է սենսորի ելքը պահելու փոփոխականները, իսկ Particle.publish () գործառույթը ցուցադրում է ելքը կայքի վահանակի վրա:
Սենսորային ելքը ցուցադրվում է վերևի նկարում ՝ ձեր տեղեկանքի համար:
Քայլ 4: Դիմումներ
HMC5883- ը մակերևույթի վրա տեղադրվող, մի քանի չիպային մոդուլ է, որը նախատեսված է ցածր դաշտի մագնիսական զգայարանների համար `թվային ինտերֆեյսով, այնպիսի ծրագրերի համար, ինչպիսիք են ցածրարժեք կողմնացույցը և մագնիսաչափությունը: Դրա մեկից երկու աստիճանի բարձր մակարդակի ճշգրտությունն ու ճշգրտությունը հնարավորություն է տալիս հետիոտնային նավարկություն և LBS ծրագրեր:
Խորհուրդ ենք տալիս:
Մագնիսական դաշտի չափում `օգտագործելով HMC5883 և ազնվամորի Pi: 4 քայլ
HMC5883- ի և Raspberry Pi- ի միջոցով մագնիսական դաշտի չափում. HMC5883- ը թվային կողմնացույց է, որը նախատեսված է ցածր դաշտի մագնիսական զգայարանների համար: Այս սարքն ունի մագնիսական դաշտի լայն շրջանակ ՝ +/- 8 Օէ և ելքային արագություն ՝ 160 Հց: HMC5883 սենսորը ներառում է ժապավենների ավտոմատ հանող շարժիչներ, օֆսեթ չեղարկում և
Մագնիսական դաշտի չափում ՝ օգտագործելով HMC5883 և Arduino Nano: 4 քայլ
HMC5883- ի և Arduino Nano- ի միջոցով մագնիսական դաշտի չափում. HMC5883- ը թվային կողմնացույց է, որը նախատեսված է ցածր դաշտի մագնիսական զգայարանների համար: Այս սարքն ունի մագնիսական դաշտի լայն շրջանակ ՝ +/- 8 Օէ և ելքային արագություն ՝ 160 Հց: HMC5883 սենսորը ներառում է ժապավենների ավտոմատ հանող շարժիչներ, օֆսեթ չեղարկում և
Խոնավության չափում `օգտագործելով HYT939 և մասնիկի ֆոտոն` 4 քայլ
Խոնավության չափում HYT939- ի և մասնիկի ֆոտոնի միջոցով. HYT939- ը թվային խոնավության տվիչ է, որն աշխատում է I2C հաղորդակցության արձանագրության վրա: Խոնավությունը առանցքային պարամետր է, երբ խոսքը վերաբերում է բժշկական համակարգերին և լաբորատորիաներին, ուստի այս նպատակներին հասնելու համար մենք փորձեցինք HYT939- ը կապել ազնվամորու pi- ի հետ: Ես
Pressնշման չափում `օգտագործելով CPS120 և մասնիկի ֆոտոն` 4 քայլ
Pressնշման չափում CPS120- ի և մասնիկի ֆոտոնի միջոցով. CPS120- ը բարձրորակ և էժան բացունակ ճնշման բացարձակ սենսոր է `լիովին փոխհատուցվող ելքով: Այն սպառում է շատ ավելի քիչ էներգիա և ներառում է ճնշման չափման համար չափազանց փոքր միկրոէլեկտրամեխանիկական սենսոր (MEMS): Սիգմա-դելտայի վրա հիմնված
Խոնավության և ջերմաստիճանի չափում `օգտագործելով HIH6130 և մասնիկի ֆոտոն` 4 քայլ
Խոնավության և ջերմաստիճանի չափում ՝ օգտագործելով HIH6130 և մասնիկի ֆոտոն. HIH6130- ը խոնավության և ջերմաստիճանի տվիչ է ՝ թվային ելքով: Այս տվիչները ապահովում են. 4% RH ճշգրտության մակարդակ: Արդյունաբերության առաջատար երկարաժամկետ կայունությամբ, իսկական ջերմաստիճանի փոխհատուցվող թվային I2C- ով, արդյունաբերության առաջատար հուսալիությամբ, էներգաարդյունավետությամբ