Sisällysluettelo:

Korkeus, paine ja lämpötila Raspberry Pi: n avulla MPL3115A2: 6 askelta
Korkeus, paine ja lämpötila Raspberry Pi: n avulla MPL3115A2: 6 askelta

Video: Korkeus, paine ja lämpötila Raspberry Pi: n avulla MPL3115A2: 6 askelta

Video: Korkeus, paine ja lämpötila Raspberry Pi: n avulla MPL3115A2: 6 askelta
Video: Объяснение прошивки Marlin 2.0.x 2024, Heinäkuu
Anonim
Korkeus, paine ja lämpötila käyttämällä Raspberry Pi -laitetta MPL3115A2: n kanssa
Korkeus, paine ja lämpötila käyttämällä Raspberry Pi -laitetta MPL3115A2: n kanssa
Korkeus, paine ja lämpötila käyttämällä Raspberry Pi -laitetta MPL3115A2: n kanssa
Korkeus, paine ja lämpötila käyttämällä Raspberry Pi -laitetta MPL3115A2: n kanssa

Kuulostaa mielenkiintoiselta. Se on täysin mahdollista tänä aikana, kun me kaikki olemme siirtymässä IoT -sukupolveen. Elektroniikkafriikina olemme leikkineet Raspberry Pi: n kanssa ja päätimme tehdä mielenkiintoisia projekteja tämän tiedon avulla. Tässä projektissa mittaamme korkeutta, ilmanpainetta ja lämpötilaa Raspberry Pi: n avulla. Joten tässä on dokumentaatio (aina muutettu ja laajennettu). Suosittelemme, että aloitat ohjeiden noudattamisesta ja kopioit koodin. Voit kokeilla myöhemmin. Aloitetaan siis.

Vaihe 1: Tarvittavat välineet

Tarvittavat välineet
Tarvittavat välineet
Tarvittavat välineet
Tarvittavat välineet
Tarvittavat välineet
Tarvittavat välineet
Tarvittavat välineet
Tarvittavat välineet

1. Vadelma Pi

Ensimmäinen askel oli Raspberry Pi -levyn hankkiminen. Ostimme omamme ja niin sinäkin. Aloitimme oppimisen opetusohjelmista, ymmärsimme komentosarjat ja yhteyskäsitteet ja opimme sen jälkeen. Tämä pieni nero on yhteinen harrastajille, opettajille ja innovatiivisten ympäristöjen luomiseen.

2. I²C -kilpi Raspberry Pi: lle

INPI2 (I2C -sovitin) tarjoaa Raspberry Pi 2/3 an I²C -portin käytettäväksi useiden I2C -laitteiden kanssa. Se on saatavana Dcube Storesta

3. Korkeusmittari, paine- ja lämpötila -anturi, MPL3115A2

MPL3115A2 on MEMS -paineanturi, jonka I²C -liitäntä antaa paine-/korkeus- ja lämpötilatietoja. Tämä anturi käyttää I²C -protokollaa kommunikointiin. Ostimme tämän anturin Dcube Storesta

4. Liitäntäkaapeli

Meillä oli IcC -liitäntäkaapeli saatavilla Dcube Storesta

5. Micro -USB -kaapeli

Micro USB -kaapeli Virtalähde on ihanteellinen valinta Raspberry Pi -laitteen virransyöttöön.

6. Internet -yhteyden parantaminen - Ethernet -kaapeli/WiFi -sovitin

Tänä aikana pääsy mihin tahansa vaatii Internet -yhteyden (melkein kuin elämä on myös offline -tilassa). Joten menemme noudattamaan LAN -kaapelin tai langattoman nano -USB -sovittimen (WiFi) neuvoja rakentaaksesi Internet -yhteyden, jotta voimme käyttää Rasp Pi: tämme helposti ja ilman ongelmia.

7. HDMI -kaapeli (valinnainen, valintasi)

Se on vähän hankala. Voit halutessasi liittää toisen näytön, jos haluat tai se on erittäin kustannustehokasta itsellesi tekemällä päätön Pi-yhteys tietokoneeseen/kannettavaan tietokoneeseen.

Vaihe 2: Laitteistoyhteydet piirin kokoamiseksi

Laitteistoyhteydet piirin kokoamiseksi
Laitteistoyhteydet piirin kokoamiseksi
Laitteistoyhteydet piirin kokoamiseksi
Laitteistoyhteydet piirin kokoamiseksi

Tee piiri piirustuksen mukaisesti. Yleensä liitännät ovat hyvin yksinkertaisia. Noudata ohjeita ja kuvia, eikä sinulla pitäisi olla ongelmia.

Suunnittellessamme tarkastelimme laitteistoa ja koodausta sekä elektroniikan perusteita. Halusimme suunnitella yksinkertaisen elektroniikkakaavion tälle projektille. Kaaviossa näet eri osat, virtakomponentit ja I²C -anturin I²C -tiedonsiirtoprotokollien mukaisesti. Toivottavasti tämä havainnollistaa kuinka yksinkertaista tämän projektin elektroniikka on.

Raspberry Pi ja I2C Shield -liitäntä

Ota ensin Raspberry Pi ja aseta I²C Shield sen päälle. Paina suojaa varovasti (katso kuva).

Anturin ja Raspberry Pi: n liitäntä

Ota anturi ja liitä I²C -kaapeli siihen. Varmista, että I²C -lähtö kytketään AINA I²C -tuloon. Samaa seuraa Raspberry Pi, jonka päälle on asennettu I²C -suoja. Meillä on I²C Shield ja I²C -liitäntäkaapelit puolellamme erittäin suurena etuna, koska meillä on vain plug and play -vaihtoehto. Ei enää nastoja ja johdotusongelmia, joten hämmennys on kadonnut. Mikä helpotus, kun vain kuvittelet itsesi lankojen verkkoon ja pääset siihen. Vain yksinkertainen prosessi, jonka mainitsimme.

Huomautus: Ruskean johdon tulee aina seurata maadoitusliitäntää (GND) yhden laitteen ulostulon ja toisen laitteen tulon välillä

Internet -yhteys on elintärkeää

Sinulla on oikeasti valinnanvaraa täällä. Voit yhdistää Raspberry Pi: n LAN -kaapelilla tai langattomalla Nano -USB -sovittimella WiFi -yhteyttä varten. Joka tapauksessa sen päätavoite on muodostaa yhteys Internetiin.

Piirin virta

Liitä Micro USB -kaapeli Raspberry Pi -laitteen virtaliitäntään. Sytytä se ja olemme valmiita lähtemään.

Yhteys näyttöön

Voimme joko liittää HDMI-kaapelin uuteen näyttöön tai tehdä päättömästä Pi: stä, joka on luova ja kustannustehokas käyttämällä etäkäyttöä, kuten SSH/PuTTY. (Tiedän, että meitä ei rahoiteta kuin salainen organisaatio)

Vaihe 3: Raspberry Pi -ohjelmointi Pythonissa

Raspberry Pi -ohjelmointi Pythonissa
Raspberry Pi -ohjelmointi Pythonissa

Raspberry Pi- ja MPL3115A2 -anturin Python -koodi. Se on saatavana Github -arkistostamme.

Ennen kuin jatkat koodia, muista lukea Readme -tiedoston ohjeet ja asentaa Raspberry Pi sen mukaan. Se kestää vain hetken.

Korkeus lasketaan paineesta käyttäen alla olevaa yhtälöä:

h = 44330,77 {1 - (p / p0) ^ 0,1902632} + OFF_H (rekisteriarvo)

Missä p0 = merenpinnan paine (101326 Pa) ja h on metreinä. MPL3115A2 käyttää tätä arvoa, koska siirtorekisteri on määritetty 2 paskaliksi per LSB.

Koodi on selvästi edessäsi ja se on yksinkertaisimmassa muodossa, jonka voit kuvitella, eikä sinulla pitäisi olla ongelmia.

Voit myös kopioida tämän anturin toimivan Python -koodin täältä.

# Jaetaan vapaaehtoisella lisenssillä.# Käytä sitä haluamallasi tavalla, voittoa tai ilmaiseksi, jos se sopii siihen liittyvien teosten lisensseihin. # MPL3115A2 # Tämä koodi on suunniteltu toimimaan MPL3115A2_I2CS I2C Mini -moduulin kanssa, joka on saatavana osoitteesta ControlEverything.com. #

tuoda smbus

tuonnin aika

# Hanki I2C -bussi

väylä = smbus. SMBus (1)

# MPL3115A2 -osoite, 0x60 (96)

# Valitse ohjausrekisteri, 0x26 (38) # 0xB9 (185) Aktiivinen tila, OSR = 128, Korkeusmittari väylä.write_byte_data (0x60, 0x26, 0xB9) # MPL3115A2 -osoite, 0x60 (96) # Valitse datakokoonpanorekisteri, 0x13 (19)) # 0x07 (07) Data ready -tapahtuma käytössä korkeus-, paine-, lämpötila- väylälle.write_byte_data (0x60, 0x13, 0x07) # MPL3115A2 -osoite, 0x60 (96) # Valitse ohjausrekisteri, 0x26 (38) # 0xB9 (185) Aktiivinen tila, OSR = 128, korkeusmittatila bus.write_byte_data (0x60, 0x26, 0xB9)

time.sleep (1)

# MPL3115A2 -osoite, 0x60 (96)

# Lue tiedot takaisin 0x00 (00), 6 tavua # tila, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data (0x60, 0x00, 6)

# Muunna tiedot 20-bittisiksi

tKorkeus = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16 temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16 korkeus = tKorkeus / 16,0 cTemp = lämpötila / 16,0 fTemp = cTemp * 1,8 + 32

# MPL3115A2 -osoite, 0x60 (96)

# Valitse ohjausrekisteri, 0x26 (38) # 0x39 (57) Aktiivinen tila, OSR = 128, Barometritila väylä.write_byte_data (0x60, 0x26, 0x39)

time.sleep (1)

# MPL3115A2 -osoite, 0x60 (96)

# Lue tiedot takaisin 0x00 (00), 4 tavua # tila, esiasetettu MSB1, esivalittu MSB, esiasetettu LSB -data = bus.read_i2c_block_data (0x60, 0x00, 4)

# Muunna tiedot 20-bittisiksi

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

# Tulosta tiedot näytölle

tulosta "Paine: %.2f kPa" %painatus "Korkeus: %.2f m" %korkeuspainatus "Lämpötila celsiusasteina: %.2f C" %cTempitulostus "Lämpötila Fahrenheit: %.2f F" %fTemp

Vaihe 4: Koodin käytännöllisyys (testaus)

Käytännön käytännön (testaus)
Käytännön käytännön (testaus)

Lataa nyt (tai git pull) koodi ja avaa se Raspberry Pi: ssä.

Suorita komennot kääntääksesi ja ladataksesi koodin päätelaitteeseen ja katsoaksesi näytön tuloksen. Muutaman sekunnin kuluttua se näyttää kaikki parametrit. Kun olet varmistanut, että kaikki toimii sujuvasti, voit ottaa tämän projektin isommaksi projektiksi.

Vaihe 5: Sovellukset ja ominaisuudet

MPL3115A2 Precision Altimeter I²C -anturia käytetään yleisesti sovelluksissa, kuten Kartta (Kartta -apu, Navigointi), Magneettinen kompassi tai GPS (GPS -kuolleen laskeminen, GPS -parannus hätäpalveluihin), Korkean tarkkuuden korkeusmittari, Älypuhelimet/tabletit, Henkilökohtaisen elektroniikan korkeusmittari ja satelliitit (sääaseman laitteet/ennuste).

Esimerkiksi mm. hanke Personal Electronics Altimeterin valmistamiseksi, joka mittaa korkeutta, ilmanpainetta ja lämpötilaa Raspberry Pi: n avulla. Henkilökohtaisen elektroniikan korkeusmittari on kokonaisuudessaan melko nopea projekti. Se kestää vain hetken, jos sinulla on kaikki osat etkä improvisoi (tietysti voit!). Painekorkeusmittari on korkeusmittari, joka löytyy useimmista lentokoneista, ja laskuvarjohyppääjät käyttävät ranteeseen asennettuja versioita vastaaviin tarkoituksiin. Retkeilijät ja vuorikiipeilijät käyttävät ranteeseen asennettavia tai käsin pidettäviä korkeusmittaria.

Vaihe 6: Johtopäätös

Toivottavasti tämä projekti inspiroi uusia kokeiluja. Tämä I²C -anturi on uskomattoman monipuolinen, halpa ja helposti saatavilla. Koska se on erittäin muuttuva ohjelma, on mielenkiintoisia tapoja laajentaa tätä projektia ja tehdä siitä vielä parempi. Esimerkiksi korkeusmittari on laite, joka on valinnainen maastoajoneuvoissa navigoinnin helpottamiseksi. Jotkut korkean suorituskyvyn luksusautot, joiden ei koskaan ollut tarkoitus lähteä päällystetyiltä teiltä, käyttävät tätä tekniikkaa. Mukavuutesi vuoksi meillä on YouTubessa mielenkiintoinen video -opetusohjelma, joka saattaa auttaa sinua etsinnässä. Toivottavasti tämä projekti inspiroi uusia kokeiluja.

Suositeltava: