Obsah:

Raspberry Pi - Snímač presného výškomeru MPL3115A2 Java Výukový program: 4 kroky
Raspberry Pi - Snímač presného výškomeru MPL3115A2 Java Výukový program: 4 kroky

Video: Raspberry Pi - Snímač presného výškomeru MPL3115A2 Java Výukový program: 4 kroky

Video: Raspberry Pi - Snímač presného výškomeru MPL3115A2 Java Výukový program: 4 kroky
Video: Elevator Arduino/BME280 Pressure Altimeter Test 2024, November
Anonim
Image
Image

MPL3115A2 využíva snímač tlaku MEMS s rozhraním I2C, ktorý poskytuje presné údaje o tlaku/nadmorskej výške a teplote. Výstupy senzorov sú digitalizované 24-bitovým ADC s vysokým rozlíšením. Interné spracovanie odstráni úlohy kompenzácie z hostiteľského systému MCU. Je schopný detekovať zmenu iba o 0,05 kPa, čo sa rovná zmene výšky 0,3 m. Tu je jeho ukážka s malinou pi pomocou kódu Java.

Krok 1: Čo potrebujete.. !

Čo potrebuješ..!!
Čo potrebuješ..!!

1. Raspberry Pi

2. MPL3115A2

3. Kábel I²C

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

5. Ethernetový kábel

Krok 2: Pripojenia:

Pripojenia
Pripojenia
Pripojenia
Pripojenia
Pripojenia
Pripojenia
Pripojenia
Pripojenia

Vezmite I2C štít na malinový pi a jemne ho zatlačte cez gpio kolíky malinového pi.

Potom pripojte jeden koniec kábla I2C k senzoru MPL3115A2 a druhý koniec k štítu I2C.

Pripojte tiež ethernetový kábel k pí alebo môžete použiť modul WiFi.

Pripojenia sú znázornené na obrázku vyššie.

Krok 3: Kód:

Kód
Kód

Java kód pre MPL3115A2 je možné stiahnuť z nášho úložiska github- DCUBE Store.

Tu je odkaz na to isté:

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

Na kód java sme použili knižnicu pi4j, kroky na inštaláciu pi4j na malinový pi sú popísané tu:

pi4j.com/install.html

Odtiaľto môžete tiež skopírovať kód, ktorý je nasledujúci:

// Distribuované s licenciou slobodnej vôle.

// Používajte ho akýmkoľvek spôsobom chcete, so ziskom alebo zadarmo, za predpokladu, že sa zmestí do licencií k ním pridruženým dielam.

// MPL3115A2

// Tento kód je navrhnutý tak, aby fungoval s mini modulom MPL3115A2_I2CS I2C, ktorý je k dispozícii od

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

verejná trieda MPL3115A2

{

public static void main (String args ) hodí výnimku

{

// Vytvorenie zbernice I2C

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

// Získať zariadenie I2C, adresa MPL3115A2 I2C je 0x60 (96)

Zariadenie I2CDevice = Bus.getDevice (0x60);

// Vyberte riadiaci register

// Aktívny režim, OSR = 128, režim výškomeru

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

// Vyberte register konfigurácie údajov

// Udalosť pripravená na údaje je povolená pre nadmorskú výšku, tlak, teplotu

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

// Vyberte riadiaci register

// Aktívny režim, OSR = 128, režim výškomeru

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

Thread.sleep (1000);

// Prečítajte 6 bajtov údajov z adresy 0x00 (00)

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

bajt dáta = nový bajt [6];

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

// Previesť údaje na 20-bitové

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

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

dvojnásobná nadmorská výška = tVýška / 16,0;

dvojnásobok cTemp = (teplota / 16,0);

dvojnásobok fTemp = cTemp * 1,8 + 32;

// Vyberte riadiaci register

// Aktívny režim, OSR = 128, režim barometra

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

Thread.sleep (1000);

// Prečítajte 4 bajty údajov z adresy 0x00 (00)

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

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

// Previesť údaje na 20-bitové

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

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

// Výstup údajov na obrazovku

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

System.out.printf ("Nadmorská výška: %.2f m %n", nadmorská výška);

System.out.printf ("Teplota v stupňoch Celzia: %.2f C %n", cTemp);

System.out.printf ("Teplota vo Fahrenheite: %.2f F %n", fTemp);

}

}

Krok 4: Aplikácie:

Rôzne aplikácie MPL3115A2 zahŕňajú vysoko presnú výškomer, smartphony/tablety, osobnú elektronickú výškomer atď. Môže byť tiež začlenený do systému GPS Dead Reckoning, GPS Enhancement for Emergency Services, Map Assist, Navigation, rovnako ako vybavenie meteorologickej stanice.

Odporúča: