Innholdsfortegnelse:

Raspberry Pi - MPL3115A2 Java Precision Altimeter Sensor Java Opplæring: 4 trinn
Raspberry Pi - MPL3115A2 Java Precision Altimeter Sensor Java Opplæring: 4 trinn

Video: Raspberry Pi - MPL3115A2 Java Precision Altimeter Sensor Java Opplæring: 4 trinn

Video: Raspberry Pi - MPL3115A2 Java Precision Altimeter Sensor Java Opplæring: 4 trinn
Video: Raspberry Pi MPL3115A2 Precision Altimeter Sensor Java Tutorial 2024, Juni
Anonim
Image
Image

MPL3115A2 bruker en MEMS -trykksensor med et I2C -grensesnitt for å gi nøyaktige trykk-/høyde- og temperaturdata. Sensorutgangene digitaliseres med en høyoppløselig 24-biters ADC. Intern behandling fjerner kompensasjonsoppgaver fra verts -MCU -systemet. Den er i stand til å oppdage en endring på bare 0,05 kPa som tilsvarer en endring i høyde på 0,3 m. Her er demonstrasjonen med bringebær pi ved hjelp av java -kode.

Trinn 1: Hva du trenger..

Hva trenger du..!!
Hva trenger du..!!

1. Bringebær Pi

2. MPL3115A2

3. I²C -kabel

4. I²C Shield for Raspberry Pi

5. Ethernet -kabel

Trinn 2: Tilkoblinger:

Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger

Ta et I2C -skjold for bringebærpi og skyv det forsiktig over gpio -pinnene til bringebærpi.

Koble deretter den ene enden av I2C -kabelen til MPL3115A2 -sensoren og den andre enden til I2C -skjoldet.

Koble også Ethernet -kabelen til pi eller du kan bruke en WiFi -modul.

Tilkoblinger er vist på bildet ovenfor.

Trinn 3: Kode:

Kode
Kode

Java-koden for MPL3115A2 kan lastes ned fra vårt github-depot- DCUBE Store.

Her er lenken til det samme:

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

Vi har brukt pi4j bibliotek for java -kode, trinnene for å installere pi4j på bringebær pi er beskrevet her:

pi4j.com/install.html

Du kan også kopiere koden herfra, den er gitt som følger:

// Distribuert med en fri viljelisens.

// Bruk den slik du vil, profitt eller gratis, forutsatt at den passer inn i lisensene til de tilhørende verkene.

// MPL3115A2

// Denne koden er designet for å fungere med MPL3115A2_I2CS I2C Mini Module tilgjengelig fra

importer com.pi4j.io.i2c. I2CBus;

importer com.pi4j.io.i2c. I2CDenhet;

importer com.pi4j.io.i2c. I2CFactory;

importer java.io. IOException;

offentlig klasse MPL3115A2

{

public static void main (String args ) kaster Unntak

{

// Lag I2C -buss

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

// Få I2C -enhet, MPL3115A2 I2C -adresse er 0x60 (96)

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

// Velg kontrollregister

// Aktiv modus, OSR = 128, høydemåler modus

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

// Velg datakonfigurasjonsregister

// Dataklar hendelse aktivert for høyde, trykk, temperatur

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

// Velg kontrollregister

// Aktiv modus, OSR = 128, høydemåler modus

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

Tråd. Sover (1000);

// Les 6 byte data fra adresse 0x00 (00)

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

byte data = ny byte [6];

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

// Konverter dataene til 20-bits

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

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

dobbel høyde = tHeight / 16,0;

dobbel cTemp = (temp / 16,0);

dobbelt fTemp = cTemp * 1,8 + 32;

// Velg kontrollregister

// Aktiv modus, OSR = 128, barometer modus

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

Tråd. Sover (1000);

// Les 4 byte med data fra adresse 0x00 (00)

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

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

// Konverter dataene til 20-bits

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

dobbelt trykk = (pres / 4.0) / 1000.0;

// Utdata til skjermen

System.out.printf ("Trykk: %.2f kPa %n", trykk);

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

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

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

}

}

Trinn 4: Søknader:

Ulike bruksområder for MPL3115A2 inkluderer høy nøyaktighet altimetri, smarttelefoner/nettbrett, personlig elektronikk altimetri osv. Den kan også integreres i GPS Dead Reckoning, GPS Enhancement for Emergency Services, Map Assist, Navigasjon samt værstasjonsutstyr.

Anbefalt: