Turinys:

„Raspberry Pi“- MPL3115A2 „Precision Altimeter Sensor Java“pamoka: 4 žingsniai
„Raspberry Pi“- MPL3115A2 „Precision Altimeter Sensor Java“pamoka: 4 žingsniai
Anonim
Image
Image

MPL3115A2 naudojamas MEMS slėgio jutiklis su I2C sąsaja, kad būtų gauti tikslūs slėgio/aukščio ir temperatūros duomenys. Jutiklių išėjimai yra skaitmeninami didelės skiriamosios gebos 24 bitų ADC. Vidinis apdorojimas pašalina kompensavimo užduotis iš pagrindinės MCU sistemos. Jis gali aptikti tik 0,05 kPa pokytį, o tai prilygsta 0,3 m aukščio pokyčiui. Čia yra jo demonstravimas su aviečių pi naudojant „Java“kodą.

1 žingsnis: ko jums reikia..

Ko tau reikia..!!
Ko tau reikia..!!

1. Avietė Pi

2. MPL3115A2

3. I²C kabelis

4. „I²C Shield“, skirtas „Raspberry Pi“

5. Ethernet kabelis

2 žingsnis: jungtys:

Sujungimai
Sujungimai
Sujungimai
Sujungimai
Sujungimai
Sujungimai
Sujungimai
Sujungimai

Paimkite aviečių pi I2C skydą ir švelniai stumkite jį virš aviečių pi gpio kaiščių.

Tada vieną I2C kabelio galą prijunkite prie MPL3115A2 jutiklio, o kitą - prie I2C skydo.

Taip pat prijunkite Ethernet kabelį prie pi arba galite naudoti „WiFi“modulį.

Sujungimai parodyti aukščiau esančiame paveikslėlyje.

3 žingsnis: kodas:

Kodas
Kodas

„MPL3115A2“„Java“kodą galima atsisiųsti iš mūsų „github“saugyklos- „DCUBE Store“.

Čia yra nuoroda į tą patį:

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

„Java“kodui naudojome „pi4j“biblioteką, čia aprašyti veiksmai, kaip įdiegti „pi4j“į aviečių pi:

pi4j.com/install.html

Taip pat galite nukopijuoti kodą iš čia, jis pateikiamas taip:

// Platinama su laisvos valios licencija.

// Naudokite bet kokiu būdu, pelningai ar nemokamai, jei jis atitinka susijusių darbų licencijas.

// MPL3115A2

// Šis kodas skirtas dirbti su MPL3115A2_I2CS I2C mini moduliu, kurį galima įsigyti iš

importuoti com.pi4j.io.i2c. I2CBus;

importuoti com.pi4j.io.i2c. I2CDevice;

importuoti com.pi4j.io.i2c. I2CFactory;

importuoti java.io. IOException;

viešoji klasė MPL3115A2

{

public static void main (String args ) metimai Išimtis

{

// Sukurti I2C magistralę

I2CBus magistralė = I2CFactory.getInstance (I2CBus. BUS_1);

// Gaukite I2C įrenginį, MPL3115A2 I2C adresas yra 0x60 (96)

I2CDevice device = Bus.getDevice (0x60);

// Pasirinkite valdymo registrą

// Aktyvusis režimas, OSR = 128, altimetro režimas

device.write (0x26, (baitas) 0xB9);

// Pasirinkite duomenų konfigūracijos registrą

// Įgalintas duomenų paruošimo įvykis aukščiui, slėgiui, temperatūrai

device.write (0x13, (baitas) 0x07);

// Pasirinkite valdymo registrą

// Aktyvusis režimas, OSR = 128, altimetro režimas

device.write (0x26, (baitas) 0xB9);

Siūlai. Miegas (1000);

// Perskaitykite 6 baitus duomenų iš adreso 0x00 (00)

// būsena, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb

baitas duomenys = naujas baitas [6];

device.read (0x00, duomenys, 0, 6);

// Konvertuokite duomenis į 20 bitų

int tHeight = ((((duomenys [1] ir 0xFF) * 65536) + ((duomenys [2] ir 0xFF) * 256) + (duomenys [3] ir 0xF0)) / 16);

int temp = ((duomenys [4] * 256) + (duomenys [5] ir 0xF0)) / 16;

dvigubas aukštis = tAukštis / 16,0;

dvigubas cTemp = (temp / 16,0);

dvigubas fTemp = cTemp * 1,8 + 32;

// Pasirinkite valdymo registrą

// Aktyvusis režimas, OSR = 128, barometro režimas

device.write (0x26, (baitas) 0x39);

Siūlai. Miegas (1000);

// Perskaitykite 4 baitus duomenų iš adreso 0x00 (00)

// status, pres msb1, pres msb, pres lsb

device.read (0x00, duomenys, 0, 4);

// Konvertuokite duomenis į 20 bitų

int pres = (((duomenys [1] ir 0xFF) * 65536) + ((duomenys [2] ir 0xFF) * 256) + (duomenys [3] ir 0xF0)) / 16;

dvigubas slėgis = (pres / 4,0) / 1000,0;

// Išvesti duomenis į ekraną

System.out.printf ("Slėgis: %.2f kPa %n", slėgis);

System.out.printf ("Aukštis: %.2f m %n", aukštis);

System.out.printf ("Temperatūra Celsijaus: %.2f C %n", cTemp);

System.out.printf ("Temperatūra Farenheitu: %.2f F %n", fTemp);

}

}

4 žingsnis: programos:

Įvairios MPL3115A2 programos apima didelio tikslumo altimetriją, išmaniuosius telefonus/planšetinius kompiuterius, asmeninės elektronikos aukščio matavimus ir tt. Jis taip pat gali būti įtrauktas į GPS mirusiųjų skaičiavimą, GPS gerinimą skubios pagalbos tarnyboms, žemėlapio pagalbinę įrangą, navigaciją ir orų stoties įrangą.

Rekomenduojamas: