Innholdsfortegnelse:

Bruke Raspberry Pi, måle høyde, trykk og temperatur med MPL3115A2: 6 trinn
Bruke Raspberry Pi, måle høyde, trykk og temperatur med MPL3115A2: 6 trinn

Video: Bruke Raspberry Pi, måle høyde, trykk og temperatur med MPL3115A2: 6 trinn

Video: Bruke Raspberry Pi, måle høyde, trykk og temperatur med MPL3115A2: 6 trinn
Video: SCP-261 Пан-мерное Торговый и эксперимент Войти 261 объявление Де + полный + 2024, November
Anonim
Image
Image
Uunnværlig utstyr vi trenger
Uunnværlig utstyr vi trenger

Vet hva du eier, og vet hvorfor du eier det

Det er spennende. Vi lever i en tid med internettautomatisering, ettersom det stuper inn i en mengde nye applikasjoner. Som data- og elektronikkentusiaster har vi lært mye med Raspberry Pi og besluttet å blande våre interesser. Dette prosjektet tar omtrent en time hvis du er ny på I²C -tilkoblinger og programvareoppsett, og det er en fin måte å utvide mulighetene til MPL3115A2 med Raspberry Pi i Java.

Trinn 1: Uunnværlig utstyr vi trenger

Uunnværlig utstyr vi trenger
Uunnværlig utstyr vi trenger
Uunnværlig utstyr vi trenger
Uunnværlig utstyr vi trenger
Uunnværlig utstyr vi trenger
Uunnværlig utstyr vi trenger

1. Bringebær Pi

Det første trinnet var å skaffe et Raspberry Pi -kort. Dette lille geniet brukes av hobbyfolk, lærere og for å skape innovative miljøer.

2. I2C Shield for Raspberry Pi

INPI2 (I2C -adapteren) gir Raspberry Pi 2/3 en I²C -port for bruk med flere I2C -enheter. Den er tilgjengelig på Dcube Store.

3. Høydemåler, trykk- og temperatursensor, MPL3115A2

MPL3115A2 er en MEMS -trykksensor med et I²C -grensesnitt for å gi data om trykk, høyde og temperatur. Denne sensoren bruker I²2 -protokollen for kommunikasjon. Vi kjøpte denne sensoren fra Dcube Store.

4. Tilkoblingskabel

Vi brukte I²C -tilkoblingskabelen som er tilgjengelig i Dcube Store.

5. Micro USB -kabel

Raspberry Pi drives av mikro -USB -forsyning.

6. Forbedring av internettilgang - Ethernet -kabel/WiFi -modul

En av de første tingene du vil gjøre er å få Raspberry Pi koblet til Internett. Du kan koble til med en Ethernet -kabel eller med en trådløs USB Nano WiFi -adapter.

7. HDMI -kabel (valgfritt, ditt valg)

Du kan koble Raspberry Pi til en skjerm ved hjelp av en HDMI -kabel. Du kan også få ekstern tilgang til din Raspberry Pi ved å bruke SSH/PuTTY.

Trinn 2: Maskinvaretilkoblinger for å sette sammen kretsen

Maskinvaretilkoblinger for å sette sammen kretsen
Maskinvaretilkoblinger for å sette sammen kretsen
Maskinvaretilkoblinger for å sette sammen kretsen
Maskinvaretilkoblinger for å sette sammen kretsen

Lag kretsen i henhold til skjemaet. Generelt er tilkoblingene ganske enkle. Følg instruksjonene og bildene ovenfor, og du bør ikke ha noen problemer. Under planleggingen så vi på maskinvare og koding samt grunnleggende elektronikk. Vi ønsket å lage et enkelt elektronisk skjema for dette prosjektet. I diagrammet kan du legge merke til de forskjellige delene, strømkomponentene og I²C -sensoren som følger I²C -kommunikasjonsprotokoller. Forhåpentligvis illustrerer dette hvor enkelt elektronikken til dette prosjektet er.

Tilkobling av Raspberry Pi og I2C Shield

For dette, Raspberry Pi og legg I²C Shield på den. Trykk forsiktig på skjoldet (se bildet).

Tilkobling av sensoren og Raspberry Pi

Ta sensoren og koble I²C -kabelen til den. Sørg for at I²C Output ALLTID kobles til I²C Input. Det samme som skal følges av Raspberry Pi med I²C -skjoldet montert over det. Vi har I²C -skjoldet og I²C -tilkoblingskablene på vår side som en veldig stor fordel ettersom vi bare har plug and play -alternativet igjen. Ingen flere pins og ledningsproblemer, og derfor er forvirringen borte. For en lettelse å bare tenke deg selv i ledningen og komme inn i det. Så enkelt som dette!

Merk: Den brune ledningen bør alltid følge jordforbindelsen (GND) mellom utgangen til en enhet og inngangen til en annen enhet

Internett -tilkobling er avgjørende

For å gjøre prosjektet vårt til en suksess, trenger vi internettilgang for Raspberry Pi. I dette har du alternativer som å koble til en Ethernet (LAN) kabel. Også, som en alternativ, men imponerende måte å bruke en WiFi -adapter.

Drift av kretsen

Koble Micro USB -kabelen til strømkontakten på Raspberry Pi. Slå den på og voila, vi er i gang!

Tilkobling til skjerm

Vi kan enten ha HDMI -kabelen koblet til en skjerm, eller vi kan være litt innovative for å lage vår hodeløse Pi (ved hjelp av -SSH/PuTTY), noe som bidrar til å redusere ekstrakostnaden fordi vi på en eller annen måte er hobbyister.

Når en vane begynner å koste penger, kalles det en hobby

Trinn 3: Raspberry Pi -programmering i Java

Raspberry Pi -programmering i Java
Raspberry Pi -programmering i Java

Java -koden for Raspberry Pi og MPL3115A2 -sensoren. Den er tilgjengelig i vårt Github -depot.

Før du går videre til koden, må du lese instruksjonene i Readme -filen og konfigurere Raspberry Pi i henhold til den. Det vil bare ta et øyeblikk å gjøre det. Høyden beregnes ut fra trykket ved hjelp av ligningen nedenfor:

h = 44330,77 {1 - (p / p0) ^ 0.1902632} + OFF_H (registerverdi)

hvor p0 = havnivåstrykk (101326 Pa) og h er i meter. MPL3115A2 bruker denne verdien siden forskyvningsregisteret er definert som 2 Pascal per LSB. Koden er tydelig foran deg, og den er i den enkleste formen du kan forestille deg, og du bør ikke ha noen problemer.

Du kan også kopiere den fungerende Java -koden for denne sensoren herfra.

// Distribuert med en fri viljelisens. // Bruk den på hvilken som helst måte du vil, fortjeneste eller gratis, forutsatt at den passer inn i lisensene til de tilhørende verkene. // MPL3115A2 // Denne koden er designet for å fungere med MPL3115A2_I2CS I2C Mini Module tilgjengelig fra ControlEverything.com. //

importer com.pi4j.io.i2c. I2CBus;

importer com.pi4j.io.i2c. I2CDenhet; importer com.pi4j.io.i2c. I2CFactory; importer java.io. IOException;

offentlig klasse MPL3115A2

{public static void main (String args ) kaster Unntak {// Lag I2C buss I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // Få I2C -enhet, MPL3115A2 I2C -adresse er 0x60 (96) I2CDevice device = Bus.getDevice (0x60); // Velg kontrollregister // Aktiv modus, OSR = 128, høydemåler modus enhet. Skriv (0x26, (byte) 0xB9); // Velg datakonfigurasjonsregister // Dataklar hendelse aktivert for høyde, trykk, temperatur device.write (0x13, (byte) 0x07); // Velg kontrollregister // Aktiv modus, OSR = 128, høydemåler modus enhet. Skriv (0x26, (byte) 0xB9); Tråd. Sover (1000);

// Les 6 byte data fra adresse 0x00 (00)

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

// Konverter dataene til 20-bits

int tHeight = ((((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16); int temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16; dobbel høyde = tHeight / 16,0; dobbel cTemp = (temp / 16,0); dobbelt fTemp = cTemp * 1,8 + 32;

// Velg kontrollregister

// Aktiv modus, OSR = 128, barometer modus device.write (0x26, (byte) 0x39); Tråd. Sover (1000); // Les 4 byte med data fra adresse 0x00 (00) // status, pres msb1, pres msb, pres lsb device.read (0x00, data, 0, 4);

// Konverter dataene til 20-bits

int pres = (((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16; dobbelt trykk = (pres / 4.0) / 1000.0; // Utdata til skjermen System.out.printf ("Trykk: %.2f kPa %n", trykk); System.out.printf ("Høyde: %.2f m %n", høyde); System.out.printf ("Temperatur i Celsius: %.2f C %n", cTemp); System.out.printf ("Temperatur i Fahrenheit: %.2f F %n", fTemp); }}

Trinn 4: Det praktiske i koden (arbeider)

Praktikken i koden (arbeider)
Praktikken i koden (arbeider)

Last ned (eller git pull) koden og åpne den i Raspberry Pi. Kjør kommandoene for å kompilere og laste opp koden på terminalen og se utgangen på Monitor. Etter noen få sekunder vil alle parametrene vises. Etter å ha sørget for at alt fungerer problemfritt, kan du ta dette prosjektet til et større prosjekt.

Trinn 5: Programmer og funksjoner

Den vanlige bruken av MPL3115A2 Precision Altimeter sensor er i applikasjoner som Kart (Kartassistent, Navigasjon), Magnetisk Kompass, Eller GPS (GPS Dead Reckoning, GPS Enhancement For Emergency Services), Høy Nøyaktighets Altimetri, Smarttelefoner/Nettbrett, Personal Electronics Altimetry og Satellitter (værstasjonsutstyr/prognoser).

For f.eks. Ved hjelp av denne sensoren og Rasp Pi kan du bygge en digital visuell høydemåler, det viktigste utstyret med fallskjermhopping, som kan måle høyde, lufttrykk og temperatur. Du kan legge til vindbind og andre sensorer, så gjør den mer interessant.

Trinn 6: Konklusjon

Siden programmet er utrolig tilpassbart, er det mange interessante måter du kan utvide dette prosjektet på og gjøre det enda bedre. For eksempel vil et høydemåler/interferometer inkludere flere høydemetre montert på master som vil skaffe målinger samtidig, og dermed gi kontinuerlig, enkelt eller flere høydemåler breddekning. Vi har en interessant videoopplæring på YouTube som kan hjelpe deg med bedre forståelse av dette prosjektet.

Anbefalt: