Tartalomjegyzék:

A Raspberry Pi használata, a magasság, a nyomás és a hőmérséklet mérése az MPL3115A2 segítségével: 6 lépés
A Raspberry Pi használata, a magasság, a nyomás és a hőmérséklet mérése az MPL3115A2 segítségével: 6 lépés

Videó: A Raspberry Pi használata, a magasság, a nyomás és a hőmérséklet mérése az MPL3115A2 segítségével: 6 lépés

Videó: A Raspberry Pi használata, a magasság, a nyomás és a hőmérséklet mérése az MPL3115A2 segítségével: 6 lépés
Videó: Электрический или водяной полотенцесушитель? Что выбрать? Установка. #25 2024, November
Anonim
Image
Image
Nélkülözhetetlen felszerelés, amire szükségünk van
Nélkülözhetetlen felszerelés, amire szükségünk van

Tudd, hogy mi a tulajdonod, és tudd, miért van

Érdekes. Az Internet Automation korát éljük, mivel rengeteg új alkalmazásba süllyed. Számítógép- és elektronikai rajongóként sokat tanultunk a Raspberry Pi -vel, és úgy döntöttünk, hogy összekeverjük érdekeinket. Ez a projekt körülbelül egy órát vesz igénybe, ha még nem ismeri az I²C kapcsolatokat és a szoftverbeállításokat, és remek módja annak, hogy kibővítse az MPL3115A2 képességeit a Raspberry Pi segítségével Java -ban.

Lépés: Nélkülözhetetlen felszerelés, amire szükségünk van

Nélkülözhetetlen felszerelés, amire szükségünk van
Nélkülözhetetlen felszerelés, amire szükségünk van
Nélkülözhetetlen felszerelés, amire szükségünk van
Nélkülözhetetlen felszerelés, amire szükségünk van
Nélkülözhetetlen felszerelés, amire szükségünk van
Nélkülözhetetlen felszerelés, amire szükségünk van

1. Málna Pi

Az első lépés egy Raspberry Pi tábla beszerzése volt. Ezt a kis géniuszt használják a hobbisták, a tanárok és az innovatív környezetek kialakításában.

2. I2C Shield a Raspberry Pi számára

Az INPI2 (I2C adapter) biztosítja a Raspberry Pi 2/3 és I²C portot, amely több I2C eszközzel használható. Elérhető a Dcube Store -ban.

3. Magasságmérő, nyomás- és hőmérsékletérzékelő, MPL3115A2

Az MPL3115A2 egy MEMS nyomásérzékelő I²C interfésszel, amely nyomás-, magasság- és hőmérséklet -adatokat szolgáltat. Ez az érzékelő az I²2 protokollt használja a kommunikációhoz. Ezt az érzékelőt a Dcube Store -ból vásároltuk.

4. Csatlakozó kábel

A Dcube Store -ban beszerezhető I²C összekötő kábelt használtuk.

5. Micro USB kábel

A Raspberry Pi tápellátását mikro USB tápegység biztosítja.

6. Internet hozzáférés fejlesztése - Ethernet kábel/WiFi modul

Az egyik első dolog, amit meg kell tennie, az, hogy a Raspberry Pi -t csatlakoztatja az internethez. Csatlakoztathat Ethernet kábellel vagy vezeték nélküli USB Nano WiFi adapterrel.

7. HDMI kábel (opcionális, az Ön választása)

A Raspberry Pi -t HDMI -kábellel csatlakoztathatja a monitorhoz. Ezenkívül távolról is elérheti Raspberry Pi készülékét az SSH/PuTTY használatával.

2. lépés: Hardvercsatlakozások az áramkör összeállításához

Hardvercsatlakozások az áramkör összeállításához
Hardvercsatlakozások az áramkör összeállításához
Hardvercsatlakozások az áramkör összeállításához
Hardvercsatlakozások az áramkör összeállításához

Készítse el az áramkört az ábrán látható vázlat szerint. Általában a csatlakozások meglehetősen egyszerűek. Kövesse a fenti utasításokat és képeket, és nem lehet probléma. A tervezés során megvizsgáltuk a hardvert és a kódolást, valamint az elektronika alapjait. Egy egyszerű elektronikai vázlatot akartunk kialakítani ehhez a projekthez. Az ábrán az I²C kommunikációs protokollokat követve láthatja a különböző alkatrészeket, tápegységeket és I²C érzékelőket. Remélhetőleg ez illusztrálja, milyen egyszerű az elektronika ehhez a projekthez.

A Raspberry Pi és az I2C Shield csatlakoztatása

Ehhez Raspberry Pi és helyezze rá az I²C pajzsot. Finoman nyomja meg a pajzsot (lásd a képet).

Az érzékelő és a Raspberry Pi csatlakoztatása

Fogja meg az érzékelőt, és csatlakoztassa hozzá az I²C kábelt. Győződjön meg arról, hogy az I²C kimenet MINDIG csatlakozik az I²C bemenethez. Ugyanezt kell követnie a Raspberry Pi -nek is, amelyre az I²C pajzs van felszerelve. Az I²C Shield és az I²C összekötő kábelek az oldalunkon vannak, ami nagyon nagy előny, mivel csak a plug and play opció marad. Nincs többé csapokkal és vezetékekkel kapcsolatos probléma, és így a zavartság megszűnt. Milyen megkönnyebbülés, ha csak képzeljük magunkat a vezetékek hálójába, és ebbe belemerülünk. Ilyen egyszerű!

Megjegyzés: A barna vezetéknek mindig követnie kell a föld (GND) kapcsolatot az egyik eszköz kimenete és egy másik eszköz bemenete között

Az internetkapcsolat kulcsfontosságú

Ahhoz, hogy projektünk sikeres legyen, internet -hozzáférésre van szükségünk a Raspberry Pi számára. Ebben olyan lehetőségek közül választhat, mint az Ethernet (LAN) kábel csatlakoztatása. Ezenkívül alternatív, de lenyűgöző módja a WiFi adapter használatának.

Az áramkör áramellátása

Csatlakoztassa a Micro USB kábelt a Raspberry Pi tápcsatlakozójához. Kapcsolja be, és íme, indulhatunk!

Csatlakozás a képernyőhöz

A HDMI -kábelt csatlakoztathatjuk egy monitorhoz, vagy egy kicsit innovatívak lehetünk a fej nélküli Pi készítéséhez (-SSH/PuTTY használatával), amely segít csökkenteni a többletköltségeket, mert valahogy hobbik vagyunk.

Amikor egy szokás pénzbe kerül, ezt hobbinak hívják

3. lépés: Raspberry Pi programozás Java -ban

Raspberry Pi programozás Java nyelven
Raspberry Pi programozás Java nyelven

A Java kód a Raspberry Pi és az MPL3115A2 érzékelőhöz. Ez elérhető a Github tárházunkban.

Mielőtt folytatná a kódot, feltétlenül olvassa el a Readme fájlban található utasításokat, és állítsa be a Raspberry Pi -t ennek megfelelően. Ez csak egy pillanatot vesz igénybe. A magasságot a nyomás alapján számítják ki az alábbi egyenlet segítségével:

h = 44330,77 {1 - (p / p0) ^ 0,1902632} + OFF_H (regisztrációs érték)

ahol p0 = tengerszinti nyomás (101326 Pa) és h méterben értendő. Az MPL3115A2 ezt az értéket használja, mivel az eltolási regiszter LSB -nként 2 Pascal. A kód egyértelműen előtted van, és a legegyszerűbb formában képzelhető el, és nem lehet gond.

Innen is másolhatja az érzékelő működő Java -kódját.

// Szabad akaratú licenccel terjesztve. // MPL3115A2 // Ezt a kódot úgy tervezték, hogy működjön a ControlEverything.com webhelyen elérhető MPL3115A2_I2CS I2C Mini modullal. //

import com.pi4j.io.i2c. I2CBus;

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

nyilvános osztály MPL3115A2

{public static void main (String args ) dobja Kivétel {// I2C busz létrehozása I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // I2C eszköz beszerzése, MPL3115A2 Az I2C cím 0x60 (96) I2CDevice device = Bus.getDevice (0x60); // Vezérlőregiszter kiválasztása // Aktív mód, OSR = 128, magasságmérő módú eszköz. Írás (0x26, (byte) 0xB9); // Adatkonfigurációs regiszter kiválasztása // Adatkész esemény engedélyezve a tengerszint feletti magasság, nyomás, hőmérséklet esetén.write (0x13, (byte) 0x07); // Vezérlőregiszter kiválasztása // Aktív mód, OSR = 128, magasságmérő módú eszköz. Írás (0x26, (byte) 0xB9); Téma.alvás (1000);

// 6 bájt adat olvasása a 0x00 (00) címről

// állapot, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb byte adatok = new byte [6]; device.read (0x00, adat, 0, 6);

// Az adatok konvertálása 20 bitesre

int tHeight = (((([adatok] és 0xFF) * 65536) + ((adatok [2] és 0xFF) * 256) + (adatok [3] és 0xF0)) / 16); int temp = ((adatok [4] * 256) + (adatok [5] és 0xF0)) / 16; kettős magasság = tMagasság / 16,0; dupla cTemp = (temp / 16,0); kettős fTemp = cTemp * 1,8 + 32;

// Vezérlőregiszter kiválasztása

// Aktív mód, OSR = 128, barométer módú eszköz. Írni (0x26, (byte) 0x39); Téma.alvás (1000); // 4 bájt adat olvasása a 0x00 (00) címről // állapot, pres msb1, pres msb, pres lsb device.read (0x00, data, 0, 4);

// Az adatok konvertálása 20 bitesre

int pres = ((([adatok [1] és 0xFF) * 65536) + ((adatok [2] és 0xFF) * 256) + (adatok [3] és 0xF0)) / 16; kettős nyomás = (pres / 4,0) / 1000,0; // Adatok kimenete a System.out.printf képernyőre ("Nyomás: %.2f kPa %n", nyomás); System.out.printf ("Magasság: %.2f m %n", magasság); System.out.printf ("Hőmérséklet Celsius -ban: %.2f C %n", cTemp); System.out.printf ("Hőmérséklet Fahrenheitben: %.2f F %n", fTemp); }}

4. lépés: A kódex praktikussága (működés)

A kódex gyakorlatiassága (működés)
A kódex gyakorlatiassága (működés)

Most töltse le (vagy git pull) a kódot, és nyissa meg a Raspberry Pi -ben. Futtassa a parancsokat a fordításhoz és a kód feltöltéséhez a terminálon, és nézze meg a Monitor kimenetét. Néhány másodperc múlva megjelenik az összes paraméter. Miután meggyőződött arról, hogy minden zökkenőmentesen működik, ezt a projektet nagyobb projektbe foglalhatja.

5. lépés: Alkalmazások és szolgáltatások

Az MPL3115A2 precíziós magasságmérő érzékelőket gyakran használják olyan alkalmazásokban, mint a Térkép (Térképsegéd, Navigáció), Mágneses Iránytű vagy GPS (GPS -holtszámolás, GPS -javítás a sürgősségi szolgáltatásokhoz), Nagy pontosságú magasságmérés, Okostelefonok/táblagépek, Személyi elektronikai magasságmérés és Műholdak (meteorológiai állomások felszerelése/előrejelzés).

Mert pl. Ezzel az érzékelővel és a Rasp Pi segítségével felépíthet egy digitális vizuális magasságmérőt, az ejtőernyőzés legfontosabb berendezését, amely méri a magasságot, a légnyomást és a hőmérsékletet. Hozzáadhat szélvédőt és egyéb érzékelőket, hogy érdekesebb legyen.

6. lépés: Következtetés

Mivel a program elképesztően testreszabható, sok érdekes módja van ennek a projektnek a kiterjesztésére és még jobbá tételére. Például egy magasságmérő/interferométer több magasságmérőt tartalmazna, amelyek árbocokra vannak szerelve, amelyek egyidejűleg méréseket végeznének, így biztosítva a folyamatos, egy- vagy többmagasságú széles terület lefedettségét. Van egy érdekes oktatóvideónk a YouTube -on, amely segíthet a projekt jobb megértésében.

Ajánlott: