Tartalomjegyzék:

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

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

Videó: Raspberry Pi - MPL3115A2 Precíziós magasságmérő Python oktatóanyag: 4 lépés
Videó: Arduino Altimeter 2024, Július
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 python 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 python kódja letölthető a Github adattárunkból- DCUBE Store Community.

Itt a link

Az SMBus könyvtárat használtuk a python kódhoz, az SMBus raspberry pi -re történő telepítésének lépéseit itt írjuk le:

pypi.python.org/pypi/smbus-cffi/0.5.1

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

# Szabad akaratú licenccel terjesztik.

# Használhatja bármilyen módon, nyereséggel vagy ingyen, feltéve, hogy illeszkedik a kapcsolódó művek licenceihez.

# MPL3115A2

# Ez a kód az MPL3115A2_I2CS I2C Mini modullal való együttműködésre készült

import smbus

importálási idő

# Szerezzen I2C buszt

busz = smbus. SMBus (1)

# MPL3115A2 cím, 0x60 (96)

# Vezérlőregiszter kiválasztása, 0x26 (38)

# 0xB9 (185) Aktív mód, OSR = 128, Magasságmérő mód

bus.write_byte_data (0x60, 0x26, 0xB9)

# MPL3115A2 cím, 0x60 (96)

# Adatkonfigurációs regiszter kiválasztása, 0x13 (19)

# 0x07 (07) Adatkész esemény bekapcsolva a magasságra, a nyomásra és a hőmérsékletre

bus.write_byte_data (0x60, 0x13, 0x07)

# MPL3115A2 cím, 0x60 (96)

# Vezérlőregiszter kiválasztása, 0x26 (38)

# 0xB9 (185) Aktív mód, OSR = 128, Magasságmérő mód

bus.write_byte_data (0x60, 0x26, 0xB9)

time.sleep (1)

# MPL3115A2 cím, 0x60 (96)

# Adatok visszaolvasása 0x00 (00), 6 bájtból

# állapot, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB

data = bus.read_i2c_block_data (0x60, 0x00, 6)

# Konvertálja az adatokat 20 bitesre

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

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

magasság = tmagasság / 16,0

cTemp = hőmérséklet / 16,0

fTemp = cTemp * 1,8 + 32

# MPL3115A2 cím, 0x60 (96)

# Vezérlőregiszter kiválasztása, 0x26 (38)

# 0x39 (57) Aktív mód, OSR = 128, Barométer mód

bus.write_byte_data (0x60, 0x26, 0x39)

time.sleep (1)

# MPL3115A2 cím, 0x60 (96)

# Az adatok visszaolvasása 0x00 (00), 4 bájtból

# állapot, pres MSB1, pres MSB, pres LSB

data = bus.read_i2c_block_data (0x60, 0x00, 4)

# Konvertálja az adatokat 20 bitesre

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

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

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

print "Nyomás: %.2f kPa" %nyomás

print "Magasság: %.2f m" %magasság

print "Hőmérséklet Celsius -ban: %.2f C" %cTemp

print "Hőmérséklet Fahrenheitben: %.2f F" %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: