Sadržaj:

Korištenjem Raspberry Pi mjerite nadmorsku visinu, tlak i temperaturu s MPL3115A2: 6 koraka
Korištenjem Raspberry Pi mjerite nadmorsku visinu, tlak i temperaturu s MPL3115A2: 6 koraka

Video: Korištenjem Raspberry Pi mjerite nadmorsku visinu, tlak i temperaturu s MPL3115A2: 6 koraka

Video: Korištenjem Raspberry Pi mjerite nadmorsku visinu, tlak i temperaturu s MPL3115A2: 6 koraka
Video: Leap Motion SDK 2024, Studeni
Anonim
Image
Image
Neophodna oprema koja nam je potrebna
Neophodna oprema koja nam je potrebna

Znajte što posjedujete i znajte zašto to posjedujete

To je intrigantno. Živimo u doba internetske automatizacije koja se uranja u mnoštvo novih aplikacija. Kao ljubitelji računala i elektronike, puno smo naučili s Raspberry Pi -jem i odlučili spojiti svoja interesovanja. Ovaj projekt traje oko sat vremena ako ste tek počeli koristiti I²C veze i postavljanje softvera, a to je sjajan način za proširenje mogućnosti MPL3115A2 pomoću Raspberry Pi u Javi.

Korak 1: Neophodna oprema koja nam je potrebna

Neophodna oprema koja nam je potrebna
Neophodna oprema koja nam je potrebna
Neophodna oprema koja nam je potrebna
Neophodna oprema koja nam je potrebna
Neophodna oprema koja nam je potrebna
Neophodna oprema koja nam je potrebna

1. Malina Pi

Prvi korak bio je dobivanje Raspberry Pi ploče. Ovog malog genija koriste hobisti, učitelji i u stvaranju inovativnih okruženja.

2. I2C štit za Raspberry Pi

INPI2 (I2C adapter) osigurava Raspberry Pi 2/3 an I²C priključak za upotrebu s više I2C uređaja. Dostupno je u trgovini Dcube.

3. Visinomjer, osjetnik tlaka i temperature, MPL3115A2

MPL3115A2 je MEMS osjetnik tlaka s I²C sučeljem za podatke o tlaku, nadmorskoj visini i temperaturi. Ovaj senzor koristi protokol I²2 za komunikaciju. Ovaj smo senzor kupili u trgovini Dcube.

4. Spojni kabel

Koristili smo I²C spojni kabel dostupan u Dcube trgovini.

5. Mikro USB kabel

Raspberry Pi se napaja putem mikro USB priključka.

6. Poboljšanje pristupa internetu - Ethernet kabel/WiFi modul

Jedna od prvih stvari koju ćete htjeti učiniti je da povežete svoj Raspberry Pi s internetom. Možete se povezati pomoću Ethernet kabela ili s bežičnim USB Nano WiFi adapterom.

7. HDMI kabel (izborno, vaš izbor)

Raspberry Pi možete povezati s monitorom pomoću HDMI kabela. Također, možete daljinski pristupiti svom Raspberry Pi -u koristeći SSH/PuTTY.

Korak 2: Hardverske veze za sastavljanje kruga

Hardverske veze za sastavljanje kruga
Hardverske veze za sastavljanje kruga
Hardverske veze za sastavljanje kruga
Hardverske veze za sastavljanje kruga

Napravite krug prema prikazanoj shemi. Općenito, veze su vrlo jednostavne. Slijedite gornje upute i slike i ne biste trebali imati problema. Tijekom planiranja, bavili smo se hardverom i kodiranjem, kao i osnovama elektronike. Željeli smo osmisliti jednostavnu shemu elektronike za ovaj projekt. Na dijagramu možete primijetiti različite dijelove, komponente napajanja i I²C senzor slijedeći I²C komunikacijske protokole. Nadajmo se da ovo ilustrira koliko je jednostavna elektronika za ovaj projekt.

Povezivanje Raspberry Pi i I2C štita

U tu svrhu, Raspberry Pi i postavite I²C štit na njega. Lagano pritisnite štit (vidi sliku).

Spajanje senzora i Raspberry Pi

Uzmite senzor i spojite I²C kabel s njim. Provjerite je li izlaz I²C UVIJEK spojen na ulaz I²C. Isto treba slijediti i Raspberry Pi s I²C štitom montiranim preko njega. Imamo I²C štit i I²C spojne kabele sa svoje strane kao vrlo veliku prednost jer nam preostaje samo mogućnost plug and play. Nema više problema sa iglama i ožičenjem pa je zabuna nestala. Kakvo je olakšanje samo zamisliti sebe u mreži žica i ući u to. Tako jednostavno!

Napomena: Smeđa žica uvijek bi trebala slijediti vezu uzemljenja (GND) između izlaza jednog uređaja i ulaza drugog uređaja

Povezivanje s internetom je presudno

Da bi naš projekt bio uspješan, potreban nam je pristup internetu za našu Raspberry Pi. U ovom slučaju imate mogućnosti poput povezivanja Ethernet (LAN) kabela. Također, kao alternativan, ali impresivan način korištenja WiFi adaptera.

Napajanje strujnog kruga

Priključite mikro USB kabel u utičnicu za napajanje Raspberry Pi. Uključite ga i voila, spremni smo!

Spajanje na zaslon

HDMI kabel možemo povezati s monitorom ili možemo biti pomalo inovativni u izradi Pi bez glave (koristeći -SSH/PuTTY) što pomaže smanjiti dodatne troškove jer smo nekako hobisti.

Kad navika počne koštati, to se zove hobi

Korak 3: Programiranje Raspberry Pi u Javi

Programiranje Raspberry Pi u Javi
Programiranje Raspberry Pi u Javi

Java kod za senzor Raspberry Pi i MPL3115A2. Dostupno je u našem Github spremištu.

Prije nego prijeđete na kôd, svakako pročitajte upute date u datoteci Readme i postavite Raspberry Pi prema njemu. Trebat će samo trenutak da to učinite. Nadmorska visina se izračunava iz tlaka pomoću jednadžbe u nastavku:

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

gdje je p0 = tlak na razini mora (101326 Pa), a h je u metrima. MPL3115A2 koristi ovu vrijednost budući da je registar pomaka definiran kao 2 paskala po LSB -u. Kôd je jasno pred vama i u najjednostavnijem je obliku koji možete zamisliti i ne biste trebali imati problema.

Ovdje možete kopirati i radni Java kôd za ovaj senzor.

// Distribuirano s licencom za slobodnu volju.// Koristite ga na koji god način želite, profitno ili besplatno, pod uvjetom da se uklapa u licence povezanih djela. // MPL3115A2 // Ovaj kod je dizajniran za rad s MPL3115A2_I2CS I2C mini modulom dostupnim na stranici ControlEverything.com. //

uvoz com.pi4j.io.i2c. I2CBus;

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

javna klasa MPL3115A2

{public static void main (String args ) throws Exception {// Stvori I2C sabirnicu I2CBus sabirnicu = I2CFactory.getInstance (I2CBus. BUS_1); // Dohvati I2C uređaj, MPL3115A2 I2C adresa je 0x60 (96) I2CDevice uređaj = Bus.getDevice (0x60); // Odabir upravljačkog registra // Aktivni način rada, OSR = 128, uređaj za rad u visinomjeru.write (0x26, (byte) 0xB9); // Odabir registra konfiguracije podataka // Omogućen događaj spremnosti podataka za nadmorsku visinu, tlak, temperaturu device.write (0x13, (byte) 0x07); // Odabir upravljačkog registra // Aktivni način rada, OSR = 128, uređaj za rad u visinomjeru.write (0x26, (byte) 0xB9); Navoj.spavanje (1000);

// Očitavanje 6 bajtova podataka s adrese 0x00 (00)

// status, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb byte data = novi bajt [6]; device.read (0x00, podaci, 0, 6);

// Pretvorimo podatke u 20-bitne

int tHeight = ((((podaci [1] & 0xFF) * 65536) + ((podaci [2] & 0xFF) * 256) + (podaci [3] & 0xF0)) / 16); int temp = ((podaci [4] * 256) + (podaci [5] & 0xF0)) / 16; dvostruka nadmorska visina = tHeight / 16,0; dvostruki cTemp = (temp / 16,0); dvostruki fTemp = cTemp * 1,8 + 32;

// Odaberite kontrolni registar

// Aktivni način rada, OSR = 128, uređaj u načinu rada barometra.write (0x26, (byte) 0x39); Navoj.spavanje (1000); // Očitavanje 4 bajta podataka s adrese 0x00 (00) // status, pres msb1, pres msb, pres lsb device.read (0x00, data, 0, 4);

// Pretvorimo podatke u 20-bitne

int pres = (((podaci [1] & 0xFF) * 65536) + ((podaci [2] & 0xFF) * 256) + (podaci [3] & 0xF0)) / 16; dvostruki tlak = (pres / 4,0) / 1000,0; // Izlaženje podataka na zaslon System.out.printf ("Tlak: %.2f kPa %n", tlak); System.out.printf ("Nadmorska visina: %.2f m %n", nadmorska visina); System.out.printf ("Temperatura u Celzijusima: %.2f C %n", cTemp); System.out.printf ("Temperatura u Fahrenheitu: %.2f F %n", fTemp); }}

Korak 4: Praktičnost Kodeksa (rad)

Praktičnost Kodeksa (rad)
Praktičnost Kodeksa (rad)

Sada preuzmite (ili git povucite) kôd i otvorite ga u Raspberry Pi. Pokrenite naredbe za kompajliranje i prijenos koda na terminalu i pogledajte izlaz na monitoru. Nakon nekoliko sekundi prikazat će se svi parametri. Nakon što se pobrinete da sve radi glatko, ovaj projekt možete pretvoriti u veći projekt.

Korak 5: Aplikacije i značajke

Uobičajena uporaba senzora preciznog visinomjera MPL3115A2 je u aplikacijama kao što su Karta (Map Assist, Navigacija), Magnetski kompas ili GPS (GPS mrtvo računanje, GPS poboljšanje za hitne službe), Altimetrija visoke točnosti, Pametni telefoni/Tableti, Altimetrija osobne elektronike i Sateliti (oprema meteoroloških stanica/predviđanje).

Za npr. Pomoću ovog senzora i Rasp Pi -a možete izgraditi digitalni vizualni visinomjer, najvažniji dio opreme za padobranstvo, koji može mjeriti nadmorsku visinu, tlak zraka i temperaturu. Možete dodati gazu za vjetar i druge senzore pa učinite zanimljivijim.

Korak 6: Zaključak

Budući da je program nevjerojatno prilagodljiv, postoji mnogo zanimljivih načina na koje možete proširiti ovaj projekt i učiniti ga još boljim. Na primjer, visinomjer/interferometar uključivao bi nekoliko visinomjera postavljenih na jarbole koji bi istodobno dobivali mjerenja, čime bi se osiguralo neprekidno pokrivanje širokog područja s jednim ili više visinomjera. Na YouTubeu imamo zanimljiv video vodič koji vam može pomoći u boljem razumijevanju ovog projekta.

Preporučeni: