Tartalomjegyzék:
Videó: Raspberry Pi - MPL3115A2 Precíziós magasságmérő Python oktatóanyag: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
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..
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 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:
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
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
DIY analóg, variálható padtápegység, precíziós áramkorlátozó: 8 lépés (képekkel)
DIY analóg változó pados tápegység W/ precíziós áramkorlátozó: Ebben a projektben megmutatom, hogyan kell használni a híres LM317T -t egy áramfokozó teljesítménytranzisztorral, és hogyan kell használni a Linear Technology LT6106 áramérzékelő erősítőt a precíziós áramkorlátozóhoz. Ez az áramkör lehetővé teszi 5 A -nál nagyobb feszültséget használhat