Sisällysluettelo:

Raspberry Pi - MPL3115A2 Tarkka korkeusmittarin Java -opetusohjelma: 4 vaihetta
Raspberry Pi - MPL3115A2 Tarkka korkeusmittarin Java -opetusohjelma: 4 vaihetta

Video: Raspberry Pi - MPL3115A2 Tarkka korkeusmittarin Java -opetusohjelma: 4 vaihetta

Video: Raspberry Pi - MPL3115A2 Tarkka korkeusmittarin Java -opetusohjelma: 4 vaihetta
Video: Raspberry Pi MPL3115A2 Precision Altimeter Sensor Python Tutorial 2024, Marraskuu
Anonim
Image
Image

MPL3115A2 käyttää MEMS -paineanturia, jossa on I2C -liitäntä, joka antaa tarkat paine-/korkeus- ja lämpötilatiedot. Anturilähdöt digitalisoidaan korkean resoluution 24-bittisellä ADC: llä. Sisäinen käsittely poistaa korvaustehtävät isäntä MCU -järjestelmästä. Se pystyy havaitsemaan muutoksen vain 0,05 kPa, mikä vastaa 0,3 metrin korkeuden muutosta. Tässä on sen esittely vadelma pi: llä java -koodilla.

Vaihe 1: Mitä tarvitset..

Mitä tarvitset..!!
Mitä tarvitset..!!

1. Vadelma Pi

2. MPL3115A2

3. I²C -kaapeli

4. I²C -kilpi Raspberry Pi: lle

5. Ethernet -kaapeli

Vaihe 2: Liitännät:

Liitännät
Liitännät
Liitännät
Liitännät
Liitännät
Liitännät
Liitännät
Liitännät

Ota I2C -kilpi vadelma pi: lle ja työnnä sitä varovasti vadelma pi: n gpio -nastojen päälle.

Liitä sitten I2C -kaapelin toinen pää MPL3115A2 -anturiin ja toinen pää I2C -suojaan.

Liitä myös Ethernet -kaapeli pi: hen tai voit käyttää WiFi -moduulia.

Liitännät näkyvät yllä olevassa kuvassa.

Vaihe 3: Koodi:

Koodi
Koodi

MPL3115A2: n Java-koodin voi ladata github-arkistostamme- DCUBE Storesta.

Tässä linkki samaan:

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

Olemme käyttäneet java -koodille pi4j -kirjastoa, vaiheet pi4j: n asentamiseksi vadelma pi: lle on kuvattu tässä:

pi4j.com/install.html

Voit myös kopioida koodin täältä, se annetaan seuraavasti:

// Jaetaan vapaaehtoisella lisenssillä.

// Käytä sitä haluamallasi tavalla, voittoa tai ilmaiseksi, jos se sopii siihen liittyvien teosten lisensseihin.

// MPL3115A2

// Tämä koodi on suunniteltu toimimaan MPL3115A2_I2CS I2C Mini -moduulin kanssa, joka on saatavana osoitteesta

tuonti com.pi4j.io.i2c. I2CBus;

tuoda com.pi4j.io.i2c. I2CDevice;

tuonti com.pi4j.io.i2c. I2CFactory;

tuoda java.io. IOException;

julkinen luokka MPL3115A2

{

public staattinen void main (String args ) heittää Poikkeus

{

// Luo I2C -väylä

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

// Hanki I2C -laite, MPL3115A2 I2C -osoite on 0x60 (96)

I2CDevice device = Bus.getDevice (0x60);

// Valitse ohjausrekisteri

// Aktiivinen tila, OSR = 128, korkeusmittari

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

// Valitse tietojen määritysrekisteri

// Data ready -tapahtuma käytössä korkeudessa, paineessa, lämpötilassa

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

// Valitse ohjausrekisteri

// Aktiivinen tila, OSR = 128, korkeusmittari

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

Kierre. Nukkumassa (1000);

// Lue 6 tavua dataa osoitteesta 0x00 (00)

// tila, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb

tavu data = uusi tavu [6];

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

// Muunna tiedot 20-bittisiksi

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

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

kaksoiskorkeus = tKorkeus / 16,0;

kaksinkertainen cTemp = (lämpötila / 16,0);

kaksinkertainen fTemp = cTemp * 1,8 + 32;

// Valitse ohjausrekisteri

// Aktiivinen tila, OSR = 128, barometritila

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

Kierteet.unen (1000);

// Lue 4 tavua dataa osoitteesta 0x00 (00)

// tila, pres msb1, pres msb, pres lsb

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

// Muunna tiedot 20-bittisiksi

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

kaksinkertainen paine = (pres / 4,0) / 1000,0;

// Tulosta tiedot näytölle

System.out.printf ("Paine: %.2f kPa %n", paine);

System.out.printf ("Korkeus: %.2f m %n", korkeus);

System.out.printf ("Lämpötila celsiusasteina: %.2f C %n", cTemp);

System.out.printf ("Lämpötila Fahrenheit: %.2f F %n", fTemp);

}

}

Vaihe 4: Sovellukset:

MPL3115A2: n eri sovelluksiin kuuluu korkean tarkkuuden korkeusmittari, älypuhelimet/tabletit, henkilökohtaisen elektroniikan korkeusmittari jne. Se voidaan sisällyttää myös GPS -kuolleen laskennan, hätäpalvelujen GPS -parannuksen, kartta -avustimen, navigoinnin ja sääaseman laitteisiin.

Suositeltava: