Sisukord:
- Samm: vajalikud seadmed
- Samm: riistvaraühendused vooluahela kokkupanekuks
- Samm: Raspberry Pi programmeerimine Pythonis
- 4. samm: koodeksi praktilisus (testimine)
- Samm: rakendused ja funktsioonid
- 6. samm: järeldus
Video: Kõrgus, rõhk ja temperatuur Raspberry Pi abil MPL3115A2: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
Kõlab huvitavalt. See on täiesti võimalik sel ajal, kui me kõik läheme IoT põlvkonda. Elektroonikafriigina oleme mänginud Raspberry Pi -ga ja otsustasime neid teadmisi kasutades huvitavaid projekte teha. Selles projektis mõõdame kõrgust, õhurõhku, temperatuuri Raspberry Pi abil. Nii et siin on dokumentatsioon (alati muudetud ja laiendatud). Soovitame alustada juhiste järgimisega ja kood kopeerida. Hiljem saate katsetada. Nii et alustame.
Samm: vajalikud seadmed
1. Vaarika Pi
Esimene samm oli Raspberry Pi tahvli hankimine. Meie ostsime oma ja teie saate ka. Hakkasime õppima õpetustest, saime aru skriptimisest ja ühendamise kontseptsioonidest ning õppisime hiljem. See väike geenius on harrastajatele, õpetajatele ja uuenduslike keskkondade loomisel tavaline.
2. I²C kilp Raspberry Pi jaoks
INPI2 (I2C adapter) pakub Raspberry Pi 2/3 an I²C porti kasutamiseks mitme I2C seadmega. See on saadaval Dcube'i poes
3. Kõrgusmõõtur, rõhu- ja temperatuuriandur, MPL3115A2
MPL3115A2 on IEM -liidesega MEMS -rõhuandur, mis annab andmed rõhu/kõrguse ja temperatuuri kohta. See andur kasutab suhtlemiseks I²C protokolli. Ostsime selle anduri Dcube Store'ist
4. Ühenduskaabel
Meil oli IcC ühenduskaabel saadaval Dcube Store'is
5. Mikro -USB -kaabel
Mikro -USB -kaabel Toiteallikas on ideaalne valik Raspberry Pi toiteks.
6. Interneti -juurdepääsu parandamine - Etherneti kaabel/WiFi -adapter
Sel ajastul vajab kõigele juurdepääsu saamine Interneti -ühendust (peaaegu nagu ka elu võrguühenduseta). Seetõttu võtame Interneti -ühenduse loomiseks nõu LAN -kaabli või traadita nano -USB -adapteri (WiFi) kohta, et saaksime oma Rasp Pi -d hõlpsalt ja probleemideta kasutada.
7. HDMI -kaabel (valikuline, teie valik)
See on natuke keeruline. Kui soovite, võite soovi korral teise monitori külge kinnitada või see on teie jaoks väga tasuv, luues arvutiga/sülearvutiga peata Pi-ühenduse.
Samm: riistvaraühendused vooluahela kokkupanekuks
Tehke skeem vastavalt näidatud skeemile. Üldiselt on ühendused väga lihtsad. Järgige juhiseid ja pilte ning probleeme ei tohiks tekkida.
Planeerides vaatasime riistvara ja kodeerimist ning elektroonika põhitõdesid. Tahtsime selle projekti jaoks välja töötada lihtsa elektroonika skeemi. Diagrammil näete erinevaid osi, toiteelemente ja I²C andurit, mis järgivad I²C sideprotokolle. Loodetavasti illustreerib see, kui lihtne on selle projekti elektroonika.
Raspberry Pi ja I2C Shield ühendus
Kõigepealt võtke Raspberry Pi ja asetage sellele I²C kilp. Vajutage õrnalt kaitsekilbile (vt pilti).
Anduri ja Raspberry Pi ühendamine
Võtke andur ja ühendage sellega I²C kaabel. Veenduge, et I²C väljund ühendaks ALATI I²C sisendiga. Sama peab järgima ka Raspberry Pi, millele on paigaldatud I²C kilp. Meil on I²C Shield ja I²C ühenduskaablid meie kõrval väga suure eelisena, kuna meil on ainult plug and play võimalus. Enam pole tihvtide ja juhtmetega probleeme ning seega on segadus kadunud. Milline kergendus, kui kujutate end lihtsalt juhtmete võrku ja sellesse sattumist. Lihtsalt lihtne protsess, mida me mainisime.
Märkus. Pruun juhe peaks alati järgima maandusühendust (GND) ühe seadme väljundi ja teise seadme sisendi vahel
Internetiühendus on ülioluline
Siin on sul tegelikult valik. Raspberry Pi saate ühendada LAN -kaabli või traadita WiFi -ühenduse jaoks mõeldud USB -nanoadapteriga. Igatahes oli selle peamine eesmärk Interneti -ühenduse loomine.
Vooluahela toide
Ühendage mikro -USB -kaabel Raspberry Pi pistikupessa. Pange see põlema ja meil on hea minna.
Ühendus ekraaniga
Meil võib olla HDMI-kaabel ühendatud uue kuvariga või saame teha oma peata Pi, mis on loominguline ja kulutõhus, kasutades kaugjuurdepääsu nagu SSH/PuTTY. (Ma tean, et meid ei rahastata nagu salaorganisatsiooni)
Samm: Raspberry Pi programmeerimine Pythonis
Raspberry Pi ja MPL3115A2 anduri Pythoni kood. See on saadaval meie Githubi hoidlas.
Enne koodi juurde asumist lugege kindlasti läbi lugemisfailis antud juhised ja seadistage oma Raspberry Pi vastavalt sellele. Selleks kulub vaid hetk.
Kõrgus arvutatakse rõhu põhjal, kasutades järgmist võrrandit:
h = 44330,77 {1 - (p / p0) ^ 0,1902632} + OFF_H (registreerimisväärtus)
Kus p0 = merepinna rõhk (101326 Pa) ja h on meetrites. MPL3115A2 kasutab seda väärtust, kuna nihkeregister on määratletud kui 2 paskalit LSB kohta.
Kood on selgelt teie ees ja see on kõige lihtsamal kujul, mida võite ette kujutada, ja teil ei tohiks probleeme olla.
Siit saate kopeerida ka selle anduri töötava Pythoni koodi.
# Levitatakse vabatahtliku litsentsiga.# Kasutage seda nii, nagu soovite, kasumit teenides või tasuta, kui see sobib sellega seotud teoste litsentsidega. # MPL3115A2 # See kood on loodud töötama koos MPL3115A2_I2CS I2C minimooduliga, mis on saadaval saidil ControlEverything.com. #
import smbus
impordi aeg
# Hankige I2C buss
buss = smbus. SMBus (1)
# MPL3115A2 aadress, 0x60 (96)
# Valige juhtregister, 0x26 (38) # 0xB9 (185) Aktiivne režiim, OSR = 128, Kõrgusmõõturi režiim bus.write_byte_data (0x60, 0x26, 0xB9) # MPL3115A2 aadress, 0x60 (96) # Andmekonfiguratsiooni registri valimine, 0x13 (19)) # 0x07 (07) Andmevalmis sündmus on lubatud kõrguse, rõhu, temperatuuri bussi jaoks. Write_byte_data (0x60, 0x13, 0x07) # MPL3115A2 aadress, 0x60 (96) # Vali juhtregister, 0x26 (38) # 0xB9 (185) Aktiivne režiim, OSR = 128, kõrgusmõõturi režiim siin.write_byte_data (0x60, 0x26, 0xB9)
aeg. uni (1)
# MPL3115A2 aadress, 0x60 (96)
# Andmete lugemine tagasi 0x00 (00), 6 baiti # olek, tKõrgus MSB1, tKõrgus MSB, tKõrgus LSB, temp MSB, temp LSB andmed = bus.read_i2c_block_data (0x60, 0x00, 6)
# Teisendage andmed 20-bitisteks
tKõrgus = ((andmed [1] * 65536) + (andmed [2] * 256) + (andmed [3] ja 0xF0)) / 16 temp = ((andmed [4] * 256) + (andmed [5] & 0xF0)) / 16 kõrgust = tKõrgus / 16,0 cTemp = temp / 16,0 fTemp = cTemp * 1,8 + 32
# MPL3115A2 aadress, 0x60 (96)
# Valige juhtregister, 0x26 (38) # 0x39 (57) Aktiivne režiim, OSR = 128, baromeetrirežiimi buss.write_byte_data (0x60, 0x26, 0x39)
aeg. uni (1)
# MPL3115A2 aadress, 0x60 (96)
# Andmete lugemine tagasi 0x00 (00), 4 baiti # olek, eelnev MSB1, eel MSB, eel LSB andmed = bus.read_i2c_block_data (0x60, 0x00, 4)
# Teisendage andmed 20-bitisteks
pres = ((andmed [1] * 65536) + (andmed [2] * 256) + (andmed [3] ja 0xF0)) / 16 rõhk = (pres / 4,0) / 1000,0
# Väljastage andmed ekraanile
print "Rõhk: %.2f kPa" %rõhutrükk "Kõrgus: %.2f m" %kõrguse print "Temperatuur Celsiuse järgi: %.2f C" %cTemp print "Temperatuur Fahrenheiti järgi: %.2f F" %fTemp
4. samm: koodeksi praktilisus (testimine)
Nüüd laadige kood alla (või tõmmake see alla) ja avage see Raspberry Pi -s.
Käivitage terminali koodi kompileerimise ja üleslaadimise käsud ning vaadake monitori väljundit. Mõne sekundi pärast kuvatakse kõik parameetrid. Kui olete veendunud, et kõik töötab tõrgeteta, saate selle projekti võtta suuremaks projektiks.
Samm: rakendused ja funktsioonid
MPL3115A2 täpset altimeetrit I²C kasutatakse laialdaselt sellistes rakendustes nagu Kaart (Kaardiabi, Navigeerimine), Magnetkompass või GPS (GPS -i surnud arvestus, GPS -i täiustamine hädaabiteenuste jaoks), Kõrge täpsusega Kõrgusmõõtmine, Nutitelefonid/tahvelarvutid, Isikliku elektroonika kõrguse mõõtmine ja satelliidid (ilmajaamade varustus/prognoosimine).
Näiteks nt. isikliku elektroonika altimeetri valmistamise projekt, mis mõõdab kõrgust, õhurõhku, temperatuuri Raspberry Pi abil. Personaalelektroonika altimeeter on kokkuehitamisel üsna kiire projekt. See võtab vaid mõne hetke, kui teil on kõik osad ja te ei improviseeri (muidugi saate!). Survekõrgusmõõtur on kõrgusmõõtur, mida leidub enamikus lennukites ja langevarjurid kasutavad sarnastel eesmärkidel randmele kinnitatud versioone. Matkajad ja mägironijad kasutavad randmele või käeshoitavaid altimeetreid.
6. samm: järeldus
Loodetavasti inspireerib see projekt edasisi katsetusi. See I²C andur on uskumatult mitmekülgne, odav ja ligipääsetav. Kuna see on äärmiselt muutlik programm, on selle projekti laiendamiseks ja veelgi paremaks muutmiseks huvitavaid viise. Näiteks kõrgusmõõtur on maastikusõidukites lisavarustus, mis aitab navigeerida. Seda tehnoloogiat kasutavad mõned suure jõudlusega luksusautod, mille eesmärk ei olnud kunagi asfalteeritud teedelt lahkuda. Teie mugavuse huvides on meil YouTube'is huvitav videoõpetus, mis võib teie uurimistööle kaasa aidata. Loodetavasti inspireerib see projekt edasisi katsetusi.
Soovitan:
Arduino ilmajaam BMP280 -DHT11 abil - temperatuur, niiskus ja rõhk: 8 sammu
Arduino ilmajaam BMP280 -DHT11 abil - temperatuur, niiskus ja rõhk: Selles õpetuses õpime, kuidas teha ilmajaama, mis kuvab LCD -ekraanil TEMPERATUUR, niiskus ja rõhk TFT 7735
Visuino I2C BMP280 rõhk, temperatuur+OLED: 7 sammu
Visuino I2C BMP280 rõhk, temperatuur+OLED: selles õpetuses kasutame I2C BMP280 rõhku, temperatuuriandurit, OLED LCD -d, Arduino UNO -d, et mõõta rõhku ja temperatuuri ning kuvada tulemused LCD -ekraanil. Vaata näidisvideot
Raspberry Pi kasutamine, mõõtke kõrgust, rõhku ja temperatuuri MPL3115A2 abil: 6 sammu
Raspberry Pi kasutamine, kõrguse, rõhu ja temperatuuri mõõtmine MPL3115A2 abil: teadke, mis teile kuulub, ja teadke, miks see teile kuulub! See on intrigeeriv. Me elame Interneti -automatiseerimise ajastul, kuna see sukeldub paljude uute rakenduste hulka. Arvuti- ja elektroonikahuvilistena oleme Raspberry Pi abil palju õppinud
Kella tegemine M5stick C abil Arduino IDE abil RTC reaalajas kell M5stack M5stick-C abil: 4 sammu
Kella tegemine M5stick C abil, kasutades Arduino IDE | RTC reaalajas kell koos M5stack M5stick-C-ga: Tere, selles juhendis olevad poisid, me õpime, kuidas Arduino IDE abil kella m5stick-C arendusplaadiga teha. Nii kuvab m5stick kuupäeva, kellaaja ja amp; kuunädal ekraanil
Temperatuur, suhteline niiskus, atmosfäärirõhu logija Raspberry Pi ja TE Connectivity abil MS8607-02BA01: 22 sammu (koos piltidega)
Temperatuur, suhteline õhuniiskus, atmosfäärirõhu logija Raspberry Pi ja TE Connectivity abil MS8607-02BA01: Sissejuhatus: Selles projektis näitan teile, kuidas luua samm-sammult seadistust temperatuuri niiskuse ja õhurõhu logimissüsteemi jaoks. See projekt põhineb Raspberry Pi 3 mudelil B ja TE Connectivity keskkonnaanduri kiibil MS8607-02BA