Kazalo:
- 1. korak: Nepogrešljiva oprema, ki jo potrebujemo
- 2. korak: Strojne povezave za sestavljanje vezja
- 3. korak: Programiranje Raspberry Pi v Javi
- 4. korak: Praktičnost kodeksa (delo)
- 5. korak: Aplikacije in funkcije
- 6. korak: Zaključek
Video: Z uporabo Raspberry Pi merite nadmorsko višino, tlak in temperaturo z MPL3115A2: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
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
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
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
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)
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:
M5STACK Kako prikazati temperaturo, vlažnost in tlak na M5StickC ESP32 z uporabo Visuina - enostavno narediti: 6 korakov
M5STACK Kako prikazati temperaturo, vlažnost in tlak na M5StickC ESP32 z uporabo Visuina - enostavno narediti: V tej vadnici se bomo naučili, kako programirati ESP32 M5Stack StickC z Arduino IDE in Visuino za prikaz temperature, vlažnosti in tlaka s senzorjem ENV (DHT12, BMP280, BMM150)
Nadmorska višina, tlak in temperatura z uporabo Raspberry Pi z MPL3115A2: 6 korakov
Nadmorska višina, tlak in temperatura z uporabo Raspberry Pi z MPL3115A2: Sliši se zanimivo. To je povsem mogoče v tem času, ko vsi prehajamo v generacijo IoT. Kot čudak z elektroniko smo se igrali z Raspberry Pi in se odločili, da bomo s tem znanjem naredili zanimive projekte. V tem projektu bomo
DIY Prikažite temperaturo na LCD zaslonu z uporabo Arduina: 10 korakov
DIY Prikaz temperature na LCD zaslonu z uporabo Arduina: V tem projektu bomo naredili vezje z uporabo nekaterih komponent, kot so Arduino, temperaturni senzor itd. med pogledom nove stopnje na
ESP8266 Nadzor temperature Nodemcu z uporabo DHT11 na lokalnem spletnem strežniku - Dobite sobno temperaturo in vlažnost v svojem brskalniku: 6 korakov
ESP8266 Nadzor temperature Nodemcu z uporabo DHT11 na lokalnem spletnem strežniku | Dobite sobno temperaturo in vlažnost v svojem brskalniku: Pozdravljeni, danes bomo ustvarili vlažnost & sistem za spremljanje temperature z uporabo ESP 8266 NODEMCU & Senzor temperature DHT11. Temperaturo in vlago dobimo s senzorjem DHT11 & v brskalniku je mogoče videti, katera spletna stran bo upravljana
Predelava QFP 120 z 0,4 mm višino: 6 korakov
Predelava QFP 120 z naklonom 0,4 mm: Ta montaža vam bo pokazala, kako predlagam predelavo ultra finega nagiba (0,4 mm naklona) QFP 120s. Predvidevam, da jih postavljate kot del prototipne zgradbe ali ste že odstranili in pripravili prejšnje naprave (poskrbite, da bodo blazinice relativno