Obsah:

Nadmorská výška, tlak a teplota pomocou Raspberry Pi s MPL3115A2: 6 krokov
Nadmorská výška, tlak a teplota pomocou Raspberry Pi s MPL3115A2: 6 krokov

Video: Nadmorská výška, tlak a teplota pomocou Raspberry Pi s MPL3115A2: 6 krokov

Video: Nadmorská výška, tlak a teplota pomocou Raspberry Pi s MPL3115A2: 6 krokov
Video: Высокая плотность 2022 2024, Júl
Anonim
Nadmorská výška, tlak a teplota pomocou Raspberry Pi s MPL3115A2
Nadmorská výška, tlak a teplota pomocou Raspberry Pi s MPL3115A2
Nadmorská výška, tlak a teplota pomocou Raspberry Pi s MPL3115A2
Nadmorská výška, tlak a teplota pomocou Raspberry Pi s MPL3115A2

Znie to zaujímavo. V tejto dobe, keď všetci ideme do generácie IoT, je to celkom možné. Ako elektronický blázon sme hrali s Raspberry Pi a rozhodli sme sa pomocou týchto znalostí vytvoriť zaujímavé projekty. V tomto projekte budeme merať nadmorskú výšku, tlak vzduchu, teplotu pomocou Raspberry Pi. Takže tu je dokumentácia (vždy sa upravuje a rozširuje). Odporúčame začať podľa týchto pokynov a skopírujte kód. Môžete experimentovať neskôr. Začnime teda.

Krok 1: Potrebné vybavenie

Potrebné vybavenie
Potrebné vybavenie
Potrebné vybavenie
Potrebné vybavenie
Potrebné vybavenie
Potrebné vybavenie
Potrebné vybavenie
Potrebné vybavenie

1. Raspberry Pi

Prvým krokom bolo získanie dosky Raspberry Pi. My sme kúpili ten náš a vy tiež. Začali sme sa učiť z návodov, porozumeli sme konceptom skriptovania a prepojenia a učili sme sa neskôr. Tento malý génius je bežný pre fanúšikov, učiteľov a pri vytváraní inovatívnych prostredí.

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

INPI2 (adaptér I2C) poskytuje port Raspberry Pi 2/3 a I²C na použitie s viacerými zariadeniami I2C. Je k dispozícii v obchode Dcube Store

3. Výškomer, snímač tlaku a teploty, MPL3115A2

MPL3115A2 je snímač tlaku MEMS s rozhraním I²C, ktorý poskytuje údaje o tlaku/nadmorskej výške a teplote. Tento senzor používa na komunikáciu protokol I²C. Tento senzor sme kúpili v obchode Dcube Store

4. Pripojovací kábel

V obchode Dcube Store sme mali k dispozícii prepojovací kábel I2C

5. Kábel Micro USB

Micro USB kábel Napájací zdroj je ideálnou voľbou pre napájanie Raspberry Pi.

6. Vylepšenie prístupu na internet - ethernetový kábel/WiFi adaptér

V tejto dobe si získanie prístupu k čomukoľvek vyžaduje internetové pripojenie (takmer ako sa žije aj offline). Necháme si teda poradiť LAN káblom alebo bezdrôtovým Nano USB adaptérom (WiFi), aby sme vytvorili internetové pripojenie, aby sme mohli náš Rasp Pi používať jednoducho a vôbec bez problémov.

7. Kábel HDMI (voliteľný, vaša voľba)

Je to trochu zložité. Ak chcete, môžete mať možnosť pripojiť ďalší monitor, alebo je to pre vás veľmi výhodné z hľadiska nákladov, a to vytvorením bezhlavého pripojenia Pi k počítaču/prenosnému počítaču.

Krok 2: Hardvérové pripojenia na zostavenie obvodu

Hardvérové pripojenia na zostavenie obvodu
Hardvérové pripojenia na zostavenie obvodu
Hardvérové pripojenia na zostavenie obvodu
Hardvérové pripojenia na zostavenie obvodu

Vytvorte obvod podľa zobrazenej schémy. Vo všeobecnosti sú pripojenia veľmi jednoduché. Postupujte podľa pokynov a obrázkov a nemali by ste mať žiadne problémy.

Pri plánovaní sme sa zamerali na hardvér a kódovanie, ako aj na základy elektroniky. Chceli sme pre tento projekt navrhnúť jednoduchú schému elektroniky. Na diagrame si môžete všimnúť rôzne časti, napájacie komponenty a snímač I²C podľa komunikačných protokolov I²C. Našťastie to ukazuje, aká jednoduchá je elektronika pre tento projekt.

Pripojenie štítu Raspberry Pi a I2C

Najprv vezmite Raspberry Pi a umiestnite naň štít I²C. Jemne stlačte štít (pozri obrázok).

Pripojenie senzora a Raspberry Pi

Vezmite snímač a pripojte k nemu kábel I²C. Zaistite, aby sa výstup I²C VŽDY pripájal k vstupu I²C. To isté bude nasledovať Raspberry Pi s nad ním namontovaným štítom I²C. Štít I²C Shield a prepojovacie káble I²C máme na našej strane ako veľmi veľkú výhodu, pretože nám zostáva iba možnosť Plug and Play. Už žiadne problémy s kolíkmi a káblami, a preto zmätok je preč. Aká to úľava, keď si predstavíte seba v spleti drôtov a pustíte sa do toho. Je to jednoduchý proces, ktorý sme spomenuli.

Poznámka: Hnedý vodič by mal vždy nasledovať po uzemnení (GND) medzi výstupom jedného zariadenia a vstupom iného zariadenia

Pripojenie k internetu je životne dôležité

V skutočnosti tu máte na výber. Raspberry Pi môžete pripojiť pomocou kábla LAN alebo bezdrôtového adaptéra Nano USB pre pripojenie WiFi. V každom prípade to splnilo hlavný cieľ, ktorým je pripojenie k internetu.

Napájanie obvodu

Zapojte kábel Micro USB do napájacieho konektora Raspberry Pi. Zapáľte a môžeme vyraziť.

Pripojenie k obrazovke

Buď môžeme kábel HDMI pripojiť k novému monitoru, alebo si môžeme vytvoriť náš bezhlavý Pi, ktorý je kreatívny a nákladovo efektívny pomocou vzdialeného prístupu ako SSH/PuTTY. (Viem, že nie sme financovaní ako tajná organizácia)

Krok 3: Programovanie Raspberry Pi v Pythone

Programovanie Raspberry Pi v Pythone
Programovanie Raspberry Pi v Pythone

Kód Python pre snímač Raspberry Pi a MPL3115A2. Je k dispozícii v našom úložisku Github.

Predtým, ako prejdete na kód, prečítajte si pokyny uvedené v súbore Readme a nakonfigurujte podľa neho svoje Raspberry Pi. Zaberie to len chvíľu.

Nadmorská výška sa vypočíta z tlaku pomocou nasledujúcej rovnice:

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

Kde p0 = tlak hladiny mora (101326 Pa) a h je v metroch. MPL3115A2 používa túto hodnotu, pretože ofsetový register je definovaný ako 2 pascaly na LSB.

Kód je jasne pred vami a je v najjednoduchšej forme, akú si dokážete predstaviť, a nemali by ste mať žiadne problémy.

Odtiaľto môžete skopírovať funkčný kód Pythonu pre tento senzor.

# Distribuované s licenciou slobodnej vôle.# Používajte ho akýmkoľvek spôsobom chcete, so ziskom alebo zadarmo, za predpokladu, že sa zmestí do licencií k ním pridruženým dielam. # MPL3115A2 # Tento kód je navrhnutý tak, aby fungoval s mini modulom MPL3115A2_I2CS I2C, ktorý je k dispozícii na ControlEverything.com. #

import smbus

čas importu

# Získajte autobus I2C

bus = smbus. SMBus (1)

# MPL3115A2 adresa, 0x60 (96)

# Vyberte riadiaci register, 0x26 (38) # 0xB9 (185) Aktívny režim, OSR = 128, výškomerová zbernica.write_byte_data (0x60, 0x26, 0xB9) # Adresa MPL3115A2, 0x60 (96) # Vyberte register konfigurácie údajov, 0x13 (19) # 0x07 (07) Udalosť pripravená na údaje povolená pre nadmorskú výšku, tlak a teplotu zbernice. Write_byte_data (0x60, 0x13, 0x07) # Adresa MPL3115A2, 0x60 (96) # Vyberte riadiaci register, 0x26 (38) # 0xB9 (185) Aktívny režim, OSR = 128, zbernica v režime výškomera.write_byte_data (0x60, 0x26, 0xB9)

time.sleep (1)

# MPL3115A2 adresa, 0x60 (96)

# Čítanie údajov späť z 0x00 (00), 6 bajtov # stav, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data (0x60, 0x00, 6)

# Konvertujte údaje na 20-bitové

tHeight = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16 temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16 nadmorská výška = tVýška / 16,0 cTemp = teplota / 16,0 fTemp = cTemp * 1,8 + 32

# MPL3115A2 adresa, 0x60 (96)

# Vyberte riadiaci register, 0x26 (38) # 0x39 (57) Aktívny režim, OSR = 128, zbernica barometrického režimu.write_byte_data (0x60, 0x26, 0x39)

time.sleep (1)

# MPL3115A2 adresa, 0x60 (96)

# Načítanie údajov späť z 0x00 (00), 4 bajty # stav, pres MSB1, pres MSB, pres LSB údaje = bus.read_i2c_block_data (0x60, 0x00, 4)

# Konvertujte údaje na 20-bitové

pres = ((údaje [1] * 65536) + (údaje [2] * 256) + (údaje [3] a 0xF0)) / 16 tlak = (prez / 4,0) / 1000,0

# Výstup údajov na obrazovku

tlač "Tlak: %.2f kPa" %tlaková tlač "Nadmorská výška: %.2f m" %nadmorská výška tlač "Teplota v stupňoch Celzia: %.2f C" %cTemp tlač "Teplota vo Fahrenheite: %.2f F" %fTemp

Krok 4: Praktickosť kódu (testovanie)

Praktickosť kódexu (testovanie)
Praktickosť kódexu (testovanie)

Teraz si stiahnite (alebo git pull) kód a otvorte ho v Raspberry Pi.

Spustite príkazy na kompiláciu a nahrajte kód do terminálu a pozrite sa na výstup na monitore. Po niekoľkých sekundách sa zobrazia všetky parametre. Keď sa ubezpečíte, že všetko funguje hladko, môžete tento projekt previesť na väčší projekt.

Krok 5: Aplikácie a funkcie

Bežné použitie senzora presného výškomeru MPL3115A2 I²C MPL3115A2 je v aplikáciách, ako je mapa (asistencia mapy, navigácia), magnetický kompas alebo GPS (GPS Dead Reckoning, GPS Enhancement for Emergency Services), vysoko presná výškomer, smartfóny/tablety, výškomer pre osobnú elektroniku a satelity (vybavenie/predpovede meteorologickej stanice).

Napríklad pre projekt na výrobu osobného elektronického výškomera, ktorý meria nadmorskú výšku, tlak vzduchu a teplotu pomocou Raspberry Pi. Osobný elektronický výškomer je celkom rýchly projekt na výstavbu. Ak máte všetky časti a nebudete improvizovať, bude to trvať len niekoľko okamihov (samozrejme, že môžete!). Tlakový výškomer je výškomer, ktorý sa nachádza vo väčšine lietadiel, a parašutisti na podobné účely používajú verzie upevnené na zápästí. Peší turisti a horolezci používajú výškomery namontované na zápästí alebo v ruke.

Krok 6: Záver

Dúfam, že tento projekt inšpiruje ďalšie experimentovanie. Tento snímač I²C je neuveriteľne univerzálny, lacný a prístupný. Keďže ide o mimoriadne premenlivý program, existujú zaujímavé spôsoby, ako tento projekt rozšíriť a ešte vylepšiť. Výškomer je napríklad voliteľný nástroj v terénnych vozidlách na pomoc pri navigácii. Túto technológiu používajú niektoré vysokovýkonné luxusné autá, ktoré nikdy nemali opúšťať spevnené cesty. Pre vaše pohodlie máme pre vás zaujímavý video návod na YouTube, ktorý by vám mohol pomôcť pri vašom skúmaní. Dúfam, že tento projekt inšpiruje ďalšie experimentovanie.

Odporúča: