Obsah:

Pomocou Raspberry Pi zmerajte nadmorskú výšku, tlak a teplotu pomocou MPL3115A2: 6 krokov
Pomocou Raspberry Pi zmerajte nadmorskú výšku, tlak a teplotu pomocou MPL3115A2: 6 krokov

Video: Pomocou Raspberry Pi zmerajte nadmorskú výšku, tlak a teplotu pomocou MPL3115A2: 6 krokov

Video: Pomocou Raspberry Pi zmerajte nadmorskú výšku, tlak a teplotu pomocou MPL3115A2: 6 krokov
Video: Lesson 37: Using BME280 Humidity, Barometric Pressure and Temperature Sensor 2024, November
Anonim
Image
Image
Nepostrádateľné vybavenie, ktoré potrebujeme
Nepostrádateľné vybavenie, ktoré potrebujeme

Vedzte, čo vlastníte a prečo to vlastníte

Je to zaujimave Žijeme v dobe internetovej automatizácie, ktorá sa vrhá do množstva nových aplikácií. Ako nadšenci počítačov a elektroniky sme sa s Raspberry Pi veľa naučili a rozhodli sme sa spojiť svoje záujmy. Tento projekt trvá asi hodinu, ak ste nováčik v pripojení I²C a nastavení softvéru, a je to skvelý spôsob, ako rozšíriť možnosti MPL3115A2 o Raspberry Pi v Jave.

Krok 1: Nepostrádateľné vybavenie, ktoré potrebujeme

Nepostrádateľné vybavenie, ktoré potrebujeme
Nepostrádateľné vybavenie, ktoré potrebujeme
Nepostrádateľné vybavenie, ktoré potrebujeme
Nepostrádateľné vybavenie, ktoré potrebujeme
Nepostrádateľné vybavenie, ktoré potrebujeme
Nepostrádateľné vybavenie, ktoré potrebujeme

1. Raspberry Pi

Prvým krokom bolo získanie dosky Raspberry Pi. Tento malý génius používajú fanúšikovia, učitelia a vytváranie inovatívnych prostredí.

2. I2C š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²2. Tento senzor sme kúpili v obchode Dcube Store.

4. Pripojovací kábel

Použili sme prepojovací kábel I²C, ktorý je k dispozícii v obchode Dcube Store.

5. Kábel Micro USB

Raspberry Pi je napájané napájaním micro USB.

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

Jedna z prvých vecí, ktoré budete chcieť urobiť, je pripojiť vaše Raspberry Pi k internetu. Pripojiť sa môžete pomocou ethernetového kábla alebo pomocou bezdrôtového USB Nano WiFi adaptéra.

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

Raspberry Pi môžete pripojiť k monitoru pomocou kábla HDMI. K svojmu Raspberry Pi môžete tiež vzdialene pristupovať pomocou SSH/PuTTY.

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 celkom jednoduché. Postupujte podľa vyššie uvedených 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

Za týmto účelom 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. Také jednoduché!

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 zásadné

Aby bol náš projekt úspešný, potrebujeme pre naše Raspberry Pi prístup na internet. V tomto máte možnosti, ako je pripojenie ethernetového (LAN) kábla. Tiež ako alternatívny, ale pôsobivý spôsob použitia adaptéra WiFi.

Napájanie obvodu

Zapojte kábel Micro USB do napájacieho konektora Raspberry Pi. Zapnite a voilá, môžeme vyraziť!

Pripojenie k obrazovke

Buď môžeme mať kábel HDMI pripojený k monitoru, alebo môžeme byť trochu inovatívni pri vytváraní nášho bezhlavého Pi (pomocou -SSH/PuTTY), čo pomáha znížiť dodatočné náklady, pretože sme nejakým spôsobom nadšenci.

Keď zvyk začne stáť peniaze, nazýva sa to koníček

Krok 3: Programovanie Raspberry Pi v Jave

Programovanie Raspberry Pi v Jave
Programovanie Raspberry Pi v Jave

Kód Java 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 nastavte podľa neho svoje Raspberry Pi. Bude to chvíľu trvať. Nadmorská výška sa vypočíta z tlaku pomocou nižšie uvedenej 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 Java 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í súvisiacich diel. // MPL3115A2 // Tento kód je navrhnutý tak, aby fungoval s mini modulom MPL3115A2_I2CS I2C, ktorý je k dispozícii na ControlEverything.com. //

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice; import com.pi4j.io.i2c. I2CFactory; import java.io. IOException;

verejná trieda MPL3115A2

{public static void main (String args ) throws Exception {// Create I2C bus I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // Získať zariadenie I2C, adresa MPL3115A2 I2C je 0x60 (96) I2CDevice zariadenie = Bus.getDevice (0x60); // Vyberte riadiaci register // Aktívny režim, OSR = 128, prístroj výškomeru device.write (0x26, (byte) 0xB9); // Vyberte register konfigurácie údajov // Udalosť pripravená na údaje povolená pre nadmorskú výšku, tlak, teplotu zariadenia.write (0x13, (byte) 0x07); // Vyberte riadiaci register // Aktívny režim, OSR = 128, prístroj výškomeru device.write (0x26, (byte) 0xB9); Thread.sleep (1000);

// Prečítajte 6 bajtov údajov z adresy 0x00 (00)

// stav, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb byte data = nový byte [6]; device.read (0x00, data, 0, 6);

// Previesť údaje na 20-bitové

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

// Vyberte riadiaci register

// Aktívny režim, OSR = 128, barometrický režim device.write (0x26, (byte) 0x39); Thread.sleep (1000); // Prečítajte 4 bajty dát z adresy 0x00 (00) // stav, pres msb1, pres msb, pres lsb device.read (0x00, data, 0, 4);

// Previesť údaje na 20-bitové

int pres = (((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16; dvojnásobný tlak = (prez / 4,0) / 1000,0; // Výstup údajov na obrazovku System.out.printf ("Tlak: %.2f kPa %n", tlak); System.out.printf ("Nadmorská výška: %.2f m %n", nadmorská výška); System.out.printf ("Teplota v stupňoch Celzia: %.2f C %n", cTemp); System.out.printf ("Teplota vo Fahrenheite: %.2f F %n", fTemp); }}

Krok 4: Praktickosť kódexu (fungovanie)

Praktickosť kódexu (fungovanie)
Praktickosť kódexu (fungovanie)

Teraz si stiahnite (alebo git pull) kód a otvorte ho v Raspberry Pi. Spustite príkazy na kompiláciu a nahrajte kód na terminál 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ýškomera MPL3115A2 je v aplikáciách, ako je mapa (asistencia mapy, navigácia), magnetický kompas alebo GPS (GPS mŕtve zúčtovanie, vylepšenie GPS pre núdzové služby), vysoko presná výškomer, smartfóny/tablety, výškomer osobnej elektroniky a Satelity (vybavenie meteorologickej stanice/predpovede).

Napríklad pre Pomocou tohto senzora a Rasp Pi môžete vytvoriť digitálny vizuálny výškomer, najdôležitejšiu súčasť parašutistického vybavenia, ktoré dokáže merať nadmorskú výšku, tlak vzduchu a teplotu. Môžete pridať veternú gázu a ďalšie senzory, aby boli zaujímavejšie.

Krok 6: Záver

Pretože je program úžasne prispôsobiteľný, existuje mnoho zaujímavých spôsobov, ktorými môžete tento projekt rozšíriť a ešte vylepšiť. Napríklad výškomer/interferometer by zahŕňal niekoľko výškomerov namontovaných na stožiaroch, ktoré by získavali merania súčasne, čím by sa zabezpečilo kontinuálne, jedno- alebo multi-výškomerové širokopásmové pokrytie. Na YouTube máme zaujímavý video návod, ktorý vám môže pomôcť lepšie porozumieť tomuto projektu.

Odporúča: