Indholdsfortegnelse:

Brug Raspberry Pi, Mål højde, tryk og temperatur med MPL3115A2: 6 trin
Brug Raspberry Pi, Mål højde, tryk og temperatur med MPL3115A2: 6 trin

Video: Brug Raspberry Pi, Mål højde, tryk og temperatur med MPL3115A2: 6 trin

Video: Brug Raspberry Pi, Mål højde, tryk og temperatur med MPL3115A2: 6 trin
Video: Красивая история о настоящей любви! Мелодрама НЕЛЮБОВЬ (Домашний). 2024, Juli
Anonim
Image
Image
Uundværligt udstyr, vi har brug for
Uundværligt udstyr, vi har brug for

Ved hvad du ejer, og ved hvorfor du ejer det

Det er spændende. Vi lever i en tid med internetautomatisering, da det styrter ind i en overflod af nye applikationer. Som computer- og elektronikentusiaster har vi lært meget med Raspberry Pi og besluttet at blande vores interesser. Dette projekt tager cirka en time, hvis du ikke er ny inden for I²C -forbindelser og softwareopsætning, og det er en fantastisk måde at udvide mulighederne for MPL3115A2 med Raspberry Pi i Java.

Trin 1: Uundværligt udstyr, vi har brug for

Uundværligt udstyr, vi har brug for
Uundværligt udstyr, vi har brug for
Uundværligt udstyr, vi har brug for
Uundværligt udstyr, vi har brug for
Uundværligt udstyr, vi har brug for
Uundværligt udstyr, vi har brug for

1. Hindbær Pi

Det første trin var at skaffe et Raspberry Pi -bord. Dette lille geni bruges af hobbyfolk, lærere og til at skabe innovative miljøer.

2. I2C Shield til Raspberry Pi

INPI2 (I2C -adapteren) giver Raspberry Pi 2/3 en I²C -port til brug med flere I2C -enheder. Den er tilgængelig på Dcube Store.

3. Højdemåler, tryk- og temperatursensor, MPL3115A2

MPL3115A2 er en MEMS -trykføler med en I²C -grænseflade, der giver data om tryk, højde og temperatur. Denne sensor bruger I²2 -protokollen til kommunikation. Vi købte denne sensor fra Dcube Store.

4. Tilslutningskabel

Vi brugte I²C -tilslutningskablet, der fås i Dcube Store.

5. Micro USB -kabel

Raspberry Pi drives af mikro -USB -forsyning.

6. Forbedring af internetadgang - Ethernet -kabel/WiFi -modul

En af de første ting, du vil gøre, er at få din Raspberry Pi tilsluttet internettet. Du kan tilslutte ved hjælp af et Ethernet -kabel eller med en trådløs USB Nano WiFi -adapter.

7. HDMI -kabel (valgfrit, dit valg)

Du kan slutte Raspberry Pi til en skærm ved hjælp af et HDMI -kabel. Du kan også få fjernadgang til din Raspberry Pi ved hjælp af SSH/PuTTY.

Trin 2: Hardwareforbindelser for at sammensætte kredsløbet

Hardwareforbindelser til sammensætning af kredsløbet
Hardwareforbindelser til sammensætning af kredsløbet
Hardwareforbindelser til sammensætning af kredsløbet
Hardwareforbindelser til sammensætning af kredsløbet

Lav kredsløbet i henhold til det viste skema. Generelt er forbindelserne ret enkle. Følg instruktionerne og billederne ovenfor, og du bør ikke have problemer. Under planlægningen kiggede vi på hardware og kodning samt grundlæggende elektronik. Vi ønskede at designe en simpel elektronisk skema for dette projekt. I diagrammet kan du se de forskellige dele, strømkomponenter og I²C -sensor efter I²C -kommunikationsprotokoller. Forhåbentlig illustrerer dette, hvor enkel elektronikken til dette projekt er.

Tilslutning af Raspberry Pi og I2C Shield

Til dette, Raspberry Pi og placer I²C Shield på den. Tryk forsigtigt på skærmen (se billedet).

Tilslutning af sensoren og Raspberry Pi

Tag sensoren, og tilslut I²C -kablet med den. Sørg for, at I²C Output ALTID forbinder til I²C Input. Det samme skal Raspberry Pi med I²C -skjoldet monteret over. Vi har I²C -skjoldet og I²C -tilslutningskablerne på vores side som en meget stor fordel, da vi kun har plug and play -muligheden tilbage. Ikke flere pins og ledningsproblemer, og derfor er forvirringen væk. Hvilken lettelse, bare forestil dig dig selv i ledningen og komme ind i det. Så enkelt som dette!

Bemærk: Den brune ledning skal altid følge jordforbindelsen (GND) mellem output fra en enhed og input fra en anden enhed

Internetforbindelse er afgørende

For at gøre vores projekt til en succes, har vi brug for en internetadgang til vores Raspberry Pi. I dette har du muligheder som at tilslutte et Ethernet (LAN) kabel. Som en alternativ, men imponerende måde at bruge en WiFi -adapter på.

Strømforsyning af kredsløbet

Sæt Micro USB -kablet i strømstikket på Raspberry Pi. Tænd det, og voila, vi er godt i gang!

Tilslutning til skærm

Vi kan enten have HDMI -kablet tilsluttet en skærm, eller vi kan være lidt innovative til at lave vores hovedløse Pi (ved hjælp af -SSH/PuTTY), hvilket hjælper med at reducere meromkostningerne, fordi vi på en eller anden måde er hobbyister.

Når en vane begynder at koste penge, kaldes det en hobby

Trin 3: Raspberry Pi -programmering i Java

Hindbær Pi programmering i Java
Hindbær Pi programmering i Java

Java -koden til Raspberry Pi og MPL3115A2 -sensoren. Den er tilgængelig i vores Github -lager.

Inden du går videre til koden, skal du læse instruktionerne i Readme -filen og konfigurere din Raspberry Pi i henhold til den. Det vil tage lige et øjeblik at gøre det. Højden beregnes ud fra trykket ved hjælp af nedenstående ligning:

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

hvor p0 = havets tryk (101326 Pa) og h er i meter. MPL3115A2 bruger denne værdi, da offsetregistret er defineret som 2 Pascal pr. LSB. Koden er klart foran dig, og den er i den enkleste form, som du kan forestille dig, og du bør ikke have problemer.

Du kan også kopiere den fungerende Java -kode til denne sensor herfra.

// Distribueret med en fri vilje-licens. // Brug den, som du vil, profit eller gratis, forudsat at den passer ind i licenserne til de tilhørende værker. // MPL3115A2 // Denne kode er designet til at fungere med MPL3115A2_I2CS I2C Mini -modulet tilgængeligt fra ControlEverything.com. //

importer com.pi4j.io.i2c. I2CBus;

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

offentlig klasse MPL3115A2

{public static void main (String args ) kaster Undtagelse {// Opret I2C bus I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // Hent I2C -enhed, MPL3115A2 I2C -adresse er 0x60 (96) I2CDevice device = Bus.getDevice (0x60); // Vælg kontrolregister // Aktiv tilstand, OSR = 128, højdemåler mode device.write (0x26, (byte) 0xB9); // Vælg datakonfigurationsregister // Dataklar begivenhed aktiveret for højde, tryk, temperatur device.write (0x13, (byte) 0x07); // Vælg kontrolregister // Aktiv tilstand, OSR = 128, højdemåler mode device.write (0x26, (byte) 0xB9); Thread.sleep (1000);

// Læs 6 bytes data fra adresse 0x00 (00)

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

// Konverter dataene til 20-bit

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

// Vælg kontrolregister

// Aktiv tilstand, OSR = 128, barometer -tilstand enhed. Skriv (0x26, (byte) 0x39); Thread.sleep (1000); // Læs 4 bytes data fra adresse 0x00 (00) // status, pres msb1, pres msb, pres lsb device.read (0x00, data, 0, 4);

// Konverter dataene til 20-bit

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

Trin 4: Det praktiske ved koden (arbejder)

Det praktiske ved koden (arbejder)
Det praktiske ved koden (arbejder)

Download nu (eller git pull) koden og åbn den i Raspberry Pi. Kør kommandoerne for at kompilere og uploade koden på terminalen og se output på Monitor. Efter få sekunder viser det alle parametre. Efter at have sørget for, at alt fungerer gnidningsløst, kan du tage dette projekt ind i et større projekt.

Trin 5: Applikationer og funktioner

Den almindelige brug af MPL3115A2 Precision Altimeter sensor er i applikationer som Map (Map Assist, Navigation), Magnetisk kompas eller GPS (GPS Dead Reckoning, GPS Enhancement for Emergency Services), Høj nøjagtigheds -altimetri, Smartphones/tablets, Personal Electronics Altimetry og Satellitter (vejrstationsudstyr/prognoser).

For f.eks. Ved hjælp af denne sensor og Rasp Pi kan du bygge en digital visuel højdemåler, det vigtigste stykke skydiving -udstyr, der kan måle højde, lufttryk og temperatur. Du kan tilføje vindgas og andre sensorer, så gør den mere interessant.

Trin 6: Konklusion

Da programmet er fantastisk tilpasseligt, er der mange interessante måder, hvorpå du kan udvide dette projekt og gøre det endnu bedre. For eksempel vil et højdemåler/interferometer omfatte flere højdemålere monteret på master, som ville opnå målinger samtidigt og dermed give kontinuerlig, enkelt- eller multi-højdemåler bredt dækket område. Vi har en interessant videotutorial på YouTube, der kan hjælpe dig med en bedre forståelse af dette projekt.

Anbefalede: