Obsah:

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

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

Video: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java Tutorial: 4 Steps
Video: Raspberry Pi HP203B Precision Barometer & Altimeter Sensor Java Tutorial 2024, Září
Anonim
Image
Image

MPL3115A2 využívá tlakový senzor MEMS s rozhraním I2C, který poskytuje přesné údaje o tlaku/nadmořské výšce a teplotě. Výstupy senzorů jsou digitalizovány 24bitovým ADC s vysokým rozlišením. Interní zpracování odstraní úlohy kompenzace z hostitelského systému MCU. Je schopen detekovat změnu pouze o 0,05 kPa, což odpovídá změně výšky o 0,3 m. Zde je jeho ukázka s malinovým pi pomocí Java kódu.

Krok 1: Co potřebujete..

Co potřebuješ..!!
Co potřebuješ..!!

1. Raspberry Pi

2. MPL3115A2

3. I²C kabel

4. I²C štít pro Raspberry Pi

5. Ethernetový kabel

Krok 2: Připojení:

Připojení
Připojení
Připojení
Připojení
Připojení
Připojení
Připojení
Připojení

Vezměte I2C štít pro malinový pi a jemně jej zatlačte přes gpio piny malinového pi.

Poté připojte jeden konec kabelu I2C k senzoru MPL3115A2 a druhý konec ke stínění I2C.

Připojte také ethernetový kabel k pí nebo můžete použít modul WiFi.

Připojení jsou znázorněna na obrázku výše.

Krok 3: Kód:

Kód
Kód

Java kód pro MPL3115A2 lze stáhnout z našeho úložiště github- DCUBE Store.

Zde je odkaz na totéž:

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

Pro java kód jsme použili knihovnu pi4j, kroky k instalaci pi4j na raspberry pi jsou popsány zde:

pi4j.com/install.html

Odtud můžete také zkopírovat kód, který je uveden následovně:

// Distribuováno s licencí svobodné vůle.

// Používejte jej jakýmkoli způsobem, ať už ziskem nebo zdarma, za předpokladu, že se vejde do licencí souvisejících děl.

// MPL3115A2

// Tento kód je navržen pro práci s mini modulem MPL3115A2_I2CS I2C, který je k dispozici od

importovat com.pi4j.io.i2c. I2CBus;

importovat com.pi4j.io.i2c. I2CDevice;

importovat com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

veřejná třída MPL3115A2

{

public static void main (String args ) vyvolá výjimku

{

// Vytvoření sběrnice I2C

Sběrnice I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);

// Získejte zařízení I2C, adresa I2C MPL3115A2 je 0x60 (96)

I2CDevice zařízení = Bus.getDevice (0x60);

// Vyberte řídicí registr

// Aktivní režim, OSR = 128, režim výškoměru

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

// Vyberte registr konfigurace dat

// Událost připravenosti dat povolena pro nadmořskou výšku, tlak, teplotu

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

// Vyberte řídicí registr

// Aktivní režim, OSR = 128, režim výškoměru

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

Thread.sleep (1000);

// Přečíst 6 bajtů dat z adresy 0x00 (00)

// stav, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb

byte data = nový byte [6];

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

// Převod dat na 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;

dvojnásobná nadmořská výška = tVýška / 16,0;

double cTemp = (temp / 16.0);

zdvojnásobit fTemp = cTemp * 1,8 + 32;

// Vyberte řídicí registr

// Aktivní režim, OSR = 128, režim barometru

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

Thread.sleep (1000);

// Přečíst 4 bajty dat z adresy 0x00 (00)

// stav, pres msb1, pres msb, pres lsb

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

// Převod dat na 20 bitů

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

dvojnásobný tlak = (pres / 4,0) / 1000,0;

// Výstup dat na obrazovku

System.out.printf ("Tlak: %.2f kPa %n", tlak);

System.out.printf ("Nadmořská výška: %.2f m %n", nadmořská výška);

System.out.printf ("Teplota ve stupních Celsia: %.2f C %n", cTemp);

System.out.printf ("Teplota ve stupních Fahrenheita: %.2f F %n", fTemp);

}

}

Krok 4: Aplikace:

Různé aplikace MPL3115A2 zahrnují vysoce přesnou výškoměr, smartphony/tablety, osobní elektronickou výškoměr atd. Lze jej také začlenit do systému GPS Dead Reckoning, GPS Enhancement pro záchranné služby, Map Assist, Navigation a vybavení meteorologické stanice.

Doporučuje: