Innehållsförteckning:
- Steg 1: Oumbärlig utrustning vi behöver
- Steg 2: Maskinvaruanslutningar för att sätta ihop kretsen
- Steg 3: Raspberry Pi -programmering i Java
- Steg 4: Kodens praktiska (arbetande)
- Steg 5: Applikationer och funktioner
- Steg 6: Slutsats
Video: Använd Raspberry Pi, mät höjd, tryck och temperatur med MPL3115A2: 6 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
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
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
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
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)
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:
M5STACK Så här visar du temperatur, luftfuktighet och tryck på M5StickC ESP32 med Visuino - enkelt att göra: 6 steg
M5STACK Hur man visar temperatur, luftfuktighet och tryck på M5StickC ESP32 med Visuino - enkelt att göra: I den här självstudien lär vi oss hur man programmerar ESP32 M5Stack StickC med Arduino IDE och Visuino för att visa temperatur, luftfuktighet och tryck med ENV -sensor (DHT12, BMP280, BMM150)
Höjd, tryck och temperatur med Raspberry Pi med MPL3115A2: 6 steg
Höjd, tryck och temperatur med Raspberry Pi med MPL3115A2: Låter intressant. Det är fullt möjligt under denna tid när vi alla går in i IoT -generationen. Som elektronikfreak har vi lekt med Raspberry Pi och bestämt oss för att göra intressanta projekt med denna kunskap. I detta projekt vill vi
Arduino väderstation med BMP280 -DHT11 - Temperatur, luftfuktighet och tryck: 8 steg
Arduino väderstation med BMP280 -DHT11 - Temperatur, luftfuktighet och tryck: I denna handledning lär vi oss hur man gör en väderstation som visar en TEMPERATUR, FUKTIGHET OCH TRYCK på LCD -skärmen TFT 7735 Se en demonstrationsvideo
Använd Raspberry Pi för att utvärdera luftfuktighet och temperatur med SI7006: 6 steg
Använda Raspberry Pi, utvärdera luftfuktighet och temperatur med SI7006: Som en entusiast för Raspberry Pi tänkte vi på några mer spektakulära experiment med den. I den här kampanjen kommer vi att mäta temperatur och luftfuktighet som måste kontrolleras med hjälp av en Raspberry Pi och SI7006, Luftfuktighet och temperaturkänsla
Bestämning av tryck och höjd med GY-68 BMP180 och Arduino: 6 steg
Bestämning av tryck och höjd med GY-68 BMP180 och Arduino: Översikt I många projekt som flygrobotar, väderstationer, förbättrad routingprestanda, sport och etc. är mätning av tryck och höjd mycket viktigt. I denna handledning lär du dig hur du använder BMP180 -sensorn, som är en av de mest