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

Օգտագործելով Raspberry Pi, չափեք բարձրությունը, ճնշումը և ջերմաստիճանը MPL3115A2- ով ՝ 6 քայլ
Օգտագործելով Raspberry Pi, չափեք բարձրությունը, ճնշումը և ջերմաստիճանը MPL3115A2- ով ՝ 6 քայլ

Video: Օգտագործելով Raspberry Pi, չափեք բարձրությունը, ճնշումը և ջերմաստիճանը MPL3115A2- ով ՝ 6 քայլ

Video: Օգտագործելով Raspberry Pi, չափեք բարձրությունը, ճնշումը և ջերմաստիճանը MPL3115A2- ով ՝ 6 քայլ
Video: How to setup and use ESP32 Cam with Micro USB WiFi Camera 2024, Հուլիսի
Anonim
Image
Image
Մեզ անհրաժեշտ անփոխարինելի սարքավորումներ
Մեզ անհրաժեշտ անփոխարինելի սարքավորումներ

Իմացեք, թե ինչն է ձեզ պատկանում և իմացեք, թե ինչու է դա ձեզ պատկանում:

Հետաքրքրաշարժ է: Մենք ապրում ենք ինտերնետի ավտոմատացման դարաշրջանում, քանի որ այն ընկղմվում է նոր ծրագրերի բազմության մեջ: Որպես համակարգչային և էլեկտրոնիկայի սիրահարներ, մենք շատ բան ենք սովորում Raspberry Pi- ի հետ և որոշեցինք համատեղել մեր հետաքրքրությունները: Այս նախագիծը տևում է մոտ մեկ ժամ, եթե դուք նոր եք I²C կապերի և Softwareրագրաշարի տեղադրման մեջ, և դա հիանալի միջոց է ընդլայնելու MPL3115A2- ի հնարավորությունները Raspberry Pi- ով Java- ում:

Քայլ 1: Անհրաժեշտ սարքավորումներ, որոնք մեզ անհրաժեշտ են

Մեզ անհրաժեշտ անփոխարինելի սարքավորումներ
Մեզ անհրաժեշտ անփոխարինելի սարքավորումներ
Մեզ անհրաժեշտ անփոխարինելի սարքավորումներ
Մեզ անհրաժեշտ անփոխարինելի սարքավորումներ
Մեզ անհրաժեշտ անփոխարինելի սարքավորումներ
Մեզ անհրաժեշտ անփոխարինելի սարքավորումներ

1. Ազնվամորի Պի

Առաջին քայլը Raspberry Pi տախտակի ձեռքբերումն էր: Այս փոքրիկ հանճարը օգտագործվում է հոբբիիստների, ուսուցիչների և նորարար միջավայրեր ստեղծելու համար:

2. I2C Shield ազնվամորու Pi- ի համար

INPI2- ը (I2C ադապտեր) ապահովում է Raspberry Pi 2/3 և I²C պորտը I2C բազմաթիվ սարքերով օգտագործելու համար: Այն հասանելի է Dcube Store- ում:

3. Բարձրաչափ, ճնշման և ջերմաստիճանի տվիչ, MPL3115A2:

MPL3115A2- ը MEMS ճնշման տվիչ է ՝ I²C ինտերֆեյսով, որը տալիս է ճնշման, բարձրության և ջերմաստիճանի տվյալներ: Այս տվիչը հաղորդակցության համար օգտագործում է I²2 արձանագրությունը: Այս սենսորը մենք գնել ենք Dcube Store- ից:

4. Միացման մալուխ

Մենք օգտագործեցինք IcC միացման մալուխը, որը հասանելի է Dcube Store- ում:

5. Միկրո USB մալուխ

Raspberry Pi- ն սնուցվում է միկրո USB սնուցման միջոցով:

6. Ինտերնետ հասանելիության բարելավում - Ethernet մալուխ/WiFi մոդուլ

Առաջին բաներից մեկը, որ կցանկանաք անել, դա ձեր Raspberry Pi- ի ինտերնետին միացումն է: Կարող եք միանալ Ethernet մալուխի միջոցով կամ անլար USB Nano WiFi ադապտերի միջոցով:

7. HDMI մալուխ (ըստ ցանկության, ձեր ընտրությամբ)

Դուք կարող եք միացնել Raspberry Pi- ն մոնիտորին `օգտագործելով HDMI մալուխ: Բացի այդ, դուք կարող եք հեռակա մուտք գործել ձեր Raspberry Pi ՝ օգտագործելով SSH/PuTTY:

Քայլ 2: Սարքաշարային միացումներ `միացնելու համար միացումը

Սարքաշարային միացումներ `միացնել շրջանագիծը
Սարքաշարային միացումներ `միացնել շրջանագիծը
Սարքաշարային միացումներ `միացնել շրջանագիծը
Սարքաշարային միացումներ `միացնել շրջանագիծը

Կատարեք սխեման ըստ ցուցադրված սխեմատիկայի: Ընդհանուր առմամբ, կապերը բավականին պարզ են: Հետևեք վերը նշված հրահանգներին և պատկերներին, և դուք չպետք է խնդիրներ ունենաք: Պլանավորելու ընթացքում մենք նայեցինք ապարատային և կոդավորման, ինչպես նաև էլեկտրոնիկայի հիմունքներին: Մենք ցանկանում էինք նախագծել էլեկտրոնիկայի պարզ սխեմատիկ այս նախագծի համար: Դիագրամում դուք կարող եք նկատել տարբեր մասեր, էներգիայի բաղադրիչներ և I²C սենսոր ՝ հետևելով I²C հաղորդակցության արձանագրություններին: Հուսանք, սա ցույց է տալիս, թե որքան պարզ է այս նախագծի էլեկտրոնիկան:

Raspberry Pi- ի և I2C Shield- ի միացում

Դրա համար ՝ Raspberry Pi և տեղադրեք I²C Shield- ը դրա վրա: Մեղմորեն սեղմեք վահանը (տես նկարը):

Սենսորային և ազնվամորու Pi- ի միացում

Վերցրեք տվիչը և միացրեք I²C մալուխը դրա հետ: Համոզվեք, որ I²C ելքը ՄԻՇՏ միանում է I²C մուտքին: Նույնը պետք է հաջորդի Raspberry Pi- ին, որի վրա տեղադրված է I²C վահանը: Մենք ունենք I²C Shield և I²C միացնող մալուխները մեր կողմից ՝ որպես մեծ առավելություն, քանի որ մեզ մնում է միայն plug and play տարբերակը: Այլևս քորոցների և էլեկտրագծերի խնդիր չկա, և, հետևաբար, խառնաշփոթը վերացել է: Ինչպիսի relief թեթևացում, ինչպես պարզապես պատկերացրեք ինքներդ ձեզ լարերի ցանցում և դրա մեջ մտնելով: Այսքան պարզ!

Նշում. Շագանակագույն մետաղալարը միշտ պետք է հետևի Ground (GND) կապին մի սարքի ելքի և մեկ այլ սարքի մուտքի միջև:

Ինտերնետ կապը վճռորոշ նշանակություն ունի

Մեր նախագիծը հաջողակ դարձնելու համար մեզ անհրաժեշտ է ինտերնետ հասանելիություն մեր Raspberry Pi- ի համար: Այս դեպքում դուք ունեք տարբերակներ, ինչպիսիք են Ethernet (LAN) մալուխի միացումը: Բացի այդ, որպես WiFi ադապտեր օգտագործելու այլընտրանքային, բայց տպավորիչ միջոց:

Շղթայի սնուցումը

Միացրեք Micro USB մալուխը Raspberry Pi- ի սնուցման վարդակին: Միացրեք այն և voila, մենք լավ ենք գնում:

Միացում էկրանին

Մենք կարող ենք կամ HDMI մալուխը միացնել մոնիտորին, կամ կարող ենք մի փոքր նորարար լինել մեր անգլուխ Pi- ն (օգտագործելով -SSH/PuTTY), որն օգնում է կրճատել լրացուցիչ ծախսերը, քանի որ մենք ինչ -որ կերպ հոբբիստ ենք:

Երբ սովորությունը սկսում է գումար արժենալ, այն կոչվում է հոբբի:

Քայլ 3: Raspberry Pi ծրագրավորում Java- ում

Raspberry Pi ծրագրավորում Java- ում
Raspberry Pi ծրագրավորում Java- ում

Raspberry Pi- ի և MPL3115A2 ցուցիչի համար Java կոդը: Այն հասանելի է մեր Github շտեմարանում:

Նախքան ծածկագրին անցնելը, համոզվեք, որ կարդացել եք Readme ֆայլում տրված հրահանգները և ըստ դրա կարգավորեք ձեր Raspberry Pi- ն: Դա անելու համար կպահանջվի ընդամենը մի պահ: Բարձրությունը հաշվարկվում է ճնշումից ՝ օգտագործելով ստորև բերված հավասարումը.

h = 44330.77 {1 - (p / p0) ^ 0.1902632} + OFF_H (Register Value)

որտեղ p0 = ծովի մակարդակի ճնշումը (101326 Pa) և h- ը մետր է: MPL3115A2- ն օգտագործում է այս արժեքը, քանի որ օֆսեթ գրանցամատյանը սահմանվում է որպես 2 Pascals մեկ LSB- ի համար: Կոդն ակնհայտորեն ձեր առջև է և այն ամենապարզ ձևով, որը դուք կարող եք պատկերացնել, և դուք չպետք է խնդիրներ ունենաք:

Այս սենսորի համար կարող եք պատճենել նաև աշխատող Java կոդը:

// Տարածված է ազատ կամքի լիցենզիայի միջոցով: // MPL3115A2 // Այս կոդը նախատեսված է աշխատելու MPL3115A2_I2CS I2C մինի մոդուլի հետ, որը հասանելի է ControlEverything.com- ից: //

ներմուծել com.pi4j.io.i2c. I2CBus;

ներմուծել com.pi4j.io.i2c. I2CD սարք; ներմուծել com.pi4j.io.i2c. I2CFactory; ներմուծում java.io. IOException;

հանրային դաս MPL3115A2

{public static void main (String args ) նետում է Բացառություն {// Ստեղծել I2C ավտոբուս I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // Ստացեք I2C սարք, MPL3115A2 I2C հասցեն ՝ 0x60 (96) I2CD սարքի սարք = Bus.getDevice (0x60); // Ընտրել կառավարման ռեգիստր // Ակտիվ ռեժիմ, OSR = 128, բարձրաչափ ռեժիմի սարք: գրել (0x26, (բայթ) 0xB9); // Ընտրեք տվյալների կազմաձևման գրանցամատյան // Տվյալների պատրաստ իրադարձությունը միացված է բարձրության, ճնշման, ջերմաստիճանի սարքի համար: գրել (0x13, (բայթ) 0x07); // Ընտրել կառավարման ռեգիստր // Ակտիվ ռեժիմ, OSR = 128, բարձրաչափ ռեժիմի սարք: գրել (0x26, (բայթ) 0xB9); Thread.sleep (1000);

// Կարդացեք 6 բայթ տվյալներ 0x00 հասցեից (00)

// կարգավիճակ, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb բայթ տվյալներ = նոր բայթ [6]; device.read (0x00, տվյալներ, 0, 6);

// Տվյալները փոխակերպեք 20 բիթ

int tHeight = ((((տվյալները [1] & 0xFF) * 65536) + ((տվյալները [2] & 0xFF) * 256) + (տվյալները [3] & 0xF0)) / 16); int temp = ((տվյալները [4] * 256) + (տվյալները [5] & 0xF0)) / 16; կրկնակի բարձրություն = t Բարձրություն / 16.0; կրկնակի cTemp = (temp / 16.0); կրկնակի fTemp = cTemp * 1.8 + 32;

// Ընտրեք հսկիչ գրանցամատյան

// Ակտիվ ռեժիմ, OSR = 128, բարոմետր ռեժիմի սարք: գրել (0x26, (բայթ) 0x39); Thread.sleep (1000); // Կարդացեք 4 բայթ տվյալներ 0x00 (00) հասցեից // կարգավիճակ, pres msb1, pres msb, pres lsb device.read (0x00, տվյալներ, 0, 4);

// Տվյալները փոխակերպեք 20 բիթ

int pres = (((տվյալները [1] & 0xFF) * 65536) + ((տվյալները [2] & 0xFF) * 256) + (տվյալները [3] & 0xF0)) / 16; կրկնակի ճնշում = (pres / 4.0) / 1000.0; // Մուտքագրեք տվյալները System.out.printf էկրանին («Pressնշում. %.2f kPa %n», ճնշում); System.out.printf ("Բարձրություն. %.2f m %n", բարձրություն); System.out.printf («elsերմաստիճանը Celsius: %.2f C %n», cTemp); System.out.printf («Fերմաստիճանը Ֆարենհայտում ՝ %.2f F %n», fTemp); }}

Քայլ 4. Օրենսգրքի գործնականությունը (աշխատանքային)

Օրենսգրքի գործնականությունը (աշխատանքային)
Օրենսգրքի գործնականությունը (աշխատանքային)

Այժմ, ներբեռնեք (կամ git pull) ծածկագիրը և բացեք այն Raspberry Pi- ում: Գործարկեք տերմինալում կոդը կազմելու և վերբեռնելու հրամանները և տեսեք արտադրանքը Մոնիտորի վրա: Մի քանի վայրկյան անց այն կցուցադրի բոլոր պարամետրերը: Համոզվելուց հետո, որ ամեն ինչ հարթ է աշխատում, կարող եք այս նախագիծը դարձնել ավելի մեծ նախագիծ:

Քայլ 5: Applicրագրեր և առանձնահատկություններ

MPL3115A2 Precision Altimeter սենսորի ընդհանուր օգտագործումը այնպիսի ծրագրերում են, ինչպիսիք են Քարտեզը (Քարտեզի օժանդակություն, նավարկություն), Մագնիսական կողմնացույց, կամ GPS (GPS Dead Reckoning, GPS Enhancement For Emergency Services), Բարձր ճշգրտության բարձրաչափություն, սմարթֆոններ/պլանշետներ, անհատական էլեկտրոնիկայի բարձրաչափություն և Արբանյակներ (Եղանակային կայանի սարքավորում/կանխատեսում):

Օրինակ ՝ Այս սենսորից և Rasp Pi- ից օգտվելով ՝ կարող եք կառուցել թվային տեսողական բարձրաչափ, սահելու համար սարքավորումների ամենակարևոր մասը, որը կարող է չափել բարձրությունը, օդի ճնշումը և ջերմաստիճանը: Դուք կարող եք ավելացնել քամու շղարշ և այլ տվիչներ, որպեսզի ավելի հետաքրքիր դարձնեք:

Քայլ 6: Եզրակացություն

Քանի որ ծրագիրը զարմանալիորեն հարմարեցված է, կան շատ հետաքրքիր եղանակներ, որոնցով կարող եք երկարաձգել այս նախագիծը և այն դարձնել ավելի լավը: Օրինակ, բարձրաչափը/միջերեսաչափը կներառի կայմերի վրա տեղադրված մի քանի բարձրաչափեր, որոնք միաժամանակ կստանան չափումներ `ապահովելով շարունակական, մեկ կամ բազմաբարձրաչափ լայնածավալ ծածկույթ: Մենք YouTube- ում ունենք հետաքրքիր վիդեո ձեռնարկ, որը կարող է օգնել ձեզ ավելի լավ հասկանալ այս նախագիծը:

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