Obsah:
- Krok 1: Nepostrádateľné vybavenie, ktoré potrebujeme
- Krok 2: Hardvérové pripojenia na zostavenie obvodu
- Krok 3: Programovanie Raspberry Pi v Jave
- Krok 4: Praktickosť kódexu (fungovanie)
- Krok 5: Aplikácie a funkcie
- Krok 6: Záver
Video: Pomocou Raspberry Pi zmerajte nadmorskú výšku, tlak a teplotu pomocou MPL3115A2: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:58
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
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
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
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)
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:
M5STACK Ako zobraziť teplotu, vlhkosť a tlak na M5StickC ESP32 pomocou Visuino - jednoduché kroky: 6 krokov
M5STACK Ako zobraziť teplotu, vlhkosť a tlak na M5StickC ESP32 pomocou programu Visuino - Jednoduché kroky: V tomto návode sa naučíme, ako naprogramovať ESP32 M5Stack StickC s Arduino IDE a Visuino na zobrazenie teploty, vlhkosti a tlaku pomocou snímača ENV (DHT12, BMP280, BMM150)
Nadmorská výška, tlak a teplota pomocou Raspberry Pi s MPL3115A2: 6 krokov
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 internetu vecí, 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 chceme
Pomocou Raspberry Pi vyhodnoťte vlhkosť a teplotu pomocou kroku SI7006: 6
Použitie Raspberry Pi, vyhodnotenie vlhkosti a teploty pomocou SI7006: Ako nadšenec pre Raspberry Pi sme uvažovali o ďalších veľkolepých experimentoch. V tejto kampani budeme merať teplotu a vlhkosť, ktoré je potrebné ovládať, pomocou Raspberry Pi a SI7006, Snímač vlhkosti a teploty
Raspberry Pi / DHT11 - Zmerajte vlhkosť a teplotu: 4 kroky
Raspberry Pi / DHT11 - Meranie vlhkosti a teploty: Chcel som zmerať teplotu a vlhkosť pomocou svojho Raspberry Pi. Vybral som snímač DHT11, pretože je robustný a lacný. Jeho konfigurácia je tiež dobre zdokumentovaná, ale na ceste, na ktorú by som sa chcel zamerať, existuje niekoľko úskalí. DHT11
Zmerajte tlak pomocou mikro: bit: 5 krokov (s obrázkami)
Zmerajte tlak pomocou mikro: bit: Nasledujúci návod popisuje ľahko zostaviteľné a lacné zariadenie na vykonávanie meraní tlaku a demonštráciu Boyleovho zákona pomocou mikro: bitu v kombinácii so snímačom tlaku/teploty BMP280. Zatiaľ čo táto striekačka/tlak