Obsah:

Pomocí Raspberry Pi změřte nadmořskou výšku, tlak a teplotu pomocí MPL3115A2: 6 kroků
Pomocí Raspberry Pi změřte nadmořskou výšku, tlak a teplotu pomocí MPL3115A2: 6 kroků

Video: Pomocí Raspberry Pi změřte nadmořskou výšku, tlak a teplotu pomocí MPL3115A2: 6 kroků

Video: Pomocí Raspberry Pi změřte nadmořskou výšku, tlak a teplotu pomocí MPL3115A2: 6 kroků
Video: Lesson 37: Using BME280 Humidity, Barometric Pressure and Temperature Sensor 2024, Listopad
Anonim
Image
Image
Nepostradatelné vybavení, které potřebujeme
Nepostradatelné vybavení, které potřebujeme

Vědět, co vlastníte, a vědět, proč to vlastníte

Je to zajímavé. Žijeme v době internetové automatizace, která se vrhá do velkého množství nových aplikací. Jako nadšenci počítačů a elektroniky jsme se s Raspberry Pi hodně naučili a rozhodli jsme se spojit naše zájmy. Tento projekt trvá asi hodinu, pokud jste nováčkem v připojení I²C a nastavení softwaru, a je to skvělý způsob, jak rozšířit možnosti MPL3115A2 s Raspberry Pi v Javě.

Krok 1: Nepostradatelné vybavení, které potřebujeme

Nepostradatelné vybavení, které potřebujeme
Nepostradatelné vybavení, které potřebujeme
Nepostradatelné vybavení, které potřebujeme
Nepostradatelné vybavení, které potřebujeme
Nepostradatelné vybavení, které potřebujeme
Nepostradatelné vybavení, které potřebujeme

1. Raspberry Pi

Prvním krokem bylo získání desky Raspberry Pi. Tento malý génius používají fandové, učitelé a při vytváření inovativních prostředí.

2. I2C š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²2. Tento senzor jsme zakoupili v Dcube Store.

4. Připojovací kabel

Použili jsme propojovací kabel I²C dostupný v Dcube Store.

5. Micro USB kabel

Raspberry Pi je napájeno micro USB.

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

Jednou z prvních věcí, které budete chtít udělat, je připojení vašeho Raspberry Pi k internetu. Připojit se můžete pomocí ethernetového kabelu nebo pomocí bezdrátového USB Nano WiFi adaptéru.

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

Raspberry Pi můžete připojit k monitoru pomocí kabelu HDMI. Ke svému Raspberry Pi můžete také vzdáleně přistupovat pomocí SSH/PuTTY.

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. Všeobecně jsou připojení poměrně jednoduchá. Postupujte podle výše uvedených 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

Za tímto účelem 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. Tak jednoduché jako toto!

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í

Zásadní význam má připojení k internetu

Aby byl náš projekt úspěšný, potřebujeme pro náš Raspberry Pi přístup na internet. V tomto máte možnosti, jako je připojení ethernetového (LAN) kabelu. Také jako alternativní, ale působivý způsob použití adaptéru WiFi.

Napájení obvodu

Zapojte kabel Micro USB do napájecího konektoru Raspberry Pi. Zapněte a voilá, můžeme vyrazit!

Připojení k obrazovce

Buď můžeme mít kabel HDMI připojený k monitoru, nebo můžeme být trochu inovativní při výrobě našeho bezhlavého Pi (pomocí -SSH/PuTTY), což pomáhá snížit dodatečné náklady, protože jsme tak nějak fandové.

Když zvyk začne stát peníze, říká se mu koníček

Krok 3: Programování Raspberry Pi v Javě

Programování Raspberry Pi v Javě
Programování Raspberry Pi v Javě

Kód Java 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.

Také zde můžete zkopírovat funkční kód Java 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 tak, aby fungoval s mini modulem MPL3115A2_I2CS I2C, který je k dispozici na ControlEverything.com. //

importovat com.pi4j.io.i2c. I2CBus;

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

veřejná třída MPL3115A2

{public static void main (String args ) throws Exception {// Create I2C bus I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // Získejte zařízení I2C, adresa MPL3115A2 I2C je 0x60 (96) I2CDevice zařízení = Bus.getDevice (0x60); // Vyberte řídicí registr // Aktivní režim, OSR = 128, režim výškoměru device.write (0x26, (byte) 0xB9); // Vyberte registr konfigurace dat // Událost připravenosti dat povolena pro nadmořskou výšku, tlak, teplotu zařízení.write (0x13, (byte) 0x07); // Vyberte řídicí registr // Aktivní režim, OSR = 128, režim výškoměru device.write (0x26, (byte) 0xB9); Thread.sleep (1000);

// Přečíst 6 bajtů dat 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);

// Převod dat na 20 bitů

int tHeight = ((((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16); int temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16; dvojnásobná nadmořská výška = tVýška / 16,0; double cTemp = (temp / 16.0); zdvojnásobit fTemp = cTemp * 1,8 + 32;

// Vyberte řídicí registr

// Aktivní režim, OSR = 128, barometr v režimu device.write (0x26, (byte) 0x39); Thread.sleep (1000); // Přečíst 4 bajty dat z adresy 0x00 (00) // stav, pres msb1, pres msb, pres lsb zařízení.read (0x00, data, 0, 4);

// Převod dat na 20 bitů

int pres = (((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16; dvojnásobný tlak = (pres / 4,0) / 1000,0; // Výstup dat na obrazovku System.out.printf ("Tlak: %.2f kPa %n", tlak); System.out.printf ("Nadmořská výška: %.2f m %n", nadmořská výška); System.out.printf ("Teplota ve stupních Celsia: %.2f C %n", cTemp); System.out.printf ("Teplota ve stupních Fahrenheita: %.2f F %n", fTemp); }}

Krok 4: Praktičnost kodexu (fungující)

Praktičnost kodexu (pracovní)
Praktičnost kodexu (pracovní)

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 na terminál 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í senzoru přesného výškoměru MPL3115A2 je v aplikacích, jako je mapa (asistence mapy, navigace), magnetický kompas nebo GPS (GPS mrtvé počítání, vylepšení GPS pro nouzové služby), vysoce přesná výškoměr, chytré telefony/tablety, osobní elektronická výškoměr a Satelity (vybavení meteorologické stanice/předpovědi).

Například pro Pomocí tohoto senzoru a Rasp Pi můžete postavit digitální vizuální výškoměr, nejdůležitější součást parašutistického vybavení, které dokáže měřit nadmořskou výšku, tlak vzduchu a teplotu. Můžete přidat větrnou gázu a další senzory, aby byly zajímavější.

Krok 6: Závěr

Protože je program úžasně přizpůsobitelný, existuje mnoho zajímavých způsobů, jak můžete tento projekt rozšířit a ještě vylepšit. Například výškoměr/interferometr by zahrnoval několik výškoměrů namontovaných na stožárech, které by snímaly měření současně, čímž by poskytovaly kontinuální, jedno- nebo více-výškoměrové širokopásmové pokrytí. Máme zajímavý videonávod na YouTube, který vám může pomoci lépe porozumět tomuto projektu.

Doporučuje: