Innehållsförteckning:

Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java Tutorial: 4 Steg
Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java Tutorial: 4 Steg

Video: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java Tutorial: 4 Steg

Video: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java Tutorial: 4 Steg
Video: Arduino Nano - MPL3115A2 Precision Altimeter Sensor Tutorial 2024, Juni
Anonim
Image
Image

MPL3115A2 använder en MEMS -trycksensor med ett I2C -gränssnitt för att ge exakta tryck/höjd- och temperaturdata. Sensorutgångarna digitaliseras med en högupplöst 24-bitars ADC. Intern behandling tar bort kompensationsuppgifter från värd -MCU -systemet. Den kan upptäcka en förändring på endast 0,05 kPa vilket motsvarar en höjdförändring på 0,3 m. Här är dess demonstration med hallon pi med Java -kod.

Steg 1: Vad du behöver.. !

Vad du behöver..!!
Vad du behöver..!!

1. Hallon Pi

2. MPL3115A2

3. I²C -kabel

4. I²C -sköld för Raspberry Pi

5. Ethernet -kabel

Steg 2: Anslutningar:

Anslutningar
Anslutningar
Anslutningar
Anslutningar
Anslutningar
Anslutningar
Anslutningar
Anslutningar

Ta en I2C -sköld för hallonpi och tryck den försiktigt över gpio -stiften på hallonpi.

Anslut sedan den ena änden av I2C -kabeln till MPL3115A2 -sensorn och den andra änden till I2C -skärmen.

Anslut också Ethernet -kabeln till pi eller så kan du använda en WiFi -modul.

Anslutningar visas på bilden ovan.

Steg 3: Kod:

Koda
Koda

Java-koden för MPL3115A2 kan laddas ner från vårt github-arkiv- DCUBE Store.

Här är länken till samma:

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

Vi har använt pi4j -biblioteket för java -kod, stegen för att installera pi4j på hallon pi beskrivs här:

pi4j.com/install.html

Du kan också kopiera koden härifrån, den ges enligt följande:

// Distribueras med en fri vilja licens.

// Använd den hur du vill, vinst eller gratis, förutsatt att den passar i licensen för dess associerade verk.

// MPL3115A2

// Denna kod är utformad för att fungera med MPL3115A2_I2CS I2C Mini Module tillgänglig från

importera com.pi4j.io.i2c. I2CBus;

importera com.pi4j.io.i2c. I2CDenhet;

importera com.pi4j.io.i2c. I2CFactory;

importera java.io. IOException;

offentlig klass MPL3115A2

{

public static void main (String args ) kastar undantag

{

// Skapa I2C -buss

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

// Skaffa I2C -enhet, MPL3115A2 I2C -adress är 0x60 (96)

I2CDevice -enhet = Bus.getDevice (0x60);

// Välj kontrollregister

// Aktivt läge, OSR = 128, höjdmätarläge

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

// Välj datakonfigurationsregister

// Dataklar händelse aktiverad för höjd, tryck, temperatur

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

// Välj kontrollregister

// Aktivt läge, OSR = 128, höjdmätarläge

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

Tråd. Sover (1000);

// Läs 6 byte med data från adressen 0x00 (00)

// status, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb

byte data = ny byte [6];

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

// Konvertera data till 20-bitar

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

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

dubbel höjd = tHöjd / 16,0;

dubbel cTemp = (temp / 16,0);

dubbel fTemp = cTemp * 1,8 + 32;

// Välj kontrollregister

// Aktivt läge, OSR = 128, barometerläge

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

Tråd. Sover (1000);

// Läs 4 byte med data från adressen 0x00 (00)

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

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

// Konvertera data till 20-bitar

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

dubbel tryck = (pres / 4.0) / 1000.0;

// Mata ut data till skärmen

System.out.printf ("Tryck: %.2f kPa %n", tryck);

System.out.printf ("Höjd: %.2f m %n", höjd);

System.out.printf ("Temperatur i Celsius: %.2f C %n", cTemp);

System.out.printf ("Temperatur i Fahrenheit: %.2f F %n", fTemp);

}

}

Steg 4: Ansökningar:

Olika tillämpningar av MPL3115A2 inkluderar hög noggrannhetsmätning, smartphones/surfplattor, personlig elektronisk höjdmätning etc. Det kan också införlivas med GPS Dead Reckoning, GPS -förbättring för räddningstjänster, kartassistans, navigering samt väderstationsutrustning.

Rekommenderad: