Tartalomjegyzék:
Videó: Raspberry Pi - MPL3115A2 Precíziós magasságmérő Java oktató: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
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..
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:
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:
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:
Magasságmérő (magasságmérő) Légköri nyomás alapján: 7 lépés (képekkel)
Magasságmérő (magasságmérő) Légköri nyomás alapján: [Szerkesztés]; Lásd a 2. verziót a 6. lépésben, kézi alapszintű magasságbevitellel. Ez az Arduino Nano és a Bosch BMP180 légnyomás -érzékelő alapján épített magasságmérő (magasságmérő) épületleírása. A kialakítás egyszerű, de a mérések
DropArt - Precíziós két csepp fényképes ütköző: 11 lépés (képekkel)
DropArt - Precíziós két csepp fényképes ütköző: Üdvözlet! Ebben az oktatható formában bemutatom a számítógép által vezérelt két folyadékcsepp -ütköző tervét. Mielőtt belekezdenénk a tervezési részletekbe, úgy gondolom, ésszerű elmagyarázni, hogy pontosan mi a tervezés célja. Szórakoztató, érdekes
Precíziós óra: 3 lépés
Precíziós óra: Mindannyiunknak szüksége van órákra, ezért miért ne készítse el sajátját ebben az oktatóanyagban. Megmutatom, hogyan készítsen precíziós órát, ha beállította, és automatikusan nyomon követi az aktuális időt a háttérben. Miközben csak nagyon kevés kell
Raspberry Pi - TMP007 infravörös hőszigetelő Java oktató: 4 lépés
Raspberry Pi - TMP007 infravörös termopile -érzékelő Java oktatóanyag: A TMP007 egy infravörös hőelem -érzékelő, amely méri egy tárgy hőmérsékletét anélkül, hogy érintkezne vele. Az érzékelőmezőben lévő tárgy által kibocsátott infravörös energiát az érzékelőbe épített hőelemek elnyelik. A termopil
Egy precíziós helyreigazítási kísérlet: 11 lépés
Egy precíziós helyreigazítási kísérlet: Nemrégiben végeztem egy kísérletet egy precíziós egyenirányító áramkörön, és kaptam néhány durva következtetést. Tekintettel arra, hogy a precíziós egyenirányító áramkör közös áramkör, a kísérlet eredményei némi referencia információt nyújthatnak. Az e