Tartalomjegyzék:

Raspberry Pi - MPL3115A2 Precíziós magasságmérő Java oktató: 4 lépés
Raspberry Pi - MPL3115A2 Precíziós magasságmérő Java oktató: 4 lépés

Videó: Raspberry Pi - MPL3115A2 Precíziós magasságmérő Java oktató: 4 lépés

Videó: Raspberry Pi - MPL3115A2 Precíziós magasságmérő Java oktató: 4 lépés
Videó: Raspberry Pi MPL3115A2 Precision Altimeter Sensor Python Tutorial 2024, November
Anonim
Image
Image

Az MPL3115A2 MEMS nyomásérzékelőt alkalmaz I2C interfésszel a pontos nyomás/magasság és hőmérséklet adatok biztosításához. Az érzékelő kimeneteit egy nagy felbontású 24 bites ADC digitalizálja. A belső feldolgozás eltávolítja a kompenzációs feladatokat a gazda MCU rendszerből. Csak 0,05 kPa változást képes észlelni, ami 0,3 m magasságváltozással egyenlő. Itt a bemutatója a málna pi -vel a java kód használatával.

1. lépés: Amire szüksége van..

Amire szükséged van..!!
Amire szükséged van..!!

1. Málna Pi

2. MPL3115A2

3. I²C kábel

4. I²C pajzs a Raspberry Pi számára

5. Ethernet kábel

2. lépés: Csatlakozások:

Csatlakozások
Csatlakozások
Csatlakozások
Csatlakozások
Csatlakozások
Csatlakozások
Csatlakozások
Csatlakozások

Vegyünk egy I2C pajzsot a málna pi számára, és óvatosan toljuk át a málna pi gpio csapjaira.

Ezután csatlakoztassa az I2C kábel egyik végét az MPL3115A2 érzékelőhöz, a másik végét pedig az I2C árnyékoláshoz.

Csatlakoztassa az Ethernet kábelt is a pi -hez, vagy használhat WiFi modult.

A csatlakozásokat a fenti kép mutatja.

3. lépés: Kód:

Kód
Kód

Az MPL3115A2 java kódja letölthető a github tárhelyünkről- DCUBE Store.

Itt a link ugyanerre:

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

A java kódhoz pi4j könyvtárat használtunk, a pi4j málna pi -re történő telepítésének lépéseit itt írjuk le:

pi4j.com/install.html

Innen is másolhatja a kódot, ez a következőképpen van megadva:

// Szabad akaratú licenccel terjesztik.

// Bármilyen módon használhatja, haszonnal vagy ingyen, feltéve, hogy illeszkedik a kapcsolódó művek licenceihez.

// MPL3115A2

// Ezt a kódot az MPL3115A2_I2CS I2C Mini modullal való együttműködésre tervezték

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

nyilvános osztály MPL3115A2

{

public static void main (String args ) dobások Kivétel

{

// I2C busz létrehozása

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

// I2C eszköz beszerzése, MPL3115A2 I2C címe 0x60 (96)

I2CDevice device = Bus.getDevice (0x60);

// Vezérlőregiszter kiválasztása

// Aktív mód, OSR = 128, magasságmérő mód

device.write (0x26, (bájt) 0xB9);

// Adatkonfigurációs regiszter kiválasztása

// Adatok kész esemény engedélyezve a magasság, nyomás, hőmérséklet

device.write (0x13, (bájt) 0x07);

// Vezérlőregiszter kiválasztása

// Aktív mód, OSR = 128, magasságmérő mód

device.write (0x26, (bájt) 0xB9);

Téma.alvás (1000);

// 6 bájt adat olvasása a 0x00 (00) címről

// állapot, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb

bájt adat = új bájt [6];

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

// Az adatok konvertálása 20 bitesre

int tHeight = (((([adatok] és 0xFF) * 65536) + ((adatok [2] és 0xFF) * 256) + (adatok [3] és 0xF0)) / 16);

int temp = ((adatok [4] * 256) + (adatok [5] és 0xF0)) / 16;

kettős magasság = tMagasság / 16,0;

dupla cTemp = (temp / 16,0);

kettős fTemp = cTemp * 1,8 + 32;

// Vezérlőregiszter kiválasztása

// Aktív mód, OSR = 128, barométer mód

device.write (0x26, (bájt) 0x39);

Téma.alvás (1000);

// 4 bájt adat olvasása a 0x00 (00) címről

// állapot, pres msb1, pres msb, pres lsb

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

// Az adatok konvertálása 20 bitesre

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

kettős nyomás = (pres / 4,0) / 1000,0;

// Adatok megjelenítése a képernyőn

System.out.printf ("Nyomás: %.2f kPa %n", nyomás);

System.out.printf ("Magasság: %.2f m %n", magasság);

System.out.printf ("Hőmérséklet Celsius -ban: %.2f C %n", cTemp);

System.out.printf ("Hőmérséklet Fahrenheitben: %.2f F %n", fTemp);

}

}

4. lépés: Alkalmazások:

Az MPL3115A2 különféle alkalmazásai közé tartozik a nagy pontosságú magasságmérés, az okostelefonok/táblagépek, a személyi elektronikai magasságmérés, stb. Beépíthető a GPS holtszámlálásba, a GPS segélyhívó szolgáltatások javításába, a térképsegédbe, a navigációba és az időjárás -állomás berendezésekbe is.

Ajánlott: