Satura rādītājs:

Raspberry Pi - MPL3115A2 Precīzijas altimetra sensora Java apmācība: 4 soļi
Raspberry Pi - MPL3115A2 Precīzijas altimetra sensora Java apmācība: 4 soļi

Video: Raspberry Pi - MPL3115A2 Precīzijas altimetra sensora Java apmācība: 4 soļi

Video: Raspberry Pi - MPL3115A2 Precīzijas altimetra sensora Java apmācība: 4 soļi
Video: Raspberry Pi MPL3115A2 Precision Altimeter Sensor Java Tutorial 2024, Septembris
Anonim
Image
Image

MPL3115A2 izmanto MEMS spiediena sensoru ar I2C saskarni, lai nodrošinātu precīzus spiediena/augstuma un temperatūras datus. Sensora izejas tiek digitalizētas ar augstas izšķirtspējas 24 bitu ADC. Iekšējā apstrāde noņem kompensācijas uzdevumus no resursdatora MCU sistēmas. Tas spēj noteikt izmaiņas tikai 0,05 kPa, kas atbilst 0,3 m augstuma izmaiņām. Šeit ir tā demonstrācija ar aveņu pi, izmantojot java kodu.

1. solis: kas jums nepieciešams..

Ko tev vajag..!!
Ko tev vajag..!!

1. Aveņu Pi

2. MPL3115A2

3. I²C kabelis

4. I²C vairogs Raspberry Pi

5. Ethernet kabelis

2. darbība. Savienojumi:

Savienojumi
Savienojumi
Savienojumi
Savienojumi
Savienojumi
Savienojumi
Savienojumi
Savienojumi

Paņemiet I2C vairogu aveņu pi un viegli piespiediet to pa aveņu pi gpio tapām.

Pēc tam pievienojiet I2C kabeļa vienu galu MPL3115A2 sensoram un otru galu pie I2C vairoga.

Pievienojiet arī Ethernet kabeli pie pi vai varat izmantot WiFi moduli.

Savienojumi ir parādīti attēlā iepriekš.

3. darbība: kods:

Kods
Kods

MPL3115A2 Java kodu var lejupielādēt no mūsu github krātuves DCUBE Store.

Šeit ir saite uz to pašu:

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

Mēs esam izmantojuši pi4j bibliotēku Java kodam, soļi pi4j instalēšanai aveņu pi ir aprakstīti šeit:

pi4j.com/install.html

Varat arī nokopēt kodu no šejienes, tas ir norādīts šādi:

// Izplatīts ar brīvās gribas licenci.

// Izmantojiet to jebkurā veidā, bez peļņas vai bez maksas, ja tas iekļaujas saistīto darbu licencēs.

// MPL3115A2

// Šis kods ir paredzēts darbam ar MPL3115A2_I2CS I2C mini moduli, kas pieejams no

importēt com.pi4j.io.i2c. I2CBus;

importēt com.pi4j.io.i2c. I2CDevice;

importēt com.pi4j.io.i2c. I2CFactory;

importēt java.io. IOException;

publiskā klase MPL3115A2

{

public static void main (String args ) metieni Izņēmums

{

// Izveidot I2C kopni

I2CBus kopne = I2CFactory.getInstance (I2CBus. BUS_1);

// Iegūt I2C ierīci, MPL3115A2 I2C adrese ir 0x60 (96)

I2CDevice device = Bus.getDevice (0x60);

// Atlasiet vadības reģistru

// Aktīvais režīms, OSR = 128, altimetra režīms

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

// Atlasiet datu konfigurācijas reģistru

// Datu gatavs notikums ir iespējots augstumam, spiedienam, temperatūrai

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

// Atlasiet vadības reģistru

// Aktīvais režīms, OSR = 128, altimetra režīms

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

Vītne.miega (1000);

// Nolasīt 6 baitus datu no adreses 0x00 (00)

// statuss, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb

baits dati = jauns baits [6];

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

// Pārvērst datus par 20 bitiem

int tAugstums = ((((dati [1] & 0xFF) * 65536) + ((dati [2] un 0xFF) * 256) + (dati [3] un 0xF0)) / 16);

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

dubults augstums = tAugstums / 16,0;

dubultā cTemp = (temp / 16,0);

dubultā fTemp = cTemp * 1,8 + 32;

// Atlasiet vadības reģistru

// Aktīvais režīms, OSR = 128, barometra režīms

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

Vītne.miega (1000);

// Nolasīt 4 baitus datu no adreses 0x00 (00)

// statuss, pres msb1, pres msb, pres lsb

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

// Pārvērst datus par 20 bitiem

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

dubultspiediens = (pres / 4,0) / 1000,0;

// Izvadiet datus ekrānā

System.out.printf ("Spiediens: %.2f kPa %n", spiediens);

System.out.printf ("Augstums: %.2f m %n", augstums);

System.out.printf ("Temperatūra pēc Celsija: %.2f C %n", cTemp);

System.out.printf ("Temperatūra pēc Fārenheita: %.2f F %n", fTemp);

}

}

4. darbība. Lietojumprogrammas:

Dažādi MPL3115A2 pielietojumi ietver augstas precizitātes altimetriju, viedtālruņus/planšetdatorus, personīgās elektronikas altimetriju utt. To var iekļaut arī GPS mirušo aprēķinā, GPS uzlabojumos ārkārtas dienestiem, karšu palīglīdzekļos, navigācijā, kā arī meteoroloģisko staciju aprīkojumā.

Ieteicams: