Talaan ng mga Nilalaman:

Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 na Hakbang
Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 na Hakbang

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

Video: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 na Hakbang
Video: Raspberry Pi MPL3115A2 Precision Altimeter Sensor Python Tutorial 2024, Hulyo
Anonim
Image
Image

Ang MPL3115A2 ay gumagamit ng isang sensor ng presyon ng MEMS na may isang interface na I2C upang magbigay ng tumpak na data ng Presyon / Altitude at Temperatura. Ang mga output ng sensor ay na-digitize ng isang mataas na resolusyon na 24-bit ADC. Tinatanggal ng panloob na pagproseso ang mga gawain sa pagbabayad mula sa host MCU system. Ito ay may kakayahang makita ang isang pagbabago sa 0.05 kPa lamang na katumbas ng isang 0.3m na pagbabago sa altitude. Narito ang pagpapakita nito gamit ang raspberry pi gamit ang python code.

Hakbang 1: Ano ang Kailangan Mo.. !

Ang iyong kailangan..!!
Ang iyong kailangan..!!

1. Raspberry Pi

2. MPL3115A2

3. I²C Cable

4. I²C Shield para sa Raspberry Pi

5. Ethernet Cable

Hakbang 2: Mga Koneksyon:

Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon

Kumuha ng isang kalasag I2C para sa raspberry pi at dahan-dahang itulak ito sa mga gpio pin ng raspberry pi.

Pagkatapos ikonekta ang isang dulo ng I2C cable sa MPL3115A2 sensor at ang iba pang mga dulo sa I2C kalasag.

Ikonekta din ang Ethernet cable sa pi o maaari kang gumamit ng isang module ng WiFi.

Ang mga koneksyon ay ipinapakita sa larawan sa itaas.

Hakbang 3: Code:

Code
Code

Ang python code para sa MPL3115A2 ay maaaring ma-download mula sa aming Github repository- DCUBE Store Community.

Nandito ang link

Gumamit kami ng SMBus library para sa python code, ang mga hakbang upang mai-install ang SMBus sa raspberry pi ay inilarawan dito:

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

Maaari mo ring kopyahin ang code mula dito, ibinibigay ito tulad ng sumusunod:

# Ipinamamahagi ng isang lisensyang malaya ang kalooban.

# Gamitin ito sa anumang paraan na nais mo, kumita o libre, sa kondisyon na umaangkop ito sa mga lisensya ng mga nauugnay na gawa nito.

# MPL3115A2

# Ang code na ito ay dinisenyo upang gumana sa MPL3115A2_I2CS I2C Mini Module

import smbus

oras ng pag-import

# Kumuha ng I2C bus

bus = smbus. SMBus (1)

# MPL3115A2 address, 0x60 (96)

# Piliin ang rehistro ng kontrol, 0x26 (38)

# 0xB9 (185) Aktibong mode, OSR = 128, Altimeter mode

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

# MPL3115A2 address, 0x60 (96)

# Piliin ang rehistro ng pagsasaayos ng data, 0x13 (19)

# 0x07 (07) Pinagana ang kaganapan na handa na sa data para sa altitude, presyon, temperatura

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

# MPL3115A2 address, 0x60 (96)

# Piliin ang rehistro ng kontrol, 0x26 (38)

# 0xB9 (185) Aktibo mode, OSR = 128, Altimeter mode

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

oras. tulog (1)

# MPL3115A2 address, 0x60 (96)

# Basahin ang data pabalik mula sa 0x00 (00), 6 bytes

# katayuan, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB

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

# I-convert ang data sa 20-bit

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

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

altitude = t Taas / 16.0

cTemp = temp / 16.0

fTemp = cTemp * 1.8 + 32

# MPL3115A2 address, 0x60 (96)

# Piliin ang rehistro ng kontrol, 0x26 (38)

# 0x39 (57) Aktibo mode, OSR = 128, Barometer mode

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

oras. tulog (1)

# MPL3115A2 address, 0x60 (96)

# Basahin ang data pabalik mula sa 0x00 (00), 4 bytes

# katayuan, pres MSB1, pres MSB, pres LSB

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

# I-convert ang data sa 20-bit

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

presyon = (pres / 4.0) / 1000.0

# Data ng output sa screen

i-print ang "Presyon:%.2f kPa"% presyon

i-print ang "Altitude:%.2f m"% altitude

i-print ang "Temperatura sa Celsius:%.2f C"% cTemp

i-print ang "Temperatura sa Fahrenheit:%.2f F"% fTemp

Hakbang 4: Mga Aplikasyon:

Ang iba`t ibang mga aplikasyon ng MPL3115A2 ay may kasamang Mataas na Katumpakan Altimetry, Mga Smartphone / Tablet, Personal na Elektronikong Altimetry atbp Maaari din itong isama sa GPS Dead Reckoning, Pagpapahusay ng GPS para sa Mga Serbisyong Pang-emergency, Tulong sa Mapa, Pag-navigate pati na rin Kagamitan ng Weather Station.

Inirerekumendang: