Obsah:

Nadmořská výška, tlak a teplota pomocí Raspberry Pi s MPL3115A2: 6 kroků
Nadmořská výška, tlak a teplota pomocí Raspberry Pi s MPL3115A2: 6 kroků

Video: Nadmořská výška, tlak a teplota pomocí Raspberry Pi s MPL3115A2: 6 kroků

Video: Nadmořská výška, tlak a teplota pomocí Raspberry Pi s MPL3115A2: 6 kroků
Video: bmp 180 na raspíčku 2024, Červenec
Anonim
Nadmořská výška, tlak a teplota pomocí Raspberry Pi s MPL3115A2
Nadmořská výška, tlak a teplota pomocí Raspberry Pi s MPL3115A2
Nadmořská výška, tlak a teplota pomocí Raspberry Pi s MPL3115A2
Nadmořská výška, tlak a teplota pomocí Raspberry Pi s MPL3115A2

Zní to zajímavě. V této době, kdy všichni přecházíme do generace IoT, je to docela možné. Jako elektronický šílenec jsme si hráli s Raspberry Pi a rozhodli jsme se pomocí těchto znalostí dělat zajímavé projekty. V tomto projektu budeme měřit nadmořskou výšku, tlak vzduchu a teplotu pomocí Raspberry Pi. Takže tady je dokumentace (vždy se mění a rozšiřuje). Doporučujeme začít podle pokynů a zkopírujte kód. Experimentovat můžete později. Začněme tedy.

Krok 1: Potřebné vybavení

Potřebné vybavení
Potřebné vybavení
Potřebné vybavení
Potřebné vybavení
Potřebné vybavení
Potřebné vybavení
Potřebné vybavení
Potřebné vybavení

1. Raspberry Pi

Prvním krokem bylo získání desky Raspberry Pi. My jsme koupili ten náš a vy také. Začali jsme se učit z tutoriálů, porozuměli jsme konceptům skriptování a připojení a učili jsme se později. Tento malý génius je běžný pro fandy, učitele a při vytváření inovativních prostředí.

2. I²C štít pro Raspberry Pi

INPI2 (adaptér I2C) poskytuje port Raspberry Pi 2/3 a I²C pro použití s více zařízeními I2C. Je k dispozici v Dcube Store

3. Výškoměr, snímač tlaku a teploty, MPL3115A2

MPL3115A2 je tlakový senzor MEMS s rozhraním I²C, který poskytuje údaje o tlaku/nadmořské výšce a teplotě. Tento senzor používá ke komunikaci protokol I²C. Tento senzor jsme zakoupili v Dcube Store

4. Připojovací kabel

V Dcube Store jsme měli k dispozici propojovací kabel I2C

5. Micro USB kabel

Micro USB kabel Napájecí zdroj je ideální volbou pro napájení Raspberry Pi.

6. Vylepšení přístupu k internetu - ethernetový kabel/WiFi adaptér

V této době získání přístupu k čemukoli vyžaduje připojení k internetu (téměř stejně jako existuje život offline). Necháme si tedy poradit s LAN kabelem nebo bezdrátovým Nano USB adaptérem (WiFi), abychom vytvořili připojení k internetu, abychom mohli náš Rasp Pi používat snadno a vůbec bez problémů.

7. Kabel HDMI (volitelný, vaše volba)

Je to trochu ošidné. Pokud chcete, můžete mít možnost připojit další monitor, nebo je to pro vás velmi nákladově efektivní díky bezhlavému připojení Pi k vašemu počítači/notebooku.

Krok 2: Hardwarová připojení k sestavení obvodu

Hardwarová připojení k sestavení obvodu
Hardwarová připojení k sestavení obvodu
Hardwarová připojení k sestavení obvodu
Hardwarová připojení k sestavení obvodu

Vytvořte obvod podle zobrazeného schématu. Obecně je připojení velmi jednoduché. Postupujte podle pokynů a obrázků a neměli byste mít žádné problémy.

Při plánování jsme se zabývali hardwarem a kódováním a také základy elektroniky. Chtěli jsme pro tento projekt navrhnout jednoduché schéma elektroniky. V diagramu si můžete všimnout různých částí, napájecích komponent a čidla I²C podle komunikačních protokolů I²C. Naštěstí to ukazuje, jak jednoduchá je elektronika pro tento projekt.

Připojení Raspberry Pi a I2C Shield

Nejprve si vezměte Raspberry Pi a umístěte na něj I²C Shield. Jemně stiskněte štít (viz obrázek).

Připojení senzoru a Raspberry Pi

Vezměte snímač a připojte k němu kabel I²C. Ujistěte se, že se výstup I²C VŽDY připojí ke vstupu I²C. To samé bude následovat Raspberry Pi s I²C štítem přes něj. Máme I²C Shield a I²C propojovací kabely na naší straně jako velmi velkou výhodu, protože nám zbývá pouze možnost plug and play. Už žádné problémy s kolíky a kabeláží, a proto zmatek zmizel. Jaká to úleva, když si představíte sami sebe v síti drátů a pustíte se do toho. Jen jednoduchý proces, který jsme zmínili.

Poznámka: Hnědý vodič by měl vždy sledovat uzemnění (GND) mezi výstupem jednoho zařízení a vstupem jiného zařízení

Připojení k internetu je životně důležité

Tady máte vlastně na výběr. Raspberry Pi můžete připojit pomocí kabelu LAN nebo bezdrátového adaptéru Nano USB pro připojení WiFi. Každopádně to mělo hlavní cíl, kterým je připojení k internetu.

Napájení obvodu

Zapojte kabel Micro USB do napájecího konektoru Raspberry Pi. Rozsviťte to a můžeme vyrazit.

Připojení k obrazovce

Buď můžeme mít kabel HDMI připojený k novému monitoru, nebo můžeme vytvořit náš bezhlavý Pi, který je kreativní a nákladově efektivní pomocí vzdáleného přístupu jako SSH/PuTTY. (Vím, že nejsme financováni jako tajná organizace)

Krok 3: Programování Raspberry Pi v Pythonu

Programování Raspberry Pi v Pythonu
Programování Raspberry Pi v Pythonu

Kód Pythonu pro snímač Raspberry Pi a MPL3115A2. Je k dispozici v našem úložišti Github.

Než přejdete ke kódu, přečtěte si pokyny uvedené v souboru Readme a podle něj nastavte svůj Raspberry Pi. Bude to chvíli trvat.

Nadmořská výška se vypočítá z tlaku pomocí následující rovnice:

h = 44330,77 {1 - (p / p0) ^ 0,1902632} + OFF_H (hodnota registru)

Kde p0 = tlak hladiny moře (101326 Pa) a h je v metrech. MPL3115A2 používá tuto hodnotu, protože offsetový registr je definován jako 2 Pascaly na LSB.

Kód je jasně před vámi a je v nejjednodušší formě, jakou si dokážete představit, a neměli byste mít žádné problémy.

Odtud také můžete zkopírovat funkční kód Pythonu pro tento senzor.

# Distribuováno s licencí svobodné vůle.# Používejte jej libovolným 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, který je k dispozici na ControlEverything.com. #

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, sběrnice v režimu výškoměru.write_byte_data (0x60, 0x26, 0xB9) # Adresa MPL3115A2, 0x60 (96) # Vyberte konfigurační registr dat, 0x13 (19) # 0x07 (07) Událost připravenosti dat povolena pro nadmořskou výšku, tlak, teplotní sběrnici. Write_byte_data (0x60, 0x13, 0x07) # Adresa MPL3115A2, 0x60 (96) # Vyberte řídicí registr, 0x26 (38) # 0xB9 (185) Aktivní režim, OSR = 128, sběrnice v režimu výškoměru.write_byte_data (0x60, 0x26, 0xB9)

time.sleep (1)

# MPL3115A2 adresa, 0x60 (96)

# Číst data zpět z 0x00 (00), 6 bytů # stav, 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, sběrnice barometrického režimu.

time.sleep (1)

# MPL3115A2 adresa, 0x60 (96)

# Číst data zpět z 0x00 (00), 4 bajty # stav, 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 = (pres / 4,0) / 1000,0

# Výstup dat na obrazovku

tisk "Tlak: %.2f kPa" %tlakový tisk "Nadmořská výška: %.2f m" %nadmořská výška tisk "Teplota ve stupních Celsia: %.2f C" %cTemp tisk "Teplota ve stupních Fahrenheita: %.2f F" %fTemp

Krok 4: Praktičnost kódu (testování)

Praktičnost kodexu (testování)
Praktičnost kodexu (testování)

Nyní si stáhněte (nebo git pull) kód a otevřete jej v Raspberry Pi.

Spusťte příkazy pro kompilaci a nahrání kódu do terminálu a podívejte se na výstup na monitoru. Po několika sekundách se zobrazí všechny parametry. Poté, co se ujistíte, že vše funguje hladce, můžete tento projekt převést na větší projekt.

Krok 5: Aplikace a funkce

Běžné použití snímače MPL3115A2 Precision Altimeter I²C je v aplikacích, jako je Map (Map Assist, Navigation), Magnetic Compass, Nebo GPS (GPS Dead Reckoning, GPS Enhancement for Emergency Services), High Accuracy Altimetry, Smartphones/Tablets, Personal Electronics Altimetry a satelity (vybavení/předpovědi meteorologické stanice).

Například pro projekt výroby osobního elektronického výškoměru, který měří nadmořskou výšku, tlak vzduchu a teplotu pomocí Raspberry Pi. Osobní elektronický výškoměr je celkem docela rychlý projekt na stavbu. Bude to trvat jen několik okamžiků, pokud budete mít všechny části a nebudete improvizovat (samozřejmě můžete!). Tlakový výškoměr je výškoměr nacházející se ve většině letadel a parašutisté pro podobné účely používají verze upevněné na zápěstí. Turisté a horolezci používají výškoměry namontované na zápěstí nebo ruční.

Krok 6: Závěr

Doufám, že tento projekt inspiruje k dalšímu experimentování. Tento senzor I²C je neuvěřitelně univerzální, levný a dostupný. Protože se jedná o extrémně proměnlivý program, existují zajímavé způsoby, jak tento projekt rozšířit a ještě vylepšit. Výškoměr je například nástroj volitelný v terénních vozidlech, který pomáhá při navigaci. Tuto technologii používají některá vysoce výkonná luxusní auta, která nikdy neměla opustit zpevněné silnice. Pro vaše pohodlí máme zajímavý videonávod na YouTube, který by mohl pomoci vašemu průzkumu. Doufám, že tento projekt inspiruje k dalšímu experimentování.

Doporučuje: