Përmbajtje:

Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 hapa
Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 hapa

Video: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 hapa

Video: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 hapa
Video: Raspberry Pi HP203B Precision Barometer & Altimeter Sensor Python Tutorial 2024, Korrik
Anonim
Image
Image

MPL3115A2 përdor një sensor presioni MEMS me një ndërfaqe I2C për të siguruar të dhëna të sakta të Presionit/Lartësisë dhe Temperaturës. Daljet e sensorit digjitalizohen nga një ADC me rezolucion të lartë 24-bit. Përpunimi i brendshëm heq detyrat e kompensimit nga sistemi pritës MCU. Shtë i aftë të zbulojë një ndryshim në vetëm 0.05 kPa që barazohet me një ndryshim 0.3m në lartësi. Këtu është demonstrimi i tij me mjedër pi duke përdorur kodin python.

Hapi 1: Ajo që ju nevojitet.. !

Ajo qe ju nevojitet.. !!
Ajo qe ju nevojitet.. !!

1. Raspberry Pi

2. MPL3115A2

3. Kabllo I²C

4. Mburoja I²C për Raspberry Pi

5. Kabllo Ethernet

Hapi 2: Lidhjet:

Lidhjet
Lidhjet
Lidhjet
Lidhjet
Lidhjet
Lidhjet
Lidhjet
Lidhjet

Merrni një mburojë I2C për mjedrën pi dhe shtyjeni butësisht mbi kunjat e gpio të mjedrës pi.

Pastaj lidhni njërin skaj të kabllit I2C me sensorin MPL3115A2 dhe skajin tjetër me mburojën I2C.

Gjithashtu lidhni kabllon Ethernet me pi ose mund të përdorni një modul WiFi.

Lidhjet janë treguar në figurën e mësipërme.

Hapi 3: Kodi:

Kodi
Kodi

Kodi python për MPL3115A2 mund të shkarkohet nga depoja jonë Github- Komuniteti i Dyqaneve DCUBE.

Këtu është lidhja

Ne kemi përdorur bibliotekën SMBus për kodin python, hapat për të instaluar SMBus në mjedër pi janë përshkruar këtu:

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

Ju gjithashtu mund të kopjoni kodin nga këtu, ai jepet si më poshtë:

# Shpërndarë me një licencë me vullnet të lirë.

# Përdoreni atë në çdo mënyrë që dëshironi, fitimprurëse ose falas, me kusht që të përshtatet në licencat e veprave të tij shoqëruese.

# MPL3115A2

# Ky kod është krijuar për të punuar me Mini Modulin MPL3115A2_I2CS I2C

import smbus

koha e importit

# Merrni autobusin I2C

autobus = smbus. SMBus (1)

# Adresa MPL3115A2, 0x60 (96)

# Zgjidh regjistrin e kontrollit, 0x26 (38)

# 0xB9 (185) Mënyra aktive, OSR = 128, Mënyra Altimetër

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

# Adresa MPL3115A2, 0x60 (96)

# Zgjidhni regjistrin e konfigurimit të të dhënave, 0x13 (19)

# 0x07 (07) Ngjarja e gatshme për të dhëna u aktivizua për lartësinë, presionin, temperaturën

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

# Adresa MPL3115A2, 0x60 (96)

# Zgjidh regjistrin e kontrollit, 0x26 (38)

# 0xB9 (185) Mënyra aktive, OSR = 128, Mënyra Altimetër

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

koha. gjumi (1)

# Adresa MPL3115A2, 0x60 (96)

# Lexoni të dhënat përsëri nga 0x00 (00), 6 bajt

# status, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB

të dhëna = bus.read_i2c_block_data (0x60, 0x00, 6)

# Ktheni të dhënat në 20-bit

tHeight = ((të dhënat [1] * 65536) + (të dhënat [2] * 256) + (të dhënat [3] & 0xF0)) / 16

temp = ((të dhënat [4] * 256) + (të dhënat [5] & 0xF0)) / 16

lartësi = tLartësia / 16.0

cTemp = temp / 16.0

fTemp = cTemp * 1.8 + 32

# Adresa MPL3115A2, 0x60 (96)

# Zgjidh regjistrin e kontrollit, 0x26 (38)

# 0x39 (57) Mënyra aktive, OSR = 128, Mënyra e barometrit

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

koha. gjumi (1)

# Adresa MPL3115A2, 0x60 (96)

# Lexoni të dhënat përsëri nga 0x00 (00), 4 bajt

# status, pres MSB1, pres MSB, pres LSB

të dhëna = bus.read_i2c_block_data (0x60, 0x00, 4)

# Ktheni të dhënat në 20-bit

pres = ((të dhënat [1] * 65536) + (të dhënat [2] * 256) + (të dhënat [3] & 0xF0)) / 16

presion = (pres / 4.0) / 1000.0

# Dalja e të dhënave në ekran

shtyp "Presioni: %.2f kPa" %presion

print "Lartësia: %.2f m" %lartësi

print "Temperatura në Celsius: %.2f C" %cTemp

print "Temperatura në Fahrenheit: %.2f F" %fTemp

Hapi 4: Aplikimet:

Aplikime të ndryshme të MPL3115A2 përfshijnë Altimetri të Saktësisë së Lartë, Smartphone/Tableta, Elektronikë Personale Altimetri etj. Gjithashtu mund të inkorporohet në llogaritjen e vdekur të GPS, Përmirësimi i GPS për Shërbimet e Emergjencave, Ndihma në Hartë, Lundrimi si dhe Pajisjet e Stacionit Moti.

Recommended: