Innehållsförteckning:

Höjd, tryck och temperatur med Raspberry Pi med MPL3115A2: 6 steg
Höjd, tryck och temperatur med Raspberry Pi med MPL3115A2: 6 steg

Video: Höjd, tryck och temperatur med Raspberry Pi med MPL3115A2: 6 steg

Video: Höjd, tryck och temperatur med Raspberry Pi med MPL3115A2: 6 steg
Video: Как связать промышленные датчики 4–20 мА с ПЛК Raspberry Pi Pico | ПЛК Мицубиси FX1N 2024, Juli
Anonim
Höjd, tryck och temperatur med Raspberry Pi med MPL3115A2
Höjd, tryck och temperatur med Raspberry Pi med MPL3115A2
Höjd, tryck och temperatur med Raspberry Pi med MPL3115A2
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 kommer vi att mäta höjd, lufttryck, temperatur med hjälp av Raspberry Pi. Så här går dokumentationen (ändras alltid och utökas). Vi rekommenderar att du börjar med att följa instruktionerna och kopiera koden. Du kan experimentera senare. Så låt oss komma igång.

Steg 1: Imperativ utrustning vi behöver

Imperativ utrustning vi behöver
Imperativ utrustning vi behöver
Imperativ utrustning vi behöver
Imperativ utrustning vi behöver
Imperativ utrustning vi behöver
Imperativ utrustning vi behöver
Imperativ utrustning vi behöver
Imperativ utrustning vi behöver

1. Hallon Pi

Det första steget var att skaffa ett Raspberry Pi -kort. Vi köpte vårt och det kan du också. Började lära oss av självstudierna, vi förstod skript- och anslutningskoncepten och lärde oss efteråt. Detta lilla geni är vanligt för amatörer, lärare och för att skapa innovativa miljöer.

2. I²C 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²C -protokollet för kommunikation. Vi köpte den här sensorn från Dcube Store

4. Anslutningskabel

Vi hade I2C -anslutningskabeln tillgänglig på Dcube Store

5. Micro USB -kabel

Mikro -USB -kabeln Strömförsörjning är ett idealiskt val för att driva Raspberry Pi.

6. Internetförbättring - Ethernet -kabel/WiFi -adapter

I den här eran behöver du en internetanslutning för att få tillgång till allt (nästan som det finns liv offline också). Så vi tar råd från en LAN -kabel eller en trådlös Nano USB -adapter (WiFi) för att bygga internetanslutningen så att vi enkelt kan använda vår Rasp Pi och utan problem alls.

7. HDMI -kabel (valfritt, ditt val)

Det är lite knepigt. Du kan ha möjlighet att ansluta en annan bildskärm om du vill eller om det är mycket kostnadseffektivt för dig själv genom att göra en huvudlös Pi-anslutning till din dator/bärbar dator.

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 mycket enkla. Följ instruktionerna och bilderna, 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

Ta först 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. Bara den enkla processen som vi har nämnt.

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

Du har ett val här faktiskt. Du kan ansluta Raspberry Pi med LAN -kabeln eller den trådlösa Nano USB -adaptern för WiFi -anslutning. Hur som helst, det gjorde det huvudsakliga målet som är att ansluta till internet.

Drivning av kretsen

Anslut Micro USB -kabeln till strömuttaget på Raspberry Pi. Tänd upp det så är vi igång.

Anslutning till skärm

Vi kan antingen ha HDMI-kabeln ansluten till en ny bildskärm eller så kan vi göra vår huvudlösa Pi som är kreativ och kostnadseffektiv med fjärråtkomst som SSH/PuTTY. (Jag vet att vi inte är finansierade som en hemlig organisation)

Steg 3: Raspberry Pi -programmering i Python

Raspberry Pi -programmering i Python
Raspberry Pi -programmering i Python

Python -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 en stund 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 Python -koden för den här sensorn härifrån.

# Distribueras med en fri viljelicens.# Använd den hur du vill, vinst eller gratis, förutsatt att den passar in i licenserna 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 smbus

importtid

# Skaffa I2C -buss

buss = smbus. SMBus (1)

# MPL3115A2 -adress, 0x60 (96)

# Välj kontrollregister, 0x26 (38) # 0xB9 (185) Aktivt läge, OSR = 128, höjdmätare buss.write_byte_data (0x60, 0x26, 0xB9) # MPL3115A2 -adress, 0x60 (96) # Välj datakonfigurationsregister, 0x13 (19) # 0x07 (07) Dataklar händelse aktiverad för höjd, tryck, temperatur buss. Skriv_byte_data (0x60, 0x13, 0x07) # MPL3115A2 -adress, 0x60 (96) # Välj kontrollregister, 0x26 (38) # 0xB9 (185) Aktivt läge, OSR = 128, höjdmätare buss.write_byte_data (0x60, 0x26, 0xB9)

tid. sover (1)

# MPL3115A2 -adress, 0x60 (96)

# Läs tillbaka data från 0x00 (00), 6 byte # status, tHight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data (0x60, 0x00, 6)

# Konvertera data till 20-bitar

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

# MPL3115A2 -adress, 0x60 (96)

# Välj kontrollregister, 0x26 (38) # 0x39 (57) Aktivt läge, OSR = 128, Barometerläge buss.write_byte_data (0x60, 0x26, 0x39)

tid. sover (1)

# MPL3115A2 -adress, 0x60 (96)

# Läs tillbaka data från 0x00 (00), 4 byte # status, pres MSB1, pres MSB, pres LSB data = bus.read_i2c_block_data (0x60, 0x00, 4)

# Konvertera data till 20-bitar

pres = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16 tryck = (pres / 4.0) / 1000.0

# Mata ut data till skärmen

tryck "Tryck: %.2f kPa" %tryckutskrift "Höjd: %.2f m" %höjdtryck "Temperatur i Celsius: %.2f C" %cTemp tryck "Temperatur i Fahrenheit: %.2f F" %fTemp

Steg 4: Kodens praktiska (testning)

Kodens praktiska (testning)
Kodens praktiska (testning)

Ladda ner (eller git pull) koden och öppna den i Raspberry Pi.

Kör kommandona för att kompilera och ladda upp koden i 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 I²C -sensorn är i applikationer som Map (Map Assist, Navigation), Magnetisk kompass, eller GPS (GPS Dead Reckoning, GPS Enhancement For Emergency Services), High Accuracy Altimetry, Smartphones/Tablets, Personal Electronics Altimetry och satelliter (väderstationsutrustning/prognoser).

För t.ex. ett projekt för att göra Personal Electronics Altimeter som mäter höjd, lufttryck, temperatur med hjälp av Raspberry Pi. Personal Electronics Altimeter är totalt sett ett ganska snabbt projekt att bygga. Det tar bara några få ögonblick om du har alla delar och inte improviserar (naturligtvis kan du!). En tryckhöjdmätare är en höjdmätare som finns i de flesta flygplan, och fallskärmshoppare använder handledsmonterade versioner för liknande ändamål. Vandrare och bergsklättrare använder handledsmonterade eller handhållna höjdmätare.

Steg 6: Slutsats

Hoppas detta projekt inspirerar till ytterligare experiment. Denna I²C -sensor är otroligt mångsidig, billig och tillgänglig. Eftersom det är ett extremt föränderligt program finns det intressanta sätt att förlänga detta projekt och göra det ännu bättre. Till exempel är höjdmätaren ett tillval i terrängfordon som hjälp vid navigering. Vissa högpresterande lyxbilar som aldrig var avsedda att lämna asfalterade vägar, använder denna teknik. För din bekvämlighet har vi en intressant videohandledning på YouTube som kan hjälpa dig att utforska. Hoppas detta projekt inspirerar till ytterligare experiment.

Rekommenderad: