Cuprins:

Raspberry Pi - Tutorial MPL3115A2 cu senzor de altimetru de precizie Python: 4 pași
Raspberry Pi - Tutorial MPL3115A2 cu senzor de altimetru de precizie Python: 4 pași

Video: Raspberry Pi - Tutorial MPL3115A2 cu senzor de altimetru de precizie Python: 4 pași

Video: Raspberry Pi - Tutorial MPL3115A2 cu senzor de altimetru de precizie Python: 4 pași
Video: SKR 1.4 - Definitive User Guide 2024, Iulie
Anonim
Image
Image

MPL3115A2 folosește un senzor de presiune MEMS cu o interfață I2C pentru a furniza date precise de presiune / altitudine și temperatură. Ieșirile senzorului sunt digitalizate printr-un ADC de 24 biți de înaltă rezoluție. Procesarea internă elimină sarcinile de compensare din sistemul MCU gazdă. Este capabil să detecteze o schimbare de numai 0,05 kPa care echivalează cu o schimbare de altitudine de 0,3 m. Iată demonstrația sa cu raspberry pi folosind codul python.

Pasul 1: De ce ai nevoie..

De ce ai nevoie..!!
De ce ai nevoie..!!

1. Raspberry Pi

2. MPL3115A2

3. Cablu I²C

4. Scut I²C pentru Raspberry Pi

5. Cablu Ethernet

Pasul 2: Conexiuni:

Conexiuni
Conexiuni
Conexiuni
Conexiuni
Conexiuni
Conexiuni
Conexiuni
Conexiuni

Luați un scut I2C pentru raspberry pi și împingeți-l ușor peste pinii gpio ai raspberry pi.

Apoi conectați capătul cablului I2C la senzorul MPL3115A2 și celălalt capăt la ecranul I2C.

De asemenea, conectați cablul Ethernet la pi sau puteți utiliza un modul WiFi.

Conexiunile sunt afișate în imaginea de mai sus.

Pasul 3: Cod:

Cod
Cod

Codul python pentru MPL3115A2 poate fi descărcat din depozitul nostru Github- Comunitatea magazinului DCUBE.

Iată linkul

Am folosit biblioteca SMBus pentru codul Python, pașii pentru instalarea SMBus pe raspberry pi sunt descriși aici:

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

De asemenea, puteți copia codul de aici, acesta este dat după cum urmează:

# Distribuit cu o licență de voință liberă.

# Folosiți-l în orice mod doriți, profit sau gratuit, cu condiția să se încadreze în licențele lucrărilor sale asociate.

# MPL3115A2

# Acest cod este conceput pentru a funcționa cu Mini-modulul MPL3115A2_I2CS I2C

import smbus

timpul de import

# Ia autobuzul I2C

autobuz = smbus. SMBus (1)

# Adresă MPL3115A2, 0x60 (96)

# Selectați registrul de control, 0x26 (38)

# 0xB9 (185) Mod activ, OSR = 128, Mod altimetru

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

# Adresă MPL3115A2, 0x60 (96)

# Selectați registrul de configurare a datelor, 0x13 (19)

# 0x07 (07) Eveniment pregătit pentru date activat pentru altitudine, presiune, temperatură

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

# Adresă MPL3115A2, 0x60 (96)

# Selectați registrul de control, 0x26 (38)

# 0xB9 (185) Mod activ, OSR = 128, Mod altimetru

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

time.sleep (1)

# Adresă MPL3115A2, 0x60 (96)

# Citiți datele înapoi de la 0x00 (00), 6 octeți

# status, tHight MSB1, tHight MSB, tHight LSB, temp MSB, temp LSB

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

# Convertiți datele în 20 de biți

tHeight = ((date [1] * 65536) + (date [2] * 256) + (date [3] & 0xF0)) / 16

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

altitudine = tAltime / 16,0

cTemp = temp / 16.0

fTemp = cTemp * 1,8 + 32

# Adresă MPL3115A2, 0x60 (96)

# Selectați registrul de control, 0x26 (38)

# 0x39 (57) Mod activ, OSR = 128, Mod barometru

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

time.sleep (1)

# Adresă MPL3115A2, 0x60 (96)

# Citiți datele înapoi de la 0x00 (00), 4 octeți

# status, pres MSB1, pres MSB, pres LSB

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

# Convertiți datele în 20 de biți

pres = ((date [1] * 65536) + (date [2] * 256) + (date [3] & 0xF0)) / 16

presiune = (pres / 4.0) / 1000.0

# Ieșire date pe ecran

tipăriți "Presiune:%.2f kPa"% presiune

tipăriți "Altitudine:%.2f m"% altitudine

tipăriți "Temperatura în grade Celsius:%.2f C"% cTemp

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

Pasul 4: Aplicații:

Diverse aplicații ale MPL3115A2 includ altimetrie de înaltă precizie, telefoane inteligente / tablete, altimetrie electronică personală etc. Poate fi, de asemenea, încorporată în GPS Dead Reckoning, GPS Enhancement for Emergency Services, Map Assist, Navigation, precum și echipamente pentru stațiile meteorologice.

Recomandat: