Innholdsfortegnelse:
- Trinn 1: Uunnværlig utstyr vi trenger
- Trinn 2: Maskinvaretilkoblinger for å sette sammen kretsen
- Trinn 3: Raspberry Pi -programmering i Java
- Trinn 4: Det praktiske i koden (arbeider)
- Trinn 5: Programmer og funksjoner
- Trinn 6: Konklusjon
Video: Bruke Raspberry Pi, måle høyde, trykk og temperatur med MPL3115A2: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
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
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
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
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)
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:
M5STACK Slik viser du temperatur, fuktighet og trykk på M5StickC ESP32 ved hjelp av Visuino - Enkelt å gjøre: 6 trinn
M5STACK Slik viser du temperatur, fuktighet og trykk på M5StickC ESP32 ved hjelp av Visuino - enkelt å gjøre: I denne opplæringen lærer vi hvordan du programmerer ESP32 M5Stack StickC med Arduino IDE og Visuino for å vise temperatur, fuktighet og trykk ved hjelp av ENV -sensor (DHT12, BMP280, BMM150)
Høyde, trykk og temperatur ved hjelp av Raspberry Pi med MPL3115A2: 6 trinn
Høyde, trykk og temperatur ved hjelp av Raspberry Pi med MPL3115A2: Høres interessant ut. Det er fullt mulig i denne tiden når vi alle går inn i IoT -generasjonen. Som elektronikkfreak har vi lekt med Raspberry Pi og bestemte oss for å lage interessante prosjekter ved hjelp av denne kunnskapen. I dette prosjektet vil vi
Arduino værstasjon ved bruk av BMP280 -DHT11 - Temperatur, fuktighet og trykk: 8 trinn
Arduino værstasjon ved bruk av BMP280 -DHT11 - Temperatur, fuktighet og trykk: I denne opplæringen lærer vi hvordan du lager en værstasjon som viser en TEMPERATUR, Fuktighet og trykk på LCD -skjermen TFT 7735 Se en demonstrasjonsvideo
Visualisere barometrisk trykk og temperatur ved hjelp av Infineon XMC4700 RelaxKit, Infineon DPS422 og AWS .: 8 trinn
Visualisere barometertrykk og temperatur ved bruk av Infineon XMC4700 RelaxKit, Infineon DPS422 og AWS .: Det er et enkelt prosjekt for å fange barometrisk trykk og temperatur ved hjelp av Infineon's DPS 422. Det blir klønete å spore trykk og temperatur over en periode. Det er her analytics kommer inn i bildet, innsikt i endringen i
Bestemme trykk og høyde ved hjelp av GY-68 BMP180 og Arduino: 6 trinn
Bestemme trykk og høyde ved hjelp av GY-68 BMP180 og Arduino: Oversikt I mange prosjekter som flygende roboter, værstasjoner, forbedring av rutefunksjoner, sport og etc. er måling av trykk og høyde svært viktig. I denne opplæringen lærer du hvordan du bruker BMP180 -sensoren, som er en av de mest