Kazalo:
Video: Raspberry Pi - MPL3115A2 Precizni senzor višinomera za Python Vadnica: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
MPL3115A2 uporablja senzor tlaka MEMS z vmesnikom I2C za zagotavljanje točnih podatkov o tlaku/nadmorski višini in temperaturi. Izhode senzorjev digitalizira 24-bitni ADC z visoko ločljivostjo. Notranja obdelava odstrani kompenzacijske naloge iz gostiteljskega sistema MCU. Sposoben je zaznati spremembo le 0,05 kPa, kar pomeni 0,3 m višinske spremembe. Tukaj je njegova predstavitev z malinovim pi z uporabo kode python.
Korak: Kaj potrebujete.. !
1. Malina Pi
2. MPL3115A2
3. Kabel I²C
4. I²C ščit za Raspberry Pi
5. Ethernetni kabel
2. korak: Povezave:
Za malino pi vzemite ščit I2C in ga nežno potisnite čez zatiče gpio maline pi.
Nato en konec kabla I2C priključite na senzor MPL3115A2, drugi konec pa na ščit I2C.
Ethernetni kabel priključite tudi na pi ali pa uporabite modul WiFi.
Povezave so prikazane na zgornji sliki.
3. korak: Koda:
Kodo python za MPL3115A2 lahko prenesete iz našega skladišča Github- skupnosti trgovin DCUBE.
Tukaj je povezava
Za kodo python smo uporabili knjižnico SMBus, koraki za namestitev SMBus na malino pi so opisani tukaj:
pypi.python.org/pypi/smbus-cffi/0.5.1
Kodo lahko tudi kopirate od tu, podana je na naslednji način:
# Razdeljeno z licenco za svobodno voljo.
# Uporabite ga kakor koli želite, dobičkonosno ali brezplačno, pod pogojem, da ustreza licencam pripadajočih del.
# MPL3115A2
# Ta koda je zasnovana za delo z mini modulom MPL3115A2_I2CS I2C
uvoz smbus
čas uvoza
# Pridobite avtobus I2C
vodilo = smbus. SMBus (1)
# Naslov MPL3115A2, 0x60 (96)
# Izberite kontrolni register, 0x26 (38)
# 0xB9 (185) Aktivni način, OSR = 128, Način višinomera
bus.write_byte_data (0x60, 0x26, 0xB9)
# Naslov MPL3115A2, 0x60 (96)
# Izberite register konfiguracije podatkov, 0x13 (19)
# 0x07 (07) Dogodek za pripravljenost podatkov za višino, tlak, temperaturo
bus.write_byte_data (0x60, 0x13, 0x07)
# Naslov MPL3115A2, 0x60 (96)
# Izberite kontrolni register, 0x26 (38)
# 0xB9 (185) Aktivni način, OSR = 128, Način višinomera
bus.write_byte_data (0x60, 0x26, 0xB9)
time.sleep (1)
# Naslov MPL3115A2, 0x60 (96)
# Preberite podatke nazaj od 0x00 (00), 6 bajtov
# status, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB
data = bus.read_i2c_block_data (0x60, 0x00, 6)
# Pretvorite podatke v 20-bitne
tHeight = ((podatki [1] * 65536) + (podatki [2] * 256) + (podatki [3] & 0xF0)) / 16
temp = ((podatki [4] * 256) + (podatki [5] & 0xF0)) / 16
nadmorska višina = tVišina / 16,0
cTemp = temp / 16.0
fTemp = cTemp * 1,8 + 32
# Naslov MPL3115A2, 0x60 (96)
# Izberite kontrolni register, 0x26 (38)
# 0x39 (57) Aktivni način, OSR = 128, Način barometra
bus.write_byte_data (0x60, 0x26, 0x39)
time.sleep (1)
# Naslov MPL3115A2, 0x60 (96)
# Preberite podatke nazaj od 0x00 (00), 4 bajte
# status, pres MSB1, pres MSB, pres LSB
data = bus.read_i2c_block_data (0x60, 0x00, 4)
# Pretvorite podatke v 20-bitne
pres = ((podatki [1] * 65536) + (podatki [2] * 256) + (podatki [3] & 0xF0)) / 16
tlak = (pres / 4.0) / 1000.0
# Iznesite podatke na zaslon
natisnite "Tlak: %.2f kPa" %tlak
natisni "Nadmorska višina: %.2f m" %nadmorske višine
natisni "Temperatura v Celzijah: %.2f C" %cTemp
natisni "Temperatura v Fahrenheitu: %.2f F" %fTemp
4. korak: Aplikacije:
Različne aplikacije MPL3115A2 vključujejo visoko natančnost altimetrije, pametne telefone/tablične računalnike, višino osebne elektronike itd. Lahko se vključijo tudi v GPS mrtve obračune, izboljšavo GPS za službe v sili, pomoč pri zemljevidih, navigacijo in opremo vremenskih postaj.
Priporočena:
Raspberry Pi - BH1715 Digitalni senzor zunanje svetlobe Python Vadnica: 4 koraki
Raspberry Pi - BH1715 digitalni senzor zunanje svetlobe Python Vadnica: BH1715 je digitalni senzor zunanje svetlobe z vmesnikom I²C vodila. BH1715 se običajno uporablja za pridobivanje podatkov o svetlobi v okolici za prilagajanje moči osvetlitve LCD in tipkovnice za mobilne naprave. Ta naprava ponuja 16-bitno ločljivost in prilagaja
Raspberry Pi - TMP007 Infrardeči senzor termopilov Python Vadnica: 4 koraki
Raspberry Pi - TMP007 Infrardeči senzor termopile Python Vadnica: TMP007 je infrardeči senzor termopile, ki meri temperaturo predmeta, ne da bi bil v stiku z njim. Infrardečo energijo, ki jo oddaja objekt v senzorskem polju, absorbira termopila, vgrajena v senzor. Termopol
Raspberry Pi - TSL45315 Senzor okoljske svetlobe Python Vadnica: 4 koraki
Raspberry Pi - TSL45315 Senzor osvetlitve okolja Python Vadnica: TSL45315 je digitalni senzor svetlobe okolice. Približuje odziv človeškega očesa v različnih svetlobnih pogojih. Naprave imajo tri izbirne čase integracije in zagotavljajo neposreden 16-bitni lux izhod prek vmesnika vodila I2C. Naprava skupaj
Raspberry Pi - HIH6130 I2C senzor vlažnosti in temperature Python Vadnica: 4 koraki
Raspberry Pi - HIH6130 I2C Senzor vlažnosti in temperature Python Vadnica: HIH6130 je senzor vlažnosti in temperature z digitalnim izhodom. Ti senzorji zagotavljajo natančnost ± 4% RH. Z dolgoročno stabilnostjo v industriji, resnično temperaturno kompenziranim digitalnim I2C, vodilno zanesljivostjo v industriji, energetsko učinkovitostjo
Raspberry Pi MCP9808 Temperaturni senzor Python Vadnica: 4 koraki
Raspberry Pi MCP9808 Temperaturni senzor Python Vadnica: MCP9808 je zelo natančen digitalni temperaturni senzor ± 0,5 ° C I2C mini modul. Poosebljeni so s programi, ki jih lahko programira uporabnik in olajšajo aplikacije zaznavanja temperature. Visoko natančni temperaturni senzor MCP9808 je postal industrija