Բովանդակություն:
- Քայլ 1: Պահանջվում է սարքավորում
- Քայլ 2: Սարքավորման միացում
- Քայլ 3. Java կոդը ՝ մագնիսական դաշտի ինտենսիվությունը չափելու համար
- Քայլ 4: Դիմումներ
Video: Մագնիսական դաշտի չափում `օգտագործելով HMC5883 և ազնվամորի Pi: 4 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
HMC5883- ը թվային կողմնացույց է, որը նախատեսված է ցածր դաշտի մագնիսական զգայարանների համար: Այս սարքն ունի մագնիսական դաշտի լայն շրջանակ ՝ +/- 8 Օէ և ելքային արագություն ՝ 160 Հց: HMC5883 սենսորը ներառում է ժապավենի ավտոմատ անջատիչ շարժիչներ, օֆսեթ չեղարկում և 12-բիթանոց ADC, որը հնարավորություն է տալիս 1 ° -ից մինչև 2 ° կողմնացույցի վերնագրի ճշգրտություն: Բոլոր I²C մինի մոդուլները նախագծված են 5VDC- ով աշխատելու համար:
Այս ձեռնարկում մենք պատրաստվում ենք բացատրել HMC5883- ի մանրամասն աշխատանքը Raspberry pi- ի հետ և դրա ծրագրավորումը `օգտագործելով java ծրագրավորման լեզուն:
Քայլ 1: Պահանջվում է սարքավորում
Սարքավորումները, որոնք անհրաժեշտ են առաջադրանքը կատարելու համար, հետևյալն են.
1. HMC5883
2. Ազնվամորի Պի
3. I2C մալուխ
4. I2C Shield For Raspberry Pi
5. Ethernet մալուխ
Քայլ 2: Սարքավորման միացում
Սարքավորումների միացման բաժինը հիմնականում բացատրում է սենսորի և ազնվամորու pi- ի միջև պահանջվող լարերի միացումները: Connectionsանկալի ելքի համար ցանկացած համակարգի վրա աշխատելիս հիմնական անհրաժեշտությունն է հիմնական կապերի ապահովումը: Այսպիսով, անհրաժեշտ կապերը հետևյալն են.
HMC5883- ը կաշխատի I2C- ով: Ահա միացման սխեմայի օրինակ, որը ցույց է տալիս, թե ինչպես միացնել սենսորի յուրաքանչյուր միջերեսը:
Տուփից դուրս, տախտակը կազմաձևված է I2C ինտերֆեյսի համար, ուստի խորհուրդ ենք տալիս օգտագործել այս կապը, եթե այլապես ագնոստիկ եք: Ձեզ անհրաժեշտ է չորս լար:
Միայն չորս միացում է պահանջվում Vcc, Gnd, SCL և SDA կապում, որոնք միացված են I2C մալուխի օգնությամբ:
Այս կապերը ցուցադրվում են վերը նշված նկարներում:
Քայլ 3. Java կոդը ՝ մագնիսական դաշտի ինտենսիվությունը չափելու համար
Ազնվամորու pi- ի օգտագործման առավելությունն այն է, որ ապահովում է այն ծրագրավորման լեզվի ճկունությունը, որով ցանկանում եք ծրագրավորել տախտակը `սենսորը դրա հետ միացնելու համար: Օգտվելով այս տախտակի այս առավելությունից ՝ մենք այստեղ ցույց ենք տալիս, որ այն ծրագրավորում է Java- ում: HMC5883- ի համար Java կոդը կարելի է ներբեռնել մեր github համայնքից, որը Dcube Store- ն է:
Ինչպես նաև օգտվողների հեշտության համար, մենք այստեղ բացատրում ենք ծածկագիրը.
Որպես կոդավորման առաջին քայլ, java- ի դեպքում անհրաժեշտ է ներբեռնել pi4j գրադարանը, քանի որ այս գրադարանը աջակցում է կոդի մեջ օգտագործվող գործառույթներին: Այսպիսով, գրադարանը ներբեռնելու համար կարող եք այցելել հետևյալ հղումը.
pi4j.com/install.html
Այս սենսորի աշխատանքային java ծածկագիրը կարող եք պատճենել նաև այստեղից.
ներմուծել com.pi4j.io.i2c. I2CBus;
ներմուծել com.pi4j.io.i2c. I2CD սարք;
mport com.pi4j.io.i2c. I2CFactory;
ներմուծում java.io. IOException; հանրային դաս HMC5883
{
public static void main (String args ) նետում է Բացառություն
{
// Ստեղծել I2C ավտոբուս
I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);
// Ստացեք I2C սարք, HMC5883 I2C հասցեն ՝ 0x1E (30)
I2CDevice սարք = Bus.getDevice (0x1E);
// Ընտրեք կազմաձևման գրանցամատյան A
// Չափման նորմալ կազմաձևում, տվյալների արագություն o/p = 0.75 Հց
device.write (0x00, (բայթ) 0x60);
// Ընտրեք ռեժիմի գրանցամատյան
// Չափման շարունակական ռեժիմ
device.write (0x02, (բայթ) 0x00);
Thread.sleep (500);
// Կարդալ 6 բայթ տվյալներ 0x03 (3) -ից
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
բայթ տվյալներ = նոր բայթ [6];
device.read (0x03, տվյալներ, 0, 6);
// Փոխարկել տվյալները
int xMag = ((տվյալները [0] & 0xFF) * 256 + (տվյալները [1] & 0xFF));
եթե (xMag> 32767)
{
xMag -= 65536;
}
int zMag = ((տվյալները [2] & 0xFF) * 256 + (տվյալները [3] & 0xFF));
եթե (zMag> 32767)
{
zMag -= 65536;
}
int yMag = ((տվյալները [4] & 0xFF) * 256 + (տվյալները [5] & 0xFF));
եթե (yMag> 32767)
{
yMag -= 65536;
}
// Ելքի տվյալները էկրանին
System.out.printf («Մագնիսական դաշտ X- առանցքում. %D %n», xMag);
System.out.printf («Մագնիսական դաշտը Y- առանցքում. %D %n», yMag);
System.out.printf («Մագնիսական դաշտ Z- առանցքում. %D %n», zMag);
}
}
Գրելու () և կարդալու () գործառույթները օգտագործվում են համապատասխանաբար հրամանները գրելու և սենսորի ելքը կարդալու համար: Հետևյալ մասը ցույց է տալիս մագնիսական դաշտի արժեքների ընթերցումը:
// Կարդալ 6 բայթ տվյալներ 0x03 (3) -ից
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
բայթ տվյալներ = նոր բայթ [6];
device.read (0x03, տվյալներ, 0, 6);
Արդյունքը ցուցադրվում է վերևի նկարում:
Քայլ 4: Դիմումներ
HMC5883- ը մակերևույթի վրա տեղադրվող, մի քանի չիպային մոդուլ է, որը նախատեսված է ցածր դաշտի մագնիսական զգայարանների համար `թվային ինտերֆեյսով, այնպիսի ծրագրերի համար, ինչպիսիք են ցածրարժեք կողմնացույցը և մագնիսաչափությունը: Դրա մեկից երկու աստիճանի բարձր մակարդակի ճշգրտությունն ու ճշգրտությունը հնարավորություն է տալիս հետիոտնային նավարկություն և LBS ծրագրեր:
Խորհուրդ ենք տալիս:
Լույսի ինտենսիվության չափում `օգտագործելով BH1715 և ազնվամորի Pi: 5 քայլ
Լույսի ինտենսիվության չափում ՝ օգտագործելով BH1715 և Raspberry Pi. Երեկ մենք աշխատում էինք LCD էկրաններով, և դրանց վրա աշխատելիս մենք հասկացանք լույսի ինտենսիվության հաշվարկի կարևորությունը: Լույսի ինտենսիվությունը ոչ միայն կարևոր է այս աշխարհի ֆիզիկական տիրույթում, այլև իր լավ ասված դերն ունի կենսաբանության մեջ
Մագնիսական դաշտի չափում ՝ օգտագործելով HMC5883 և Arduino Nano: 4 քայլ
HMC5883- ի և Arduino Nano- ի միջոցով մագնիսական դաշտի չափում. HMC5883- ը թվային կողմնացույց է, որը նախատեսված է ցածր դաշտի մագնիսական զգայարանների համար: Այս սարքն ունի մագնիսական դաշտի լայն շրջանակ ՝ +/- 8 Օէ և ելքային արագություն ՝ 160 Հց: HMC5883 սենսորը ներառում է ժապավենների ավտոմատ հանող շարժիչներ, օֆսեթ չեղարկում և
Մագնիսական դաշտի չափում `օգտագործելով HMC5883 և մասնիկի ֆոտոն` 4 քայլ
Մագնիսական դաշտի չափում HMC5883- ի և մասնիկի ֆոտոնի միջոցով. HMC5883- ը թվային կողմնացույց է, որը նախատեսված է ցածր դաշտի մագնիսական զգայարանների համար: Այս սարքն ունի +/- 8 Oe լայն մագնիսական դաշտի միջակայք և 160 Հց թողունակություն: HMC5883 սենսորը ներառում է ժապավենների ավտոմատ հանող շարժիչներ, օֆսեթ չեղարկում և
Խոնավության չափում ՝ օգտագործելով HYT939 և ազնվամորի պի ՝ 4 քայլ
Խոնավության չափում HYT939- ի և Raspberry Pi- ի միջոցով. HYT939- ը խոնավության թվային տվիչ է, որն աշխատում է I2C հաղորդակցության արձանագրության վրա: Խոնավությունը առանցքային պարամետր է, երբ խոսքը վերաբերում է բժշկական համակարգերին և լաբորատորիաներին: Այսպիսով, այս նպատակներին հասնելու համար մենք փորձեցինք HYT939- ը կապել ազնվամորու pi- ի հետ: Ես
3 առանցքի մագնիսական դաշտի տվիչ ՝ 10 քայլ (նկարներով)
3-առանցքի մագնիսական դաշտի տվիչ. Անլար էներգիայի փոխանցման համակարգերը լավ ճանապարհով փոխարինում են սովորական լարային լիցքավորմանը: Սկսած փոքրիկ կենսաբժշկական իմպլանտներից մինչև հսկայական էլեկտրական մեքենաների անլար լիցքավորումը: Անլար էներգիայի վերաբերյալ հետազոտության անբաժանելի մասն է