Sisukord:

Kõrgus, rõhk ja temperatuur Raspberry Pi abil MPL3115A2: 6 sammu
Kõrgus, rõhk ja temperatuur Raspberry Pi abil MPL3115A2: 6 sammu

Video: Kõrgus, rõhk ja temperatuur Raspberry Pi abil MPL3115A2: 6 sammu

Video: Kõrgus, rõhk ja temperatuur Raspberry Pi abil MPL3115A2: 6 sammu
Video: 20 товаров для автомобиля с Алиэкспресс, автотовары №32 2024, November
Anonim
Kõrgus, rõhk ja temperatuur Raspberry Pi abil koos MPL3115A2 -ga
Kõrgus, rõhk ja temperatuur Raspberry Pi abil koos MPL3115A2 -ga
Kõrgus, rõhk ja temperatuur Raspberry Pi abil koos MPL3115A2 -ga
Kõrgus, rõhk ja temperatuur Raspberry Pi abil koos MPL3115A2 -ga

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

Vajalikud seadmed, mida vajame
Vajalikud seadmed, mida vajame
Vajalikud seadmed, mida vajame
Vajalikud seadmed, mida vajame
Vajalikud seadmed, mida vajame
Vajalikud seadmed, mida vajame
Vajalikud seadmed, mida vajame
Vajalikud seadmed, mida vajame

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

Riistvaraühendused vooluahela kokkupanekuks
Riistvaraühendused vooluahela kokkupanekuks
Riistvaraühendused vooluahela kokkupanekuks
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 programmeerimine Pythonis
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)

Koodeksi praktilisus (testimine)
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: