Indholdsfortegnelse:

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

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

Video: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java Tutorial: 4 trin
Video: Raspberry pi 3 tutorial #6: Waterproof one wire digital temperature sensor Ds18b20 "Python" 2024, Juni
Anonim
Image
Image

MPL3115A2 anvender en MEMS -trykføler med en I2C -grænseflade til at levere nøjagtige data om tryk/højde og temperatur. Sensorudgangene digitaliseres med en højopløselig 24-bit ADC. Intern behandling fjerner kompensationsopgaver fra værts -MCU -systemet. Det er i stand til at detektere en ændring på kun 0,05 kPa, hvilket svarer til en højdeændring på 0,3 m. Her er dens demonstration med hindbær pi ved hjælp af java -kode.

Trin 1: Hvad du har brug for..

Hvad du har brug for..!!
Hvad du har brug for..!!

1. Hindbær Pi

2. MPL3115A2

3. I²C -kabel

4. I²C Shield til Raspberry Pi

5. Ethernet -kabel

Trin 2: Forbindelser:

Tilslutninger
Tilslutninger
Tilslutninger
Tilslutninger
Tilslutninger
Tilslutninger
Tilslutninger
Tilslutninger

Tag et I2C -skjold til hindbærpi og skub det forsigtigt hen over gpio -benene på hindbærpi.

Tilslut derefter den ene ende af I2C -kablet til MPL3115A2 -sensoren og den anden ende til I2C -skærmen.

Tilslut også Ethernet -kablet til pi'en, eller du kan bruge et WiFi -modul.

Forbindelser er vist på billedet ovenfor.

Trin 3: Kode:

Kode
Kode

Java-koden til MPL3115A2 kan downloades fra vores github-depot- DCUBE Store.

Her er linket til det samme:

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

Vi har brugt pi4j bibliotek til java -kode, trinene til at installere pi4j på hindbær pi er beskrevet her:

pi4j.com/install.html

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

// Distribueret med en fri vilje licens.

// Brug den, som du vil, profit eller gratis, forudsat at den passer ind i licenserne til de tilhørende værker.

// MPL3115A2

// Denne kode er designet til at fungere med MPL3115A2_I2CS I2C Mini Module tilgængelig fra

importer com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

offentlig klasse MPL3115A2

{

public static void main (String args ) kaster Undtagelse

{

// Opret I2C -bus

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

// Hent I2C -enhed, MPL3115A2 I2C -adressen er 0x60 (96)

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

// Vælg kontrolregister

// Aktiv tilstand, OSR = 128, højdemåler -tilstand

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

// Vælg datakonfigurationsregister

// Dataklar begivenhed aktiveret for højde, tryk, temperatur

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

// Vælg kontrolregister

// Aktiv tilstand, OSR = 128, højdemåler -tilstand

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

Thread.sleep (1000);

// Læs 6 bytes 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-bit

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

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

dobbelt højde = tHøjde / 16,0;

dobbelt cTemp = (temp / 16,0);

dobbelt fTemp = cTemp * 1,8 + 32;

// Vælg kontrolregister

// Aktiv tilstand, OSR = 128, barometer -tilstand

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

Thread.sleep (1000);

// Læs 4 bytes data fra adresse 0x00 (00)

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

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

// Konverter dataene til 20-bit

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

dobbelt tryk = (pres / 4.0) / 1000.0;

// Output data til skærmen

System.out.printf ("Tryk: %.2f kPa %n", tryk);

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

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

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

}

}

Trin 4: Ansøgninger:

Forskellige applikationer af MPL3115A2 inkluderer høj nøjagtigheds -altimetri, smartphones/tablets, personlig elektronik -altimetri osv. Det kan også inkorporeres i GPS Dead Reckoning, GPS -forbedring til nødservice, Map Assist, Navigation samt vejrstationsudstyr.

Anbefalede: