Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-23 14:41
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
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
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- 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)
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:
Arduinon sääasema BMP280 -DHT11: n avulla - Lämpötila, kosteus ja paine: 8 vaihetta
Arduinon sääasema käyttämällä BMP280 -DHT11 -laitetta - Lämpötila, kosteus ja paine: Tässä opetusohjelmassa opimme tekemään sääaseman, joka näyttää LÄMPÖTILA, KOSTEUS JA PAINE nestekidenäytössä TFT 7735Katso esittelyvideo
Arduino AMS5812_0050-D-B Paine- ja lämpötila-anturin opetusohjelma: 4 vaihetta
Arduino AMS5812_0050-D-B Paine- ja lämpötila-anturin opetusohjelma: AMS5812 Vahvistettu paineanturi, jossa on analoginen ja digitaalinen lähtö, on erittäin tarkka anturi, jossa on analoginen jännitelähtö ja digitaalinen I2C-liitäntä. Se yhdistää pietsoresistiivisen anturielementin signaalin säätöelementtiin sen toimintaa varten
OXsC-ACW: GUI Customiseur Pour OpenXsensor Pour Multiplex -korkeus/varimetri: 11 vaihetta
OXsC-ACW: GUI Customiseur Pour OpenXsensor Pour Multiplex Korkeus/muuttuja: openXsensor est the valideable, more il n'est pas facile de modifier les param è tres pour quelqu'un qui n'a pas un peu d ’ exp é rience en C. J'ai donc é crit un petit program qui permet de choisir les options via une interface si
Visuino I2C BMP280 Paine, lämpötila+OLED: 7 vaihetta
Visuino I2C BMP280 Paine, lämpötila+OLED: Tässä opetusohjelmassa käytämme I2C BMP280 -paine-, lämpötila -anturia, OLED -lcd: tä, Arduino UNO -laitetta mittaamaan paine ja lämpötila ja näyttämään tulokset nestekidenäytössä. Katso esittelyvideo
Lämpötila, suhteellinen kosteus, ilmakehän paineen mittauslaite Raspberry Pi- ja TE-yhteyksien avulla MS8607-02BA01: 22 vaihetta (kuvien kanssa)
Lämpötila, suhteellinen kosteus, ilmakehän paineen mittauslaite Raspberry Pi- ja TE Connectivity -laitteiden avulla MS8607-02BA01: Johdanto: Tässä projektissa näytän sinulle, kuinka rakentaa asennus vaiheittain kirjausjärjestelmä lämpötilan kosteuden ja ilmanpaineen mittaamiseksi. Tämä projekti perustuu Raspberry Pi 3 Model B- ja TE Connectivity -ympäristöanturisiruun MS8607-02BA