Sadržaj:
Video: Raspberry Pi - MPL3115A2 Precizni senzor visinomjera Senzor za Python: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:33
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..
1. Malina Pi
2. MPL3115A2
3. I²C kabel
4. I²C štit za Raspberry Pi
5. Ethernet kabel
Korak 2: Veze:
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:
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:
Arduino precizni i točni voltmetar (0-90V DC): 3 koraka
Arduino precizni i točni voltmetar (0-90V DC): U ovom uputstvu sam izgradio voltmetar za mjerenje visokog napona DC (0-90v) s relativnom preciznošću i točnošću pomoću Arduino Nano. Testna mjerenja koja sam obavila bila su dovoljno točna, uglavnom unutar 0,3v od stvarnog napona izmjerenog s
DropArt - Precizni fotografski kolajder s dva ispuštanja: 11 koraka (sa slikama)
DropArt - Precizni fotografski sudarač s dvije kapi: Pozdrav svima, u ovom uputstvu predstavljam svoj dizajn za računarski upravljani sudarač s dvije kapljice tekućine. Prije nego počnemo s detaljima dizajna, mislim da ima smisla objasniti točno koja je svrha dizajna. Zabava, interesi
Precizni svjetlosni pištolj Wiimote za malinu PI: 9 koraka (sa slikama)
Točan Wiimote Light Gun za Raspberry PI: Uobičajeno, Wii daljinski upravljač koji se koristi kao svjetlosni pištolj nije dovoljno točan za retro igre poput NES Duck Hunt, jer Wii daljinski upravljač zapravo ne odabire točku na televizoru na koju je usmjeren. Ne može! Wii Remote ima infracrvenu kameru na prednjoj strani
Precizni sat: 3 koraka
Precizni sat: Svi nam trebaju satovi pa zašto ne napravite sami u ovom uputstvu, pokazat ću vam kako napraviti precizni sat nakon što postavite, automatski će pratiti trenutno vrijeme u pozadini svega. Iako je potrebno samo vrlo malo
SnappyXO precizni robot za kretanje: 6 koraka
SnappyXO Precision Mover Robot: Neka vaš Arduino robot ide ravno na određenu udaljenost ili se okreće prema zadanom kutu pomoću biblioteke PreciseMovement Arduino. Robotu je potreban kotač za valjanje ili ekvivalent kako bi se smanjilo trenje tijekom uvijanja.https: //www.pololu. com/produ