Cuprins:

Altitudine, presiune și temperatură folosind Raspberry Pi cu MPL3115A2: 6 pași
Altitudine, presiune și temperatură folosind Raspberry Pi cu MPL3115A2: 6 pași

Video: Altitudine, presiune și temperatură folosind Raspberry Pi cu MPL3115A2: 6 pași

Video: Altitudine, presiune și temperatură folosind Raspberry Pi cu MPL3115A2: 6 pași
Video: Ce temperatura trebuie sa aiba apa in centrala? | CasaSiDesign.ro 2024, Iulie
Anonim
Altitudine, presiune și temperatură folosind Raspberry Pi cu MPL3115A2
Altitudine, presiune și temperatură folosind Raspberry Pi cu MPL3115A2
Altitudine, presiune și temperatură folosind Raspberry Pi cu MPL3115A2
Altitudine, presiune și temperatură folosind Raspberry Pi cu MPL3115A2

Sună interesant. Este foarte posibil în acest moment când toți intrăm în generația IoT. În calitate de ciudat al electronicii, ne-am jucat cu Raspberry Pi și am decis să facem proiecte interesante folosind aceste cunoștințe. În acest proiect, vom măsura altitudinea, presiunea aerului, temperatura folosind Raspberry Pi. Deci, aici merge documentația (fiind mereu modificată și extinsă). Vă recomandăm să începeți cu urmarea instrucțiunilor și să copiați codul. Puteți experimenta mai târziu. Deci sa începem.

Pasul 1: Echipament imperativ de care avem nevoie

Echipament imperativ de care avem nevoie
Echipament imperativ de care avem nevoie
Echipament imperativ de care avem nevoie
Echipament imperativ de care avem nevoie
Echipament imperativ de care avem nevoie
Echipament imperativ de care avem nevoie
Echipament imperativ de care avem nevoie
Echipament imperativ de care avem nevoie

1. Raspberry Pi

Primul pas a fost obținerea unei plăci Raspberry Pi. Am achiziționat-o pe a noastră și la fel și dvs. Am început să învățăm din tutoriale, am înțeles conceptele de scriptare și conexiune și am învățat ulterior. Acest mic geniu este comun pentru pasionați, profesori și în crearea de medii inovatoare.

2. Scut I²C pentru Raspberry Pi

INPI2 (adaptor I2C) oferă Raspberry Pi 2/3 un port I²C pentru utilizare cu mai multe dispozitive I2C. Este disponibil pe Dcube Store

3. Altimetru, senzor de presiune și temperatură, MPL3115A2

MPL3115A2 este un senzor de presiune MEMS cu o interfață I²C pentru a oferi date de presiune / altitudine și temperatură. Acest senzor utilizează protocolul I²C pentru comunicare. Am achiziționat acest senzor de la Dcube Store

4. Cablu de conectare

Aveam cablul de conectare I2C disponibil la Dcube Store

5. Cablu micro USB

Cablul micro USB Sursa de alimentare este o alegere ideală pentru alimentarea Raspberry Pi.

6. Îmbunătățirea accesului la Internet - cablu Ethernet / adaptor WiFi

În această epocă, accesul la orice are nevoie de o conexiune la internet (aproape că există viață și offline). Așadar, luăm sfatul unui cablu LAN sau a unui adaptor Wireless Nano USB (WiFi) pentru a construi conexiunea la internet, astfel încât să putem folosi Rasp Pi cu ușurință și fără niciun fel de problemă.

7. Cablu HDMI (opțional, la alegerea dvs.)

Este cam dificil. Puteți avea puterea de a atașa un alt monitor, dacă doriți sau este foarte rentabil pentru dvs., făcând o conexiune Pi fără cap cu computerul / laptopul.

Pasul 2: Conexiuni hardware pentru a pune împreună circuitul

Conexiuni hardware pentru a pune împreună circuitul
Conexiuni hardware pentru a pune împreună circuitul
Conexiuni hardware pentru a pune împreună circuitul
Conexiuni hardware pentru a pune împreună circuitul

Realizați circuitul conform schemei prezentate. În general, conexiunile sunt foarte simple. Urmați instrucțiunile și imaginile și nu ar trebui să aveți probleme.

În timp ce planificam, ne-am uitat la hardware și codificare, precum și la elementele de bază ale electronicii. Am vrut să proiectăm o schemă electronică simplă pentru acest proiect. În diagramă, puteți observa diferitele părți, componente de putere și senzor I²C urmând protocoalele de comunicație I²C. Sperăm că acest lucru ilustrează cât de simplă este electronica pentru acest proiect.

Conexiunea Raspberry Pi și I2C Shield

În primul rând, luați Raspberry Pi și așezați scutul I²C pe el. Apăsați ușor Shield (Vedeți imaginea).

Conexiunea senzorului și a Raspberry Pi

Luați senzorul și conectați cablul I²C cu acesta. Asigurați-vă că ieșirea I²C se conectează ÎNTOTDEAUNA la intrarea I²C. La fel urmează Raspberry Pi cu scutul I²C montat deasupra. Avem cablurile de conectare I²C și I²C pe partea noastră ca un avantaj foarte mare, deoarece rămân doar cu opțiunea plug and play. Nu mai există probleme legate de cabluri și, prin urmare, dispariția a dispărut. Ce ușurare, doar să te imaginezi în rețeaua de fire și să intri în asta. Doar procesul simplu pe care l-am menționat.

Notă: firul maro trebuie să urmeze întotdeauna conexiunea la masă (GND) între ieșirea unui dispozitiv și intrarea unui alt dispozitiv

Conectivitatea la Internet este vitală

Ai de fapt o alegere aici. Puteți conecta Raspberry Pi cu cablul LAN sau adaptorul Nano USB wireless pentru conectivitate WiFi. Oricum, a avut ca scop principal să se conecteze la internet.

Alimentarea circuitului

Conectați cablul Micro USB la mufa de alimentare a Raspberry Pi. Aprinde-l și suntem bine să plecăm.

Conexiune la ecran

Putem avea cablul HDMI conectat la un monitor nou sau ne putem transforma Pi-ul fără cap, care este creativ și rentabil, folosind accesul de la distanță, cum ar fi SSH / PuTTY. (Știu că nu suntem finanțați ca o organizație secretă)

Pasul 3: Programarea Raspberry Pi în Python

Programare Raspberry Pi în Python
Programare Raspberry Pi în Python

Codul Python pentru senzorul Raspberry Pi și MPL3115A2. Este disponibil în depozitul nostru Github.

Înainte de a trece la cod, asigurați-vă că ați citit instrucțiunile date în fișierul Readme și configurați Raspberry Pi conform acestuia. Va dura doar un moment pentru a face acest lucru.

Altitudinea este calculată din presiune utilizând ecuația de mai jos:

h = 44330.77 {1 - (p / p0) ^ 0.1902632} + OFF_H (Valoare înregistrare)

Unde p0 = presiunea nivelului mării (101326 Pa) și h este în metri. MPL3115A2 folosește această valoare, deoarece registrul de compensare este definit ca 2 Pascali per LSB.

Codul este clar în fața ta și este în cea mai simplă formă pe care ți-o poți imagina și nu ar trebui să ai probleme.

Puteți copia codul Python funcțional pentru acest senzor și de aici.

# Distribuit cu o licență de voință liberă. # Folosiți-o în orice mod doriți, profit sau gratuit, cu condiția să se încadreze în licențele lucrărilor sale asociate. # MPL3115A2 # Acest cod este conceput pentru a funcționa cu Mini-modulul MPL3115A2_I2CS I2C disponibil de pe ControlEverything.com. #

import smbus

timpul de import

# Ia autobuzul I2C

autobuz = smbus. SMBus (1)

# Adresă MPL3115A2, 0x60 (96)

# Selectați registrul de control, 0x26 (38) # 0xB9 (185) Mod activ, OSR = 128, modul Altimetru bus.write_byte_data (0x60, 0x26, 0xB9) # Adresă MPL3115A2, 0x60 (96) # Selectați registrul de configurare a datelor, 0x13 (19)) # 0x07 (07) Eveniment pregătit pentru date activat pentru altitudine, presiune, temperatură bus.write_byte_data (0x60, 0x13, 0x07) # Adresă MPL3115A2, 0x60 (96) # Selectați registrul de control, 0x26 (38) # 0xB9 (185) Mod activ, OSR = 128, modul altimetru bus.write_byte_data (0x60, 0x26, 0xB9)

time.sleep (1)

# Adresă MPL3115A2, 0x60 (96)

# Citiți datele înapoi de la 0x00 (00), 6 octeți # stare, tHight MSB1, tHight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data (0x60, 0x00, 6)

# Convertiți datele în 20 de biți

tHeight = ((date [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16 temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16 altitudine = t Înălțime / 16,0 cTemp = temp / 16,0 fTemp = cTemp * 1,8 + 32

# Adresă MPL3115A2, 0x60 (96)

# Selectați registrul de control, 0x26 (38) # 0x39 (57) Mod activ, OSR = 128, Mod barometru bus.write_byte_data (0x60, 0x26, 0x39)

time.sleep (1)

# Adresă MPL3115A2, 0x60 (96)

# Citirea datelor înapoi de la 0x00 (00), 4 octeți # stare, pres MSB1, pres MSB, pres LSB data = bus.read_i2c_block_data (0x60, 0x00, 4)

# Convertiți datele în 20 de biți

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

# Ieșire date pe ecran

print "Presiune:%.2f kPa"% presiune print "Altitudine:%.2f m"% altitudine print "Temperatura în Celsius:%.2f C"% cTemp print "Temperatura în Fahrenheit:%.2f F"% fTemp

Pasul 4: Practicitatea codului (testare)

Practicitatea codului (testare)
Practicitatea codului (testare)

Acum, descărcați (sau git pull) codul și deschideți-l în Raspberry Pi.

Rulați comenzile pentru a compila și încărca codul în terminal și vedeți ieșirea pe monitor. După câteva secunde, va afișa toți parametrii. După ce vă asigurați că totul funcționează fără probleme, puteți duce acest proiect într-un proiect mai mare.

Pasul 5: Aplicații și caracteristici

Utilizarea obișnuită a senzorului MPL3115A2 de precizie Altimetru I²C este în aplicații precum Hartă (Asistență hartă, Navigare), Busolă magnetică, Sau GPS (GPS Dead Reckoning, GPS Enhancement for Emergency Services), Altimetrie de înaltă precizie, Smartphone-uri / Tablete, Altimetrie electronică personală și sateliți (echipamente pentru stații meteo / prognoză).

De ex. un proiect pentru realizarea altimetrelor electronice personale care măsoară altitudinea, presiunea aerului, temperatura folosind Raspberry Pi. Personal Electronics Altimeter este un proiect destul de rapid de construit. Va dura doar câteva momente dacă aveți toate părțile și nu improvizați (bineînțeles că puteți!). Un altimetru de presiune este un altimetru găsit în majoritatea aeronavelor, iar parașutistii folosesc versiuni montate pe încheietura mâinii în scopuri similare. Drumeții și alpiniștii folosesc altimetre montate pe mână sau de mână.

Pasul 6: Concluzie

Sper că acest proiect inspiră experimentări suplimentare. Acest senzor I²C este incredibil de versatil, ieftin și accesibil. Deoarece este un program extrem de mutabil, există modalități interesante de a extinde acest proiect și de a-l face și mai bun. De exemplu, altimetrul este un instrument opțional la vehiculele de teren pentru a ajuta la navigație. Unele mașini de lux performante, care nu au fost niciodată destinate să părăsească drumurile pavate, folosesc această tehnologie. Pentru confortul dvs., avem un tutorial video interesant pe YouTube, care ar putea da o mână de explorare. Sper că acest proiect inspiră experimentări suplimentare.

Recomandat: