Innehållsförteckning:

Använd Raspberry Pi, mät höjd, tryck och temperatur med MPL3115A2: 6 steg
Använd Raspberry Pi, mät höjd, tryck och temperatur med MPL3115A2: 6 steg

Video: Använd Raspberry Pi, mät höjd, tryck och temperatur med MPL3115A2: 6 steg

Video: Använd Raspberry Pi, mät höjd, tryck och temperatur med MPL3115A2: 6 steg
Video: How to use W1209 Temperature relay controller and program the thermostat 2024, November
Anonim
Image
Image
Oumbärlig utrustning vi behöver
Oumbärlig utrustning vi behöver

Vet vad du äger, och vet varför du äger det

Det är spännande. Vi lever i en tid av Internetautomation när det störtar in i en mängd nya applikationer. Som dator- och elektronikentusiaster har vi lärt oss mycket med Raspberry Pi och beslutat att blanda våra intressen. Detta projekt tar ungefär en timme om du är ny på I²C -anslutningar och programvaruinställningar, och det är ett bra sätt att utöka möjligheterna för MPL3115A2 med Raspberry Pi i Java.

Steg 1: Oumbärlig utrustning vi behöver

Oumbärlig utrustning vi behöver
Oumbärlig utrustning vi behöver
Oumbärlig utrustning vi behöver
Oumbärlig utrustning vi behöver
Oumbärlig utrustning vi behöver
Oumbärlig utrustning vi behöver

1. Hallon Pi

Det första steget var att skaffa ett Raspberry Pi -kort. Detta lilla geni används av hobbyister, lärare och för att skapa innovativa miljöer.

2. I2C Shield för Raspberry Pi

INPI2 (I2C -adaptern) tillhandahåller Raspberry Pi 2/3 en I²C -port för användning med flera I2C -enheter. Den är tillgänglig på Dcube Store.

3. Höjdmätare, tryck- och temperatursensor, MPL3115A2

MPL3115A2 är en MEMS -trycksensor med ett I²C -gränssnitt för att ge tryck-, höjd- och temperaturdata. Denna sensor använder I²2 -protokollet för kommunikation. Vi köpte den här sensorn från Dcube Store.

4. Anslutningskabel

Vi använde I²C -anslutningskabeln som finns i Dcube Store.

5. Micro USB -kabel

Raspberry Pi drivs av mikro -USB -strömförsörjning.

6. Förbättring av internetåtkomst - Ethernet -kabel/WiFi -modul

En av de första sakerna du vill göra är att ansluta din Raspberry Pi till Internet. Du kan ansluta med en Ethernet -kabel eller med en trådlös USB Nano WiFi -adapter.

7. HDMI -kabel (valfritt, ditt val)

Du kan ansluta Raspberry Pi till en bildskärm med en HDMI -kabel. Du kan också fjärråtkomst till din Raspberry Pi med SSH/PuTTY.

Steg 2: Maskinvaruanslutningar för att sätta ihop kretsen

Hårdvaruanslutningar för att sätta ihop kretsen
Hårdvaruanslutningar för att sätta ihop kretsen
Hårdvaruanslutningar för att sätta ihop kretsen
Hårdvaruanslutningar för att sätta ihop kretsen

Gör kretsen enligt schemat. I allmänhet är anslutningarna ganska enkla. Följ instruktionerna och bilderna ovan, så ska du inte ha några problem. Under planeringen tittade vi på hårdvara och kodning samt grundläggande elektronik. Vi ville utforma en enkel elektronikschema för detta projekt. I diagrammet kan du märka de olika delarna, kraftkomponenterna och I²C -sensorn efter I²C -kommunikationsprotokoll. Förhoppningsvis illustrerar detta hur enkel elektroniken för detta projekt är.

Anslutning av Raspberry Pi och I2C Shield

För detta, Raspberry Pi och placera I²C Shield på den. Tryck försiktigt på skärmen (se bilden).

Anslutning av sensorn och Raspberry Pi

Ta sensorn och anslut I²C -kabeln med den. Se till att I²C -utgång ALLTID ansluts till I²C -ingången. Samma som ska följas av Raspberry Pi med I²C -skölden monterad över den. Vi har I²C -skölden och I²C -anslutningskablarna på vår sida som en mycket stor fördel eftersom vi bara har plug and play -alternativet kvar. Inga fler stift- och kabelfrågor och därför är förvirringen borta. Vilken lättnad att bara föreställa sig dig själv i trådens nät och komma in i det. Så enkelt som detta!

Obs: Den bruna tråden bör alltid följa jordanslutningen (GND) mellan utgången på en enhet och ingången till en annan enhet

Internetanslutning är avgörande

För att göra vårt projekt framgångsrikt behöver vi en internetåtkomst för vår Raspberry Pi. I detta har du alternativ som att ansluta en Ethernet (LAN) kabel. Som ett alternativt men imponerande sätt att använda en WiFi -adapter.

Drivning av kretsen

Anslut Micro USB -kabeln till strömuttaget på Raspberry Pi. Slå på den och voila, vi är bra att gå!

Anslutning till skärm

Vi kan antingen ha HDMI -kabeln ansluten till en bildskärm eller så kan vi vara lite innovativa för att göra vår huvudlösa Pi (med -SSH/PuTTY) vilket hjälper till att sänka extrakostnaden eftersom vi på något sätt är hobbyister.

När en vana börjar kosta pengar kallas det en hobby

Steg 3: Raspberry Pi -programmering i Java

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

Java -koden för Raspberry Pi och MPL3115A2 -sensorn. Den är tillgänglig i vårt Github -arkiv.

Innan du går vidare till koden, se till att du läser instruktionerna i Readme -filen och konfigurerar din Raspberry Pi enligt den. Det tar bara ett ögonblick att göra det. Höjden beräknas utifrån trycket med hjälp av ekvationen nedan:

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

där p0 = havsnivå tryck (101326 Pa) och h är i meter. MPL3115A2 använder detta värde eftersom offsetregistret definieras som 2 Pascal per LSB. Koden är helt klart framför dig och den är i den enklaste form som du kan tänka dig och du bör inte ha några problem.

Du kan också kopiera den fungerande Java -koden för den här sensorn härifrån.

// Distribueras med en fri vilja licens. // Använd den hur du vill, vinst eller gratis, förutsatt att den passar in i licensen för dess associerade verk. // MPL3115A2 // Denna kod är utformad för att fungera med MPL3115A2_I2CS I2C Mini -modulen som är tillgänglig från ControlEverything.com. //

importera com.pi4j.io.i2c. I2CBus;

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

offentlig klass MPL3115A2

{public static void main (String args ) kastar undantag {// Skapa I2C -buss I2CBus -buss = I2CFactory.getInstance (I2CBus. BUS_1); // Skaffa I2C -enhet, MPL3115A2 I2C -adress är 0x60 (96) I2CDevice device = Bus.getDevice (0x60); // Välj kontrollregister // Aktivt läge, OSR = 128, höjdmätarläge device.write (0x26, (byte) 0xB9); // Välj datakonfigurationsregister // Dataklar händelse aktiverad för höjd, tryck, temperatur device.write (0x13, (byte) 0x07); // Välj kontrollregister // Aktivt läge, OSR = 128, höjdmätarläge device.write (0x26, (byte) 0xB9); Tråd. Sover (1000);

// Läs 6 byte med data från adressen 0x00 (00)

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

// Konvertera data till 20-bitar

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

// Välj kontrollregister

// Aktivt läge, OSR = 128, barometerlägesenhet. Skriv (0x26, (byte) 0x39); Tråd. Sover (1000); // Läs 4 byte med data från adressen 0x00 (00) // status, pres msb1, pres msb, pres lsb device.read (0x00, data, 0, 4);

// Konvertera data till 20-bitar

int pres = (((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16; dubbel tryck = (pres / 4.0) / 1000.0; // Utdata till skärmen System.out.printf ("Tryck: %.2f kPa %n", tryck); System.out.printf ("Höjd: %.2f m %n", höjd); System.out.printf ("Temperatur i Celsius: %.2f C %n", cTemp); System.out.printf ("Temperatur i Fahrenheit: %.2f F %n", fTemp); }}

Steg 4: Kodens praktiska (arbetande)

Kodens praktiska (arbetande)
Kodens praktiska (arbetande)

Ladda ner (eller git pull) koden och öppna den i Raspberry Pi. Kör kommandona för att kompilera och ladda upp koden på terminalen och se utdata på Monitor. Efter några sekunder kommer alla parametrar att visas. Efter att ha sett till att allt fungerar smidigt kan du ta detta projekt till ett större projekt.

Steg 5: Applikationer och funktioner

Den vanliga användningen av MPL3115A2 Precision Altimeter sensor är i applikationer som karta (kartassistans, navigering), magnetisk kompass eller GPS (GPS Dead Reckoning, GPS Enhancement for Emergency Services), hög noggrannhetsmätning, smartphones/surfplattor, personlig elektronisk höjdmätning och Satelliter (väderstationsutrustning/prognoser).

För t.ex. Med denna sensor och Rasp Pi kan du bygga en digital visuell höjdmätare, den viktigaste skyddsutrustningen, som kan mäta höjd, lufttryck och temperatur. Du kan lägga till vindmätare och andra sensorer så gör en mer intressant.

Steg 6: Slutsats

Eftersom programmet är otroligt anpassningsbart finns det många intressanta sätt på vilka du kan förlänga detta projekt och göra det ännu bättre. Till exempel skulle en höjdmätare/interferometer omfatta flera höjdmätare monterade på master som skulle förvärva mätningar samtidigt, vilket ger kontinuerlig täckning med en eller flera höjdmätare. Vi har en intressant videohandledning på YouTube som kan hjälpa dig att bättre förstå detta projekt.

Rekommenderad: