Përmbajtje:

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

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

Video: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java Tutorial: 4 hapa
Video: Raspberry Pi HP203B Precision Barometer & Altimeter Sensor Python Tutorial 2024, Nëntor
Anonim
Image
Image

MPL3115A2 përdor një sensor presioni MEMS me një ndërfaqe I2C për të siguruar të dhëna të sakta të Presionit/Lartësisë dhe Temperaturës. Daljet e sensorit digjitalizohen nga një ADC me rezolucion të lartë 24-bit. Përpunimi i brendshëm heq detyrat e kompensimit nga sistemi pritës MCU. Shtë i aftë të zbulojë një ndryshim në vetëm 0.05 kPa që barazohet me një ndryshim 0.3m në lartësi. Këtu është demonstrimi i tij me pi mjedër duke përdorur kodin java.

Hapi 1: Ajo që ju nevojitet.. !

Ajo qe ju nevojitet.. !!
Ajo qe ju nevojitet.. !!

1. Raspberry Pi

2. MPL3115A2

3. Kabllo I²C

4. Mburoja I²C për Raspberry Pi

5. Kabllo Ethernet

Hapi 2: Lidhjet:

Lidhjet
Lidhjet
Lidhjet
Lidhjet
Lidhjet
Lidhjet
Lidhjet
Lidhjet

Merrni një mburojë I2C për mjedrën pi dhe shtyjeni butësisht mbi kunjat e gpio të mjedrës pi.

Pastaj lidhni njërin skaj të kabllit I2C me sensorin MPL3115A2 dhe skajin tjetër me mburojën I2C.

Gjithashtu lidhni kabllon Ethernet me pi ose mund të përdorni një modul WiFi.

Lidhjet janë treguar në figurën e mësipërme.

Hapi 3: Kodi:

Kodi
Kodi

Kodi java për MPL3115A2 mund të shkarkohet nga depoja jonë github- Dyqani DCUBE.

Këtu është lidhja për të njëjtën gjë:

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

Ne kemi përdorur bibliotekën pi4j për kodin java, hapat për të instaluar pi4j në mjedër pi janë përshkruar këtu:

pi4j.com/install.html

Ju gjithashtu mund të kopjoni kodin nga këtu, ai jepet si më poshtë:

// Shpërndarë me një licencë me vullnet të lirë.

// Përdoreni atë në çdo mënyrë që dëshironi, fitimprurëse ose falas, me kusht që të përshtatet në licencat e veprave të tij shoqëruese.

// MPL3115A2

// Ky kod është krijuar për të punuar me Mini Modulin MPL3115A2_I2CS I2C i disponueshëm nga

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

klasa publike MPL3115A2

{

public static void main (String args ) hedh Exception

{

// Krijo autobus I2C

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

// Merrni pajisjen I2C, adresa MPL3115A2 I2C është 0x60 (96)

Pajisja I2CDevice = Bus.getDevice (0x60);

// Zgjidhni regjistrin e kontrollit

// Mënyra aktive, OSR = 128, mënyra e lartësimatës

pajisje.shkruaj (0x26, (bajt) 0xB9);

// Zgjidhni regjistrin e konfigurimit të të dhënave

// Ngjarja e gatshme për të dhëna e aktivizuar për lartësinë, presionin, temperaturën

pajisje.shkruaj (0x13, (bajt) 0x07);

// Zgjidhni regjistrin e kontrollit

// Mënyra aktive, OSR = 128, mënyra e lartësimatës

pajisje.shkruaj (0x26, (bajt) 0xB9);

Thread.sleep (1000);

// Lexoni 6 bajt të dhëna nga adresa 0x00 (00)

// statusi, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb

bajt të dhëna = bajt i ri [6];

pajisje. lexo (0x00, të dhëna, 0, 6);

// Shndërroni të dhënat në 20-bit

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

int temp = ((të dhënat [4] * 256) + (të dhënat [5] & 0xF0)) / 16;

lartësi e dyfishtë = tHeight / 16.0;

dyshe cTemp = (temp / 16.0);

dyshe fTemp = cTemp * 1.8 + 32;

// Zgjidhni regjistrin e kontrollit

// Mënyra aktive, OSR = 128, mënyra e barometrit

pajisje.shkruaj (0x26, (bajt) 0x39);

Thread.sleep (1000);

// Lexoni 4 bajt të dhëna nga adresa 0x00 (00)

// statusi, pres msb1, pres msb, pres lsb

pajisje.lexoni (0x00, të dhëna, 0, 4);

// Shndërroni të dhënat në 20-bit

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

presion i dyfishtë = (pres / 4.0) / 1000.0;

// Dalja e të dhënave në ekran

System.out.printf ("Presioni: %.2f kPa %n", presion);

System.out.printf ("Lartësia mbidetare: %.2f m %n", lartësi);

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

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

}

}

Hapi 4: Aplikimet:

Aplikime të ndryshme të MPL3115A2 përfshijnë Altimetri të Saktësisë së Lartë, Smartphone/Tableta, Elektronikë Personale Altimetri etj. Gjithashtu mund të inkorporohet në llogaritjen e vdekur të GPS, Përmirësimi i GPS për Shërbimet e Emergjencave, Ndihma në Hartë, Lundrimi si dhe Pajisjet e Stacionit Moti.

Recommended: