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

Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java ձեռնարկ. 4 քայլ
Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java ձեռնարկ. 4 քայլ

Video: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java ձեռնարկ. 4 քայլ

Video: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java ձեռնարկ. 4 քայլ
Video: Raspberry Pi MPL3115A2 Precision Altimeter Sensor Java Tutorial 2024, Սեպտեմբեր
Anonim
Image
Image

MPL3115A2- ն օգտագործում է MEMS ճնշման տվիչ ՝ I2C ինտերֆեյսով ՝ ճշգրիտ ճնշման/բարձրության և ջերմաստիճանի տվյալներ ապահովելու համար: Սենսորային ելքերը թվայնացվում են բարձր լուծման 24-բիթանոց ADC- ով: Ներքին մշակումը հեռացնում է փոխհատուցման առաջադրանքները ընդունող MCU համակարգից: Այն ունակ է հայտնաբերել միայն 0.05 կՊա -ի փոփոխություն, ինչը հավասար է 0.3 մ բարձրության փոփոխության: Ահա դրա ցուցադրումը ազնվամորու pi- ի միջոցով `օգտագործելով java ծածկագիրը:

Քայլ 1: Այն, ինչ ձեզ հարկավոր է..

Այն, ինչ ձեզ պետք է.. !!
Այն, ինչ ձեզ պետք է.. !!

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

2. MPL3115A2

3. I²C մալուխ

4. I²C Shield ազնվամորի Pi- ի համար

5. Ethernet մալուխ

Քայլ 2: Միացումներ

Միացումներ
Միացումներ
Միացումներ
Միացումներ
Միացումներ
Միացումներ
Միացումներ
Միացումներ

Վերցրեք I2C վահան ազնվամորու pi- ի համար և նրբորեն մղեք այն ազնվամորի pi- ի gpio կապանքների վրա:

Այնուհետև I2C մալուխի մի ծայրը միացրեք MPL3115A2 սենսորին, իսկ մյուս ծայրը ՝ I2C վահանին:

Միացրեք Ethernet մալուխը pi- ին կամ կարող եք օգտագործել WiFi մոդուլ:

Կապերը ցուցադրվում են վերևի նկարում:

Քայլ 3: Կոդ

Կոդ
Կոդ

MPL3115A2- ի համար java կոդը կարելի է ներբեռնել մեր github պահոցից ՝ DCUBE Store:

Ահա նույնի հղումը.

github.com/DcubeTechVentures/MPL3115A2/tree/master/Java

Մենք օգտագործել ենք pi4j գրադարանը java կոդի համար, ազնվամորի pi- ի վրա pi4j տեղադրելու քայլերը նկարագրված են այստեղ.

pi4j.com/install.html

Այստեղից կարող եք նաև պատճենել կոդը, այն տրվում է հետևյալ կերպ.

// Տարածված է ազատ կամքի լիցենզիայով:

// Օգտագործեք այն ինչպես ցանկանում եք, շահույթ կամ անվճար, պայմանով, որ այն տեղավորվում է դրա հետ կապված աշխատանքների լիցենզիաներում:

// MPL3115A2

// Այս կոդը նախատեսված է MPL3115A2_I2CS I2C մինի մոդուլի հետ աշխատելու համար

ներմուծել 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)

I2CDevice սարք = Bus.getDevice (0x60);

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

// Ակտիվ ռեժիմ, OSR = 128, բարձրաչափի ռեժիմ

device.write (0x26, (բայթ) 0xB9);

// Ընտրեք տվյալների կազմաձևման գրանցամատյան

// Տվյալների պատրաստ իրադարձությունը միացված է բարձրության, ճնշման, ջերմաստիճանի համար

device.write (0x13, (բայթ) 0x07);

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

// Ակտիվ ռեժիմ, OSR = 128, բարձրաչափի ռեժիմ

device.write (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, բարոմետր ռեժիմ

device.write (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: Դիմումներ

MPL3115A2- ի տարբեր ծրագրեր ներառում են բարձր ճշգրտության բարձրաչափություն, սմարթֆոններ/պլանշետներ, անհատական էլեկտրոնիկայի բարձրաչափություն և այլն: Այն կարող է ներառվել նաև GPS Dead Reckoning, GPS Enhancement for Emergency Services, Map Assist, Navigation, ինչպես նաև Եղանակային կայանի սարքավորումներում:

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