Kazalo:

Z uporabo Raspberry Pi merite nadmorsko višino, tlak in temperaturo z MPL3115A2: 6 korakov
Z uporabo Raspberry Pi merite nadmorsko višino, tlak in temperaturo z MPL3115A2: 6 korakov

Video: Z uporabo Raspberry Pi merite nadmorsko višino, tlak in temperaturo z MPL3115A2: 6 korakov

Video: Z uporabo Raspberry Pi merite nadmorsko višino, tlak in temperaturo z MPL3115A2: 6 korakov
Video: Высокая плотность 2022 2024, Julij
Anonim
Image
Image
Nepogrešljiva oprema, ki jo potrebujemo
Nepogrešljiva oprema, ki jo potrebujemo

Vedite, kaj imate in veste, zakaj ga imate

To je zanimivo. Živimo v dobi internetne avtomatizacije, ko se potopi v množico novih aplikacij. Kot navdušenci nad računalnikom in elektroniko smo se z Raspberry Pi veliko naučili in se odločili združiti svoja zanimanja. Ta projekt traja približno eno uro, če ste novi v povezavah I²C in nastavitvi programske opreme, zato je odličen način za razširitev zmogljivosti MPL3115A2 z Raspberry Pi v Javi.

1. korak: Nepogrešljiva oprema, ki jo potrebujemo

Nepogrešljiva oprema, ki jo potrebujemo
Nepogrešljiva oprema, ki jo potrebujemo
Nepogrešljiva oprema, ki jo potrebujemo
Nepogrešljiva oprema, ki jo potrebujemo
Nepogrešljiva oprema, ki jo potrebujemo
Nepogrešljiva oprema, ki jo potrebujemo

1. Malina Pi

Prvi korak je bil pridobitev plošče Raspberry Pi. Tega malega genija uporabljajo ljubitelji, učitelji in ustvarjajo inovativna okolja.

2. I2C ščit za Raspberry Pi

INPI2 (I2C adapter) ponuja vrata Raspberry Pi 2/3 in I²C za uporabo z več napravami I2C. Na voljo je v trgovini Dcube.

3. Višinomer, senzor tlaka in temperature, MPL3115A2

MPL3115A2 je senzor tlaka MEMS z vmesnikom I²C, ki podaja podatke o tlaku, nadmorski višini in temperaturi. Ta senzor za komunikacijo uporablja protokol I²2. Ta senzor smo kupili v trgovini Dcube.

4. Priključni kabel

Uporabili smo priključni kabel I²C, ki je na voljo v trgovini Dcube.

5. Kabel mikro USB

Raspberry Pi napaja mikro USB.

6. Izboljšanje dostopa do interneta - Ethernetni kabel/modul WiFi

Ena prvih stvari, ki jih boste želeli narediti, je, da svoj Raspberry Pi povežete z internetom. Povežete se lahko z ethernetnim kablom ali z brezžičnim USB Nano WiFi adapterjem.

7. Kabel HDMI (neobvezno, vaša izbira)

Raspberry Pi lahko povežete z monitorjem s kablom HDMI. Prav tako lahko oddaljeno dostopate do Raspberry Pi s pomočjo SSH/PuTTY.

2. korak: Strojne povezave za sestavljanje vezja

Strojne povezave za sestavljanje vezja
Strojne povezave za sestavljanje vezja
Strojne povezave za sestavljanje vezja
Strojne povezave za sestavljanje vezja

Naredite vezje po prikazani shemi. Na splošno so povezave precej preproste. Sledite zgornjim navodilom in slikam in ne bi smelo biti težav. Med načrtovanjem smo preučili strojno opremo in kodiranje ter osnove elektronike. Za ta projekt smo želeli oblikovati preprosto shemo elektronike. Na diagramu lahko opazite različne dele, komponente napajanja in senzor I²C po komunikacijskih protokolih I²C. Upajmo, da to ponazarja, kako preprosta je elektronika za ta projekt.

Povezava Raspberry Pi in I2C Shield

V ta namen Raspberry Pi namestite ščit I²C. Nežno pritisnite ščit (glejte sliko).

Povezava senzorja in Raspberry Pi

Vzemite senzor in z njim priključite kabel I²C. Prepričajte se, da je izhod I²C VEDNO povezan z vhodom I²C. Enako sledi Raspberry Pi z nameščenim I²C ščitom. I²C Shield in I²C povezovalni kabli sta na naši strani kot zelo velika prednost, saj nam preostane samo možnost plug and play. Ni več težav z zatiči in ožičenjem, zato zmede ni več. Kakšno olajšanje, ko si samo predstavljate sebe v spletu žic in vstopite v to. Tako preprosto!

Opomba: Rjava žica mora vedno slediti ozemljitveni (GND) povezavi med izhodom ene naprave in vhodom druge naprave

Internetna povezava je ključnega pomena

Da bi bil naš projekt uspešen, potrebujemo dostop do interneta za naš Raspberry Pi. Pri tem imate možnosti, kot je priključitev kabla Ethernet (LAN). Kot alternativni, a impresiven način uporabe adapterja WiFi.

Napajanje vezja

Priključite kabel Micro USB v vtičnico za napajanje Raspberry Pi. Vklopite ga in voila, lahko gremo!

Povezava z zaslonom

Kabel HDMI lahko povežemo z monitorjem ali pa smo nekoliko inovativni, da naredimo naš brez glave Pi (z uporabo -SSH/PuTTY), kar pomaga zmanjšati dodatne stroške, ker smo nekako ljubitelji.

Ko navada stane denar, se to imenuje hobi

3. korak: Programiranje Raspberry Pi v Javi

Programiranje Raspberry Pi v Javi
Programiranje Raspberry Pi v Javi

Koda Java za senzor Raspberry Pi in MPL3115A2. Na voljo je v našem skladišču Github.

Preden nadaljujete s kodo, se prepričajte, da ste prebrali navodila v datoteki Readme in v skladu s tem nastavili svoj Raspberry Pi. To bo trajalo le trenutek. Nadmorska višina se izračuna iz tlaka z uporabo enačbe spodaj:

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

kjer je p0 = tlak nadmorske višine (101326 Pa) in h je v metrih. MPL3115A2 uporablja to vrednost, saj je odmični register definiran kot 2 paskala na LSB. Koda je očitno pred vami in je v najpreprostejši obliki, ki si jo lahko zamislite, in ne bi smeli imeti težav.

Delovno kodo Java za ta senzor lahko kopirate tudi od tu.

// Razdeljeno z licenco po lastni volji.// Uporabite ga kakor koli želite, dobičkonosno ali brezplačno, pod pogojem, da ustreza licencam pripadajočih del. // MPL3115A2 // Ta koda je zasnovana za delo z mini modulom MPL3115A2_I2CS I2C, ki je na voljo na spletnem mestu ControlEverything.com. //

uvoz com.pi4j.io.i2c. I2CBus;

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

javni razred MPL3115A2

{public static void main (String args ) throws Exception {// Ustvari vodilo I2C I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // Pridobite napravo I2C, naslov I2C MPL3115A2 je 0x60 (96) Naprava I2CDevice = Bus.getDevice (0x60); // Izberite kontrolni register // Aktivni način, OSR = 128, naprava za način višinomera.write (0x26, (byte) 0xB9); // Izbira registra konfiguracije podatkov // Omogočen dogodek za podatke pripravljen za nadmorsko višino, tlak, temperaturo device.write (0x13, (bajt) 0x07); // Izberite kontrolni register // Aktivni način, OSR = 128, naprava za način višinomera.write (0x26, (byte) 0xB9); Thread.sleep (1000);

// prebere 6 bajtov podatkov z naslova 0x00 (00)

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

// Pretvorimo podatke v 20-bitne

int tHeight = ((((podatki [1] & 0xFF) * 65536) + ((podatki [2] & 0xFF) * 256) + (podatki [3] & 0xF0)) / 16); int temp = ((podatki [4] * 256) + (podatki [5] & 0xF0)) / 16; dvojna nadmorska višina = tHeight / 16,0; dvojni cTemp = (temp / 16,0); dvojni fTemp = cTemp * 1,8 + 32;

// Izberite kontrolni register

// aktivni način, OSR = 128, naprava v načinu barometra.write (0x26, (byte) 0x39); Thread.sleep (1000); // Branje 4 bajtov podatkov z naslova 0x00 (00) // status, pres msb1, pres msb, pres lsb device.read (0x00, data, 0, 4);

// Pretvorimo podatke v 20-bitne

int pres = (((podatki [1] & 0xFF) * 65536) + ((podatki [2] & 0xFF) * 256) + (podatki [3] & 0xF0)) / 16; dvojni tlak = (pres / 4,0) / 1000,0; // Izhodni podatki na zaslon System.out.printf ("Tlak: %.2f kPa %n", tlak); System.out.printf ("Nadmorska višina: %.2f m %n", nadmorska višina); System.out.printf ("Temperatura v Celzijah: %.2f C %n", cTemp); System.out.printf ("Temperatura v Fahrenheitu: %.2f F %n", fTemp); }}

4. korak: Praktičnost kodeksa (delo)

Praktičnost kodeksa (delo)
Praktičnost kodeksa (delo)

Zdaj prenesite (ali git povlecite) kodo in jo odprite v Raspberry Pi. Zaženite ukaze za sestavljanje in nalaganje kode na terminalu in si oglejte rezultate na monitorju. Po nekaj sekundah bodo prikazani vsi parametri. Ko se prepričate, da vse deluje brezhibno, lahko ta projekt vzamete v večji projekt.

5. korak: Aplikacije in funkcije

Senzor preciznega višinomera MPL3115A2 se običajno uporablja v aplikacijah, kot so Map (Map Assist, Navigation), Magnetski kompas ali GPS (GPS Dead Reckoning, GPS Enhancement for Emergency Services), Visoka natančnost altimetrije, Pametni telefoni/tablični računalniki, Altimetrija osebne elektronike in Sateliti (oprema vremenskih postaj/napovedovanje).

Za npr. S tem senzorjem in Rasp Pi lahko sestavite digitalni vizualni višinomer, najpomembnejši kos padalske opreme, ki lahko meri višino, zračni tlak in temperaturo. Dodate lahko vetrno gazo in druge senzorje, zato naredite zanimivejšega.

6. korak: Zaključek

Ker je program neverjetno prilagodljiv, obstaja veliko zanimivih načinov, kako lahko projekt razširite in ga naredite še boljšega. Na primer, višinomer/interferometer bi vključeval več višinomerov, nameščenih na jamborih, ki bi merili hkrati, s čimer bi zagotovili neprekinjeno, enojno ali večnadmorsko širino. Na YouTubu imamo zanimivo video vadnico, ki vam lahko pomaga pri boljšem razumevanju tega projekta.

Priporočena: