Innholdsfortegnelse:

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: 6 trinn

Video: Høyde, trykk og temperatur ved hjelp av Raspberry Pi med MPL3115A2: 6 trinn

Video: Høyde, trykk og temperatur ved hjelp av Raspberry Pi med MPL3115A2: 6 trinn
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Juli
Anonim
Høyde, trykk og temperatur ved hjelp av Raspberry Pi med MPL3115A2
Høyde, trykk og temperatur ved hjelp av Raspberry Pi med MPL3115A2
Høyde, trykk og temperatur ved hjelp av Raspberry Pi med MPL3115A2
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 skal vi måle høyde, lufttrykk, temperatur ved hjelp av Raspberry Pi. Så her går dokumentasjonen (blir alltid modifisert og utvidet). Vi anbefaler å begynne med å følge instruksjonene og kopiere koden. Du kan eksperimentere senere. Så la oss komme i gang.

Trinn 1: Imperativt utstyr vi trenger

Imperativt utstyr vi trenger
Imperativt utstyr vi trenger
Imperativt utstyr vi trenger
Imperativt utstyr vi trenger
Imperativt utstyr vi trenger
Imperativt utstyr vi trenger
Imperativt utstyr vi trenger
Imperativt utstyr vi trenger

1. Bringebær Pi

Det første trinnet var å skaffe et Raspberry Pi -kort. Vi kjøpte vårt og det kan du også. Begynte å lære av opplæringsprogrammene, vi forsto skript- og tilkoblingskonseptene og lærte etterpå. Dette lille geniet er vanlig for hobbyfolk, lærere og for å skape innovative miljøer.

2. I²C 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²C -protokollen for kommunikasjon. Vi kjøpte denne sensoren fra Dcube Store

4. Tilkoblingskabel

Vi hadde I2C -tilkoblingskabelen tilgjengelig på Dcube Store

5. Micro USB -kabel

Micro USB -kabelen Strømforsyning er et ideelt valg for å drive Raspberry Pi.

6. Forbedring av internettilgang - Ethernet -kabel/WiFi -adapter

I denne epoken trenger du en internettforbindelse for å få tilgang til alt (nesten som det er liv offline også). Så vi tar råd fra en LAN -kabel eller en trådløs Nano USB -adapter (WiFi) for å bygge internettforbindelsen slik at vi enkelt kan bruke Rasp Pi og uten problemer i det hele tatt.

7. HDMI -kabel (valgfritt, ditt valg)

Det er litt vanskelig. Du kan ha muligheten til å koble til en annen skjerm hvis du vil, eller hvis det er veldig kostnadseffektivt for deg selv ved å opprette en hodeløs Pi-tilkobling med din PC/bærbare.

Trinn 2: Maskinvaretilkoblinger for å sette sammen kretsen

Maskinvaretilkoblinger for å sette sammen kretsen
Maskinvaretilkoblinger for å sette sammen kretsen
Maskinvaretilkoblinger for å sette sammen kretsen
Maskinvaretilkoblinger for å sette sammen kretsen

Lag kretsen i henhold til skjematikken som vises. Generelt er tilkoblingene veldig enkle. Følg instruksjonene og bildene, 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

Ta først 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 med 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. Bare den enkle prosessen som vi har nevnt.

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 viktig

Du har et valg her faktisk. Du kan koble Raspberry Pi med LAN -kabelen eller den trådløse Nano USB -adapteren for WiFi -tilkobling. Uansett, det var hovedmålet som er å koble til internett.

Drift av kretsen

Koble Micro USB -kabelen til strømkontakten på Raspberry Pi. Lys opp, så er vi i gang.

Tilkobling til skjerm

Vi kan enten ha HDMI-kabelen koblet til en ny skjerm, eller vi kan lage vår hodeløse Pi som er kreativ og kostnadseffektiv ved hjelp av ekstern tilgang som SSH/PuTTY. (Jeg vet at vi ikke er finansiert som en hemmelig organisasjon)

Trinn 3: Raspberry Pi -programmering i Python

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

Python -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 Python -koden for denne sensoren herfra.

# Distribuert med en fri viljelisens.# Bruk den som du vil, profitt 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 smbus

importtid

# Få I2C -buss

buss = smbus. SMBus (1)

# MPL3115A2 adresse, 0x60 (96)

# Velg kontrollregister, 0x26 (38) # 0xB9 (185) Aktiv modus, OSR = 128, Høydemåler modus buss.write_byte_data (0x60, 0x26, 0xB9) # MPL3115A2 adresse, 0x60 (96) # Velg datakonfigurasjonsregister, 0x13 (19) # 0x07 (07) Dataklar hendelse aktivert for høyde, trykk, temperatur buss. Skrive_byte_data (0x60, 0x13, 0x07) # MPL3115A2 adresse, 0x60 (96) # Velg kontrollregister, 0x26 (38) # 0xB9 (185) Aktiv modus, OSR = 128, høydemåler modus buss.write_byte_data (0x60, 0x26, 0xB9)

time.sleep (1)

# MPL3115A2 adresse, 0x60 (96)

# Les data tilbake fra 0x00 (00), 6 byte # status, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data (0x60, 0x00, 6)

# Konverter dataene til 20-bits

tHeight = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16 temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16 høyde = tHeight / 16.0 cTemp = temp / 16.0 fTemp = cTemp * 1.8 + 32

# MPL3115A2 adresse, 0x60 (96)

# Velg kontrollregister, 0x26 (38) # 0x39 (57) Aktiv modus, OSR = 128, Barometer modus buss. Skrive_byte_data (0x60, 0x26, 0x39)

time.sleep (1)

# MPL3115A2 adresse, 0x60 (96)

# Les data tilbake fra 0x00 (00), 4 byte # status, pres MSB1, pres MSB, pres LSB data = bus.read_i2c_block_data (0x60, 0x00, 4)

# Konverter dataene til 20-bits

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

# Utdata til skjermen

print "Pressure: %.2f kPa" %pressure print "Altitude: %.2f m" %altitude print "Temperature in Celsius: %.2f C" %cTemp print "Temperature in Fahrenheit: %.2f F" %fTemp

Trinn 4: Praktisk bruk av koden (testing)

Praktikken i koden (testing)
Praktikken i koden (testing)

Last ned (eller git pull) koden og åpne den i Raspberry Pi.

Kjør kommandoene for å kompilere og laste opp koden i 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 I²C -sensoren er i applikasjoner som Kart (kartassistent, navigasjon), magnetisk kompass, eller GPS (GPS Dead Reckoning, GPS Enhancement For Emergency Services), høy nøyaktighet altimetri, smarttelefoner/nettbrett, personlig elektronisk altimetri og satellitter (værstasjonsutstyr/prognoser).

For f.eks. et prosjekt for å lage Personal Electronics Altimeter som måler høyde, lufttrykk, temperatur ved hjelp av Raspberry Pi. Personal Electronics Altimeter er totalt sett et ganske raskt prosjekt å bygge. Det vil bare ta noen få øyeblikk hvis du har alle delene og ikke improviserer (selvfølgelig kan du!). En trykkhøydemåler er en høydemåler som finnes i de fleste fly, og fallskjermhoppere bruker håndleddmonterte versjoner for lignende formål. Turgåere og fjellklatrere bruker håndleddmonterte eller håndholdte høydemetre.

Trinn 6: Konklusjon

Håper dette prosjektet inspirerer til ytterligere eksperimentering. Denne I²C -sensoren er utrolig allsidig, billig og tilgjengelig. Siden det er et ekstremt foranderlig program, er det interessante måter du kan forlenge dette prosjektet og gjøre det enda bedre. For eksempel er høydemåler et valgfritt instrument i terrengkjøretøy for å hjelpe til med navigering. Noen luksusbiler med høy ytelse som aldri var ment å forlate asfalterte veier, bruker denne teknologien. For enkelhets skyld har vi en interessant videoopplæring på YouTube som kan hjelpe deg med å utforske. Håper dette prosjektet inspirerer til ytterligere eksperimentering.

Anbefalt: