Satura rādītājs:

Augstums, spiediens un temperatūra, izmantojot Raspberry Pi ar MPL3115A2: 6 soļi
Augstums, spiediens un temperatūra, izmantojot Raspberry Pi ar MPL3115A2: 6 soļi

Video: Augstums, spiediens un temperatūra, izmantojot Raspberry Pi ar MPL3115A2: 6 soļi

Video: Augstums, spiediens un temperatūra, izmantojot Raspberry Pi ar MPL3115A2: 6 soļi
Video: 20 товаров для автомобиля с Алиэкспресс, автотовары №32 2024, Jūlijs
Anonim
Augstums, spiediens un temperatūra, izmantojot Raspberry Pi ar MPL3115A2
Augstums, spiediens un temperatūra, izmantojot Raspberry Pi ar MPL3115A2
Augstums, spiediens un temperatūra, izmantojot Raspberry Pi ar MPL3115A2
Augstums, spiediens un temperatūra, izmantojot Raspberry Pi ar MPL3115A2

Izklausās interesanti. Tas ir pilnīgi iespējams šajā laikā, kad mēs visi nonākam IoT paaudzē. Kā elektronikas ķēms mēs spēlējāmies ar Raspberry Pi un nolēmām izveidot interesantus projektus, izmantojot šīs zināšanas. Šajā projektā mēs izmērīsim augstumu, gaisa spiedienu, temperatūru, izmantojot Raspberry Pi. Tātad šeit ir dokumentācija (vienmēr tiek mainīta un paplašināta). Mēs iesakām sākt ar norādījumu izpildi un nokopēt kodu. Vēlāk varat eksperimentēt. Tātad sāksim darbu.

1. darbība. Nepieciešamais nepieciešamais aprīkojums

Nepieciešams obligāts aprīkojums
Nepieciešams obligāts aprīkojums
Nepieciešams obligāts aprīkojums
Nepieciešams obligāts aprīkojums
Nepieciešams obligāts aprīkojums
Nepieciešams obligāts aprīkojums
Nepieciešams obligāts aprīkojums
Nepieciešams obligāts aprīkojums

1. Aveņu Pi

Pirmais solis bija Raspberry Pi dēļa iegūšana. Mēs iegādājāmies savu un arī jūs. Sācām mācīties no apmācībām, mēs sapratām skriptu un savienojumu jēdzienus un mācījāmies pēc tam. Šis mazais ģēnijs ir ierasts hobijiem, skolotājiem un novatoriskas vides veidošanā.

2. I²C vairogs Raspberry Pi

INPI2 (I2C adapteris) nodrošina Raspberry Pi 2/3 an I²C portu lietošanai ar vairākām I2C ierīcēm. Tas ir pieejams Dcube veikalā

3. Altimetrs, spiediena un temperatūras sensors, MPL3115A2

MPL3115A2 ir MEMS spiediena sensors ar I²C saskarni, lai sniegtu datus par spiedienu/augstumu un temperatūru. Šis sensors saziņai izmanto I²C protokolu. Šo sensoru iegādājāmies Dcube veikalā

4. Savienojošais kabelis

Mums bija pieejams Ic savienošanas kabelis Dcube veikalā

5. Mikro USB kabelis

Mikro USB kabelis Barošanas avots ir ideāla izvēle Raspberry Pi barošanai.

6. Interneta piekļuves uzlabošana - Ethernet kabelis/WiFi adapteris

Šajā laikmetā, lai piekļūtu jebkuram, ir nepieciešams interneta savienojums (gandrīz tāpat kā dzīve bezsaistē). Tāpēc mēs ņemam vērā LAN kabeļa vai bezvadu nano USB adaptera (WiFi) padomu, lai izveidotu interneta savienojumu, lai mēs varētu ērti un bez problēmām izmantot savu Rasp Pi.

7. HDMI kabelis (pēc izvēles, jūsu izvēle)

Tas ir mazliet viltīgi. Ja vēlaties, varat pieslēgt citu monitoru vai tas ir ļoti rentabli, izveidojot Pi savienojumu bez galvas ar datoru/klēpjdatoru.

2. darbība. Aparatūras savienojumi ķēdes salikšanai

Aparatūras savienojumi ķēdes salikšanai
Aparatūras savienojumi ķēdes salikšanai
Aparatūras savienojumi ķēdes salikšanai
Aparatūras savienojumi ķēdes salikšanai

Izveidojiet ķēdi saskaņā ar parādīto shēmu. Kopumā savienojumi ir ļoti vienkārši. Izpildiet norādījumus un attēlus, un jums nevajadzētu rasties problēmām.

Plānojot, mēs apskatījām aparatūru un kodēšanu, kā arī elektronikas pamatus. Mēs vēlējāmies šim projektam izveidot vienkāršu elektronikas shēmu. Diagrammā jūs varat pamanīt dažādas detaļas, barošanas komponentus un I²C sensoru, ievērojot I²C sakaru protokolus. Cerams, ka tas parāda, cik vienkārša ir šī projekta elektronika.

Raspberry Pi un I2C Shield savienojums

Vispirms paņemiet Raspberry Pi un novietojiet uz tā I²C vairogu. Viegli nospiediet vairogu (skatiet attēlu).

Sensora un Raspberry Pi savienojums

Paņemiet sensoru un pievienojiet tam I²C kabeli. Pārliecinieties, vai I²C izeja VIENMĒR ir savienota ar I²C ieeju. Tam jāseko arī Raspberry Pi ar tam piestiprināto I²C vairogu. Mūsu pusē ir ļoti liela priekšrocība I²C Shield un I²C savienojošie kabeļi, jo mums paliek tikai plug and play iespēja. Vairs nav problēmu ar tapām un vadiem, un līdz ar to apjukums ir pazudis. Kāds atvieglojums ir iedomāties sevi vadu tīklā un tajā iekļūt. Vienkāršs process, ko mēs jau minējām.

Piezīme. Brūnajam vadam vienmēr jāseko zemējuma (GND) savienojumam starp vienas ierīces izeju un citas ierīces ieeju

Interneta savienojums ir būtisks

Patiesībā jums šeit ir izvēle. Raspberry Pi var savienot ar LAN kabeli vai bezvadu Nano USB adapteri, lai izveidotu WiFi savienojumu. Jebkurā gadījumā tā galvenais mērķis bija izveidot savienojumu ar internetu.

Ķēdes barošana

Pievienojiet Micro USB kabeli Raspberry Pi barošanas ligzdai. Iededziet to, un mums ir labi doties.

Savienojums ar ekrānu

Mēs varam vai nu savienot HDMI kabeli ar jaunu monitoru, vai arī izveidot bezgalvu Pi, kas ir radošs un rentabls, izmantojot attālo piekļuvi, piemēram, SSH/PuTTY. (Es zinu, ka mēs netiekam finansēti kā slepena organizācija)

3. darbība: Raspberry Pi programmēšana programmā Python

Raspberry Pi programmēšana Python
Raspberry Pi programmēšana Python

Raspberry Pi un MPL3115A2 sensora Python kods. Tas ir pieejams mūsu Github krātuvē.

Pirms turpināt kodu, noteikti izlasiet Readme failā sniegtos norādījumus un iestatiet Raspberry Pi atbilstoši tam. Tas prasīs tikai mirkli, lai to izdarītu.

Augstumu aprēķina pēc spiediena, izmantojot zemāk redzamo vienādojumu:

h = 44330,77 {1 - (p / p0) ^ 0,1902632} + OFF_H (reģistra vērtība)

Kur p0 = jūras līmeņa spiediens (101326 Pa) un h ir metros. MPL3115A2 izmanto šo vērtību, jo nobīdes reģistrs ir definēts kā 2 Pascals uz LSB.

Kods ir skaidri redzams jūsu priekšā, un tas ir visvienkāršākajā formā, kādu varat iedomāties, un jums nevajadzētu rasties problēmām.

Arī no šejienes varat nokopēt šī sensora darba Python kodu.

# Izplatīts ar brīvās gribas licenci.# Izmantojiet to, kā vēlaties, gūstiet peļņu vai bez maksas, ja tas iekļaujas saistīto darbu licencēs. # MPL3115A2 # Šis kods ir paredzēts darbam ar MPL3115A2_I2CS I2C mini moduli, kas pieejams vietnē ControlEverything.com. #

importēt smbus

importa laiks

# Iegūstiet I2C autobusu

autobuss = smbus. SMBus (1)

# MPL3115A2 adrese, 0x60 (96)

# Atlasiet vadības reģistru, 0x26 (38) # 0xB9 (185) Aktīvais režīms, OSR = 128, Augstuma mērītāja režīms bus.write_byte_data (0x60, 0x26, 0xB9) # MPL3115A2 adrese, 0x60 (96) # Izvēlieties datu konfigurācijas reģistru, 0x13 (19)) # 0x07 (07) Datu gatavības notikums ir iespējots augstumam, spiedienam, temperatūrai kopne.write_byte_data (0x60, 0x13, 0x07) # MPL3115A2 adrese, 0x60 (96) # Atlasiet vadības reģistru, 0x26 (38) # 0xB9 (185) Aktīvais režīms, OSR = 128, altimetra režīma kopne.write_byte_data (0x60, 0x26, 0xB9)

laiks. miegs (1)

# MPL3115A2 adrese, 0x60 (96)

# Nolasīt datus no 0x00 (00), 6 baiti # statuss, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data (0x60, 0x00, 6)

# Konvertējiet datus uz 20 bitiem

tAugstums = ((dati [1] * 65536) + (dati [2] * 256) + (dati [3] un 0xF0)) / 16 temp = ((dati [4] * 256) + (dati [5] & 0xF0)) / 16 augstums = tAugstums / 16,0 cTemp = temp / 16,0 fTemp = cTemp * 1,8 + 32

# MPL3115A2 adrese, 0x60 (96)

# Atlasiet vadības reģistru, 0x26 (38) # 0x39 (57) Aktīvais režīms, OSR = 128, Barometra režīma kopne.write_byte_data (0x60, 0x26, 0x39)

laiks. miegs (1)

# MPL3115A2 adrese, 0x60 (96)

# Lasīt datus no 0x00 (00), 4 baiti # statuss, iepriekš MSB1, iepriekš MSB, iepriekš LSB dati = bus.read_i2c_block_data (0x60, 0x00, 4)

# Konvertējiet datus uz 20 bitiem

pres = ((dati [1] * 65536) + (dati [2] * 256) + (dati [3] un 0xF0)) / 16 spiediens = (pres / 4,0) / 1000,0

# Izvadiet datus ekrānā

drukāt "Spiediens: %.2f kPa" %spiediena druka "Augstums: %.2f m" %augstuma druka "Temperatūra pēc Celsija: %.2f C" %cTemp drukāt "Temperatūra pēc Fārenheita: %.2f F" %fTemp

4. darbība. Kodeksa praktiskums (pārbaude)

Kodeksa praktiskums (testēšana)
Kodeksa praktiskums (testēšana)

Tagad lejupielādējiet (vai git pull) kodu un atveriet to Raspberry Pi.

Palaidiet komandas, lai apkopotu un augšupielādētu kodu terminālī, un skatiet monitora izvadi. Pēc dažām sekundēm tas parādīs visus parametrus. Pēc tam, kad esat pārliecinājies, ka viss darbojas nevainojami, varat pārņemt šo projektu lielākā projektā.

5. darbība: lietojumprogrammas un līdzekļi

MPL3115A2 precīzā altimetra I²C sensoru parasti izmanto tādās lietojumprogrammās kā karte (karšu palīgs, navigācija), magnētiskais kompass vai GPS (GPS mirgošana, GPS uzlabošana neatliekamās palīdzības dienestiem), augstas precizitātes altimetrija, viedtālruņi/planšetdatori, personīgās elektronikas augstuma mērīšana un satelīti (meteoroloģisko staciju aprīkojums/prognozēšana).

Par piem. projekts personīgās elektronikas altimetra izgatavošanai, kas mēra augstumu, gaisa spiedienu, temperatūru, izmantojot Raspberry Pi. Personīgās elektronikas altimetrs ir diezgan ātri izveidojams projekts. Tas aizņems tikai dažus mirkļus, ja jums ir visas detaļas un neimprovizējat (protams, varat!). Spiediena altimetrs ir altimetrs, kas atrodams lielākajā daļā lidmašīnu, un izpletņlēcēji līdzīgiem mērķiem izmanto uz rokas uzstādītas versijas. Pārgājēji un alpīnisti izmanto plaukstas vai rokas altimetrus.

6. darbība. Secinājums

Ceru, ka šis projekts iedvesmo turpmākus eksperimentus. Šis I²C sensors ir neticami universāls, lēts un pieejams. Tā kā tā ir ārkārtīgi mainīga programma, ir interesanti veidi, kā šo projektu pagarināt un padarīt to vēl labāku. Piemēram, altimetrs ir instruments, kas nav obligāts apvidus transportlīdzekļos, lai atvieglotu navigāciju. Dažas augstas veiktspējas luksusa automašīnas, kurām nekad nebija paredzēts atstāt asfaltētus ceļus, izmanto šo tehnoloģiju. Jūsu ērtībai mums ir interesanta video pamācība pakalpojumā YouTube, kas varētu palīdzēt jūsu izpētei. Ceru, ka šis projekts iedvesmo turpmākus eksperimentus.

Ieteicams: