Taula de continguts:

Raspberry Pi - Tutorial Python del sensor altímetre de precisió MPL3115A2: 4 passos
Raspberry Pi - Tutorial Python del sensor altímetre de precisió MPL3115A2: 4 passos

Vídeo: Raspberry Pi - Tutorial Python del sensor altímetre de precisió MPL3115A2: 4 passos

Vídeo: Raspberry Pi - Tutorial Python del sensor altímetre de precisió MPL3115A2: 4 passos
Vídeo: Raspberry Pi Project | Pressure Barometer Sensor | Python code | Easy Tech 2024, Juliol
Anonim
Image
Image

El MPL3115A2 utilitza un sensor de pressió MEMS amb una interfície I2C per proporcionar dades de pressió / altitud i temperatura precises. Les sortides del sensor es digitalitzen mitjançant un ADC de 24 bits d'alta resolució. El processament intern elimina les tasques de compensació del sistema MCU amfitrió. És capaç de detectar un canvi de només 0,05 kPa que equival a un canvi d’altitud de 0,3 m. Aquí teniu la demostració amb raspberry pi mitjançant codi Python.

Pas 1: el que necessiteu..

Què necessites..!!
Què necessites..!!

1. Raspberry Pi

2. MPL3115A2

3. Cable I²C

4. Escut I²C per a Raspberry Pi

5. Cable Ethernet

Pas 2: connexions:

Connexions
Connexions
Connexions
Connexions
Connexions
Connexions
Connexions
Connexions

Agafeu un escut I2C per a raspberry pi i passeu-lo suaument per sobre dels pins gpio de raspberry pi.

A continuació, connecteu l'extrem del cable I2C al sensor MPL3115A2 i l'altre extrem a l'escut I2C.

Connecteu també el cable Ethernet al pi o podeu utilitzar un mòdul WiFi.

Les connexions es mostren a la imatge superior.

Pas 3: Codi:

Codi
Codi

El codi python de MPL3115A2 es pot descarregar des del nostre dipòsit Github - DCUBE Store Community.

Aquí teniu l’enllaç

Hem utilitzat la biblioteca SMBus per al codi python; aquí es descriuen els passos per instal·lar SMBus al raspberry pi:

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

També podeu copiar el codi des d’aquí, es dóna de la següent manera:

# Distribuït amb una llicència de lliure voluntat.

# Utilitzeu-lo de la manera que vulgueu, de beneficis o de franc, sempre que encaixi en les llicències de les obres associades.

# MPL3115A2

# Aquest codi està dissenyat per funcionar amb el mini mòdul MPL3115A2_I2CS I2C

importar smbus

temps d'importació

# Aconsegueix un bus I2C

bus = smbus. SMBus (1)

# MPL3115A2 adreça, 0x60 (96)

# Selecciona el registre de control, 0x26 (38)

# 0xB9 (185) Mode actiu, OSR = 128, mode altímetre

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

# MPL3115A2 adreça, 0x60 (96)

# Seleccioneu el registre de configuració de dades, 0x13 (19)

# 0x07 (07) Esdeveniment preparat per a dades habilitat per a altitud, pressió i temperatura

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

# MPL3115A2 adreça, 0x60 (96)

# Selecciona el registre de control, 0x26 (38)

# 0xB9 (185) Mode actiu, OSR = 128, mode altímetre

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

time.sleep (1)

# MPL3115A2 adreça, 0x60 (96)

# Llegiu les dades de 0x00 (00), 6 bytes

# estat, tHeight MSB1, tHight MSB, tHight LSB, temp MSB, temp LSB

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

# Converteix les dades a 20 bits

tAlçada = ((dades [1] * 65536) + (dades [2] * 256) + (dades [3] i 0xF0)) / 16

temp = ((dades [4] * 256) + (dades [5] i 0xF0)) / 16

altitud = tAlçada / 16,0

cTemp = temp / 16.0

fTemp = cTemp * 1,8 + 32

# MPL3115A2 adreça, 0x60 (96)

# Selecciona el registre de control, 0x26 (38)

# 0x39 (57) Mode actiu, OSR = 128, mode baròmetre

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

time.sleep (1)

# MPL3115A2 adreça, 0x60 (96)

# Llegiu les dades de 0x00 (00), 4 bytes

# status, pres MSB1, pres MSB, pres LSB

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

# Converteix les dades a 20 bits

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

pressió = (pres / 4.0) / 1000.0

# Sortida de dades a la pantalla

imprimir "Pressió:%.2f kPa"% de pressió

imprimeix "Altitud:%.2f m"% d'altitud

imprimir "Temperatura en centígrads:%.2f C"% cTemp

imprimir "Temperatura en Fahrenheit:%.2f F"% fTemp

Pas 4: aplicacions:

Diverses aplicacions de MPL3115A2 inclouen altimetria d’alta precisió, telèfons intel·ligents / tauletes, altimetria electrònica personal, etc. També es pot incorporar a GPS Dead Reckoning, millora GPS per a serveis d’emergència, assistència de mapes, navegació i equips d’estacions meteorològiques.

Recomanat: