Sadržaj:

Raspberry Pi - MPL3115A2 Precizni senzor visinomjera Senzor za Python: 4 koraka
Raspberry Pi - MPL3115A2 Precizni senzor visinomjera Senzor za Python: 4 koraka

Video: Raspberry Pi - MPL3115A2 Precizni senzor visinomjera Senzor za Python: 4 koraka

Video: Raspberry Pi - MPL3115A2 Precizni senzor visinomjera Senzor za Python: 4 koraka
Video: Raspberry Pi MPL3115A2 Precision Altimeter Sensor Python Tutorial 2024, Studeni
Anonim
Image
Image

MPL3115A2 koristi MEMS senzor tlaka s I2C sučeljem za pružanje točnih podataka o tlaku/nadmorskoj visini i temperaturi. Izlazi senzora digitalizirani su 24-bitnim ADC-om visoke rezolucije. Interna obrada uklanja zadatke kompenzacije iz host MCU sustava. Sposoban je otkriti promjenu od samo 0,05 kPa, što je jednako promjeni visine 0,3 m. Evo njegove demonstracije s malinom pi pomoću python koda.

Korak 1: Što vam treba..

Što trebaš..!!
Što trebaš..!!

1. Malina Pi

2. MPL3115A2

3. I²C kabel

4. I²C štit za Raspberry Pi

5. Ethernet kabel

Korak 2: Veze:

Priključci
Priključci
Priključci
Priključci
Priključci
Priključci
Priključci
Priključci

Uzmite I2C štit za malinu pi i nježno je gurnite preko gpio igle maline pi.

Zatim spojite jedan kraj I2C kabela na senzor MPL3115A2, a drugi kraj na I2C štit.

Također priključite Ethernet kabel na pi ili možete koristiti WiFi modul.

Priključci su prikazani na gornjoj slici.

Korak 3: Kôd:

Kodirati
Kodirati

Python kôd za MPL3115A2 može se preuzeti s našeg skladišta Github- DCUBE Store Community.

Evo linka

Koristili smo knjižnicu SMBus za python kôd, koraci za instaliranje SMBusa na malinu pi opisani su ovdje:

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

Ovdje možete i kopirati kôd, dat je na sljedeći način:

# Distribuirano s licencom slobodne volje.

# Koristite ga kako god želite, profitno ili besplatno, pod uvjetom da se uklapa u licence povezanih djela.

# MPL3115A2

# Ovaj kôd je dizajniran za rad s MPL3115A2_I2CS I2C mini modulom

uvoz smbus

vrijeme uvoza

# Nabavite I2C autobus

sabirnica = smbus. SMBus (1)

# MPL3115A2 adresa, 0x60 (96)

# Odaberite upravljački registar, 0x26 (38)

# 0xB9 (185) Aktivni način rada, OSR = 128, Način visinomjera

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

# MPL3115A2 adresa, 0x60 (96)

# Odaberite registar konfiguracije podataka, 0x13 (19)

# 0x07 (07) Događaj spreman za podatke omogućen za nadmorsku visinu, tlak, temperaturu

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

# MPL3115A2 adresa, 0x60 (96)

# Odaberite upravljački registar, 0x26 (38)

# 0xB9 (185) Aktivni način rada, OSR = 128, Način visinomjera

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

vrijeme.spavanje (1)

# MPL3115A2 adresa, 0x60 (96)

# Pročitajte podatke natrag od 0x00 (00), 6 bajtova

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

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

# Pretvorite podatke u 20-bitne

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

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

nadmorska visina = tVisina / 16,0

cTemp = temp / 16.0

fTemp = cTemp * 1,8 + 32

# MPL3115A2 adresa, 0x60 (96)

# Odaberite upravljački registar, 0x26 (38)

# 0x39 (57) Aktivni način rada, OSR = 128, način rada barometra

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

vrijeme.spavanje (1)

# MPL3115A2 adresa, 0x60 (96)

# Očitavanje podataka unatrag od 0x00 (00), 4 bajta

# status, pres MSB1, pres MSB, pres LSB

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

# Pretvorite podatke u 20-bitne

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

tlak = (pres / 4,0) / 1000,0

# Izlažite podatke na zaslon

ispis "Tlak: %.2f kPa" %tlak

ispis "Visina: %.2f m" %nadmorske visine

ispis "Temperatura u Celzijusima: %.2f C" %cTemp

ispis "Temperatura u Fahrenheitu: %.2f F" %fTemp

Korak 4: Aplikacije:

Različite primjene MPL3115A2 uključuju altimetriju visoke točnosti, pametne telefone/tablete, altimetriju osobne elektronike itd. Također se može uključiti u GPS mrtvo računanje, GPS poboljšanje za hitne službe, pomoć pri zemljovidu, navigaciju kao i opremu meteorološke postaje.

Preporučeni: