Obsah:
Video: Raspberry Pi - MPL3115A2 Přesný snímač výškoměru Python Výuka: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:19
MPL3115A2 využívá tlakový senzor MEMS s rozhraním I2C, který poskytuje přesné údaje o tlaku/nadmořské výšce a teplotě. Výstupy senzorů jsou digitalizovány 24bitovým ADC s vysokým rozlišením. Interní zpracování odstraní úlohy kompenzace z hostitelského systému MCU. Je schopen detekovat změnu pouze o 0,05 kPa, což odpovídá změně výšky o 0,3 m. Zde je jeho ukázka s malinou pi pomocí kódu pythonu.
Krok 1: Co potřebujete..
1. Raspberry Pi
2. MPL3115A2
3. I²C kabel
4. I²C štít pro Raspberry Pi
5. Ethernetový kabel
Krok 2: Připojení:
Vezměte I2C štít pro malinový pi a jemně jej zatlačte přes gpio piny malinového pi.
Poté připojte jeden konec kabelu I2C k senzoru MPL3115A2 a druhý konec ke stínění I2C.
Připojte také ethernetový kabel k pí nebo můžete použít modul WiFi.
Připojení jsou znázorněna na obrázku výše.
Krok 3: Kód:
Pythonový kód pro MPL3115A2 lze stáhnout z našeho úložiště Github- komunita obchodu DCUBE.
Tady je odkaz
Pro kód pythonu jsme použili knihovnu SMBus, kroky k instalaci SMBus na Raspberry Pi jsou popsány zde:
pypi.python.org/pypi/smbus-cffi/0.5.1
Odtud můžete také zkopírovat kód, který je uveden následovně:
# Distribuováno s licencí svobodné vůle.
# Použijte jej jakýmkoli způsobem, ať už ziskem nebo zdarma, za předpokladu, že se vejde do licencí souvisejících děl.
# MPL3115A2
# Tento kód je navržen pro práci s mini modulem MPL3115A2_I2CS I2C
importovat smbus
čas importu
# Získejte autobus I2C
bus = smbus. SMBus (1)
# MPL3115A2 adresa, 0x60 (96)
# Vyberte řídicí registr, 0x26 (38)
# 0xB9 (185) Aktivní režim, OSR = 128, režim výškoměru
bus.write_byte_data (0x60, 0x26, 0xB9)
# MPL3115A2 adresa, 0x60 (96)
# Vyberte registr konfigurace dat, 0x13 (19)
# 0x07 (07) Událost připravenosti dat povolena pro nadmořskou výšku, tlak, teplotu
bus.write_byte_data (0x60, 0x13, 0x07)
# MPL3115A2 adresa, 0x60 (96)
# Vyberte řídicí registr, 0x26 (38)
# 0xB9 (185) Aktivní režim, OSR = 128, režim výškoměru
bus.write_byte_data (0x60, 0x26, 0xB9)
time.sleep (1)
# MPL3115A2 adresa, 0x60 (96)
# Přečtěte data zpět od 0x00 (00), 6 bytů
# status, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB
data = bus.read_i2c_block_data (0x60, 0x00, 6)
# Převeďte data na 20 bitů
tHeight = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16
temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16
nadmořská výška = tVýška / 16.0
cTemp = teplota / 16.0
fTemp = cTemp * 1,8 + 32
# MPL3115A2 adresa, 0x60 (96)
# Vyberte řídicí registr, 0x26 (38)
# 0x39 (57) Aktivní režim, OSR = 128, režim barometru
bus.write_byte_data (0x60, 0x26, 0x39)
time.sleep (1)
# MPL3115A2 adresa, 0x60 (96)
# Přečtěte data zpět od 0x00 (00), 4 bajty
# status, pres MSB1, pres MSB, pres LSB
data = bus.read_i2c_block_data (0x60, 0x00, 4)
# Převeďte data na 20 bitů
pres = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16
tlak = (prez / 4,0) / 1000,0
# Výstup dat na obrazovku
tisk "Tlak: %.2f kPa" %tlaku
tisk "Nadmořská výška: %.2f m" %nadmořská výška
tisk "Teplota ve stupních Celsia: %.2f C" %cTemp
tisk "Teplota ve Fahrenheitech: %.2f F" %fTemp
Krok 4: Aplikace:
Různé aplikace MPL3115A2 zahrnují vysoce přesnou výškoměr, smartphony/tablety, osobní elektronickou výškoměr atd. Lze jej také začlenit do systému GPS Dead Reckoning, GPS Enhancement pro záchranné služby, Map Assist, Navigation a vybavení meteorologické stanice.
Doporučuje:
Přesný a přesný voltmetr Arduino (0-90V DC): 3 kroky
Přesný a přesný voltmetr Arduino (0-90V DC): V tomto návodu jsem postavil voltmetr pro měření vysokého napětí DC (0-90v) s relativní přesností a přesností pomocí Arduino Nano. Testovací měření, která jsem provedl, byla dostatečně přesná, většinou do 0,3 V od skutečného napětí naměřeného
Raspberry Pi MMA8452Q 3osý 12bitový/8bitový digitální akcelerometr Python Výuka: 4 kroky
3osý 12bitový/8bitový digitální akcelerometr Raspberry Pi MMA8452Q Python Výukový program: MMA8452Q je chytrý, tříosý, kapacitní, mikroobráběný akcelerometr s nízkým výkonem a rozlišením 12 bitů. Flexibilní uživatelsky programovatelné možnosti jsou poskytovány pomocí vestavěných funkcí v akcelerometru, konfigurovatelných na dvě přerušení
Jak vyrobit přesný snímač průtoku vzduchu s Arduino pro ventilátor COVID-19 do 20 GBP: 7 kroků
Jak vyrobit přesný snímač rychlosti proudění vzduchu s Arduinem za ventilátor COVID-19 do 20 GBP: Nejnovější design tohoto snímače průtoku clony naleznete v této zprávě: https://drive.google.com/file/d/1TB7rhnxQ6q6C1cNb. .. Tento návod ukazuje, jak vybudovat snímač průtoku vzduchu pomocí levného snímače diferenčního tlaku a snadno
Raspberry Pi - TMP007 Infračervený snímač termopilu Python Výuka: 4 kroky
Raspberry Pi - TMP007 Infračervený termopilní senzor Python Výuka: TMP007 je infračervený termopilní senzor, který měří teplotu předmětu, aniž by s ním byl v kontaktu. Infračervená energie vyzařovaná objektem v poli senzoru je absorbována termopilem integrovaným v senzoru. Termopil
Raspberry Pi - PCA9536 Expander vstupů/výstupů Python Výuka: 4 kroky
Raspberry Pi-expandér vstupů/výstupů PCA9536 Python Výukový program: PCA9536 je 8kolíkové zařízení CMOS, které poskytuje 4 bity rozšíření paralelního vstupu/výstupu (GPIO) pro obecné účely pro aplikace I2C-bus/SMBus. Skládá se ze 4bitového konfiguračního registru, který slouží k výběru vstupu nebo výstupu, 4bitového