INHOUDSOPGAWE:

Hoogte, druk en temperatuur met behulp van Framboos Pi met MPL3115A2: 6 stappe
Hoogte, druk en temperatuur met behulp van Framboos Pi met MPL3115A2: 6 stappe

Video: Hoogte, druk en temperatuur met behulp van Framboos Pi met MPL3115A2: 6 stappe

Video: Hoogte, druk en temperatuur met behulp van Framboos Pi met MPL3115A2: 6 stappe
Video: How to Purge 2 Zone Gas Boiler - Half 2nd Floor Split Zone Not Heating 2024, Junie
Anonim
Hoogte, druk en temperatuur met behulp van Framboos Pi met MPL3115A2
Hoogte, druk en temperatuur met behulp van Framboos Pi met MPL3115A2
Hoogte, druk en temperatuur met behulp van Framboos Pi Met MPL3115A2
Hoogte, druk en temperatuur met behulp van Framboos Pi Met MPL3115A2

Klink interessant. Dit is heel moontlik in hierdie tyd dat ons almal in die IoT -generasie gaan. As elektronika -freak het ons met die Raspberry Pi gespeel en besluit om met hierdie kennis interessante projekte te maak. In hierdie projek meet ons hoogte, lugdruk, temperatuur met behulp van Raspberry Pi. Hier volg die dokumentasie (word altyd gewysig en uitgebrei). Ons beveel aan dat u die instruksies volg en die kode kopieer. U kan later eksperimenteer. So laat ons begin.

Stap 1: noodsaaklike toerusting wat ons benodig

Belangrike toerusting wat ons benodig
Belangrike toerusting wat ons benodig
Belangrike toerusting wat ons benodig
Belangrike toerusting wat ons benodig
Belangrike toerusting wat ons benodig
Belangrike toerusting wat ons benodig
Belangrike toerusting wat ons benodig
Belangrike toerusting wat ons benodig

1. Framboos Pi

Die eerste stap was die verkryging van 'n Raspberry Pi -bord. Ons het ons s'n gekoop, en u ook. Ons het geleer uit die tutoriale, ons het die script- en verbindingskonsepte verstaan en daarna geleer. Hierdie klein genie kom algemeen voor by stokperdjies, onderwysers en in die skep van innoverende omgewings.

2. I²C -skild vir Framboos Pi

Die INPI2 (I2C -adapter) bied die Raspberry Pi 2/3 'n I²C -poort vir gebruik met verskeie I2C -toestelle. Dit is beskikbaar op Dcube Store

3. Hoogtemeter, druk- en temperatuursensor, MPL3115A2

Die MPL3115A2 is 'n MEMS -druksensor met 'n I²C -koppelvlak om druk-/hoogte- en temperatuurdata te gee. Hierdie sensor gebruik die I²C -protokol vir kommunikasie. Ons het hierdie sensor by Dcube Store gekoop

4. Aansluitkabel

Ons het die I2C -aansluitkabel beskikbaar by Dcube Store

5. Mikro -USB -kabel

Die mikro -USB -kabel Kragtoevoer is 'n ideale keuse vir die voeding van die Raspberry Pi.

6. Verbetering van internettoegang - Ethernet -kabel/WiFi -adapter

In hierdie era het toegang tot enigiets 'n internetverbinding nodig (amper ook as daar vanlyn lewe is). Ons neem dus advies van 'n LAN -kabel of 'n draadlose Nano USB -adapter (WiFi) om die internetverbinding te bou, sodat ons ons Rasp Pi met gemak en sonder probleme kan gebruik.

7. HDMI -kabel (opsioneel, u keuse)

Dit is 'n bietjie lastig. As u wil, kan u nog 'n monitor aanheg, of dit is baie koste-effektief vir u deur 'n koplose Pi-verbinding met u rekenaar/skootrekenaar te maak.

Stap 2: Hardewareverbindings om die stroombaan saam te stel

Hardewareverbindings om die stroombaan saam te stel
Hardewareverbindings om die stroombaan saam te stel
Hardewareverbindings om die stroombaan saam te stel
Hardewareverbindings om die stroombaan saam te stel

Maak die stroombaan volgens die skema: In die algemeen is die verbindings baie eenvoudig. Volg die instruksies en beelde, en u behoort geen probleme te hê nie.

Tydens die beplanning het ons gekyk na hardeware en kodering sowel as die basiese beginsels van elektronika. Ons wou 'n eenvoudige elektroniese skema vir hierdie projek ontwerp. In die diagram kan u die verskillende onderdele, kragkomponente en I²C -sensor sien wat volg op I²C -kommunikasieprotokolle. Hopelik illustreer dit hoe eenvoudig die elektronika vir hierdie projek is.

Verbinding van die Raspberry Pi en I2C Shield

Neem eerstens die Raspberry Pi en plaas die I²C Shield daarop. Druk die skild saggies (sien die prentjie).

Aansluiting van die sensor en Framboos Pi

Neem die sensor en verbind die I²C -kabel daarmee. Maak seker dat I²C Output ALTYD aansluit by die I²C Input. Dieselfde moet gevolg word deur die Raspberry Pi met die I²C -skild daaroor gemonteer. Ons het die I²C Shield en die I²C -aansluitkabels aan ons kant as 'n baie groot voordeel, aangesien ons slegs die plug and play -opsie oor het. Geen probleem met penne en bedrading meer nie, en daarom is verwarring weg. Wat 'n verligting, stel u uself net voor in die draaddraad en daarby ingaan. Net die eenvoudige proses wat ons genoem het.

Let wel: die bruin draad moet altyd die grondverbinding (GND) volg tussen die uitset van een toestel en die ingang van 'n ander toestel

Internetverbinding is noodsaaklik

U het eintlik 'n keuse hier. U kan Raspberry Pi verbind met die LAN -kabel of die draadlose Nano USB -adapter vir WiFi -verbinding. Dit het in elk geval die hoofdoel gehad om met die internet te skakel.

Die krag van die stroombaan

Steek die mikro -USB -kabel in die kragaansluiting van die Raspberry Pi. Verlig dit en ons is gereed om te gaan.

Koppel aan skerm

Ons kan óf die HDMI-kabel aan 'n nuwe monitor koppel, óf ons kan ons koplose Pi maak wat kreatief en kostedoeltreffend is deur gebruik te maak van toegang soos SSH/PuTTY (ek weet ons word nie gefinansier soos 'n geheime organisasie nie)

Stap 3: Raspberry Pi -programmering in Python

Framboos Pi -programmering in Python
Framboos Pi -programmering in Python

Die Python -kode vir die Raspberry Pi en MPL3115A2 sensor. Dit is beskikbaar in ons Github -bewaarplek.

Voordat u na die kode gaan, moet u die instruksies in die Readme -lêer lees en u Raspberry Pi daarvolgens instel. Dit sal net 'n rukkie neem om dit te doen.

Die hoogte word bereken uit die druk met behulp van die onderstaande vergelyking:

h = 44330,77 {1 - (p / p0) ^ 0.1902632} + OFF_H (registerwaarde)

Waar p0 = seevlakdruk (101326 Pa) en h in meter is. Die MPL3115A2 gebruik hierdie waarde aangesien die offsetregister gedefinieer word as 2 Pascal per LSB.

Die kode is duidelik voor u en dit is in die eenvoudigste vorm wat u kan voorstel, en u behoort geen probleme te hê nie.

U kan ook die werkende Python -kode vir hierdie sensor hiervandaan kopieer.

# Versprei met 'n vrywillige lisensie.# Gebruik dit op enige manier wat u wil, wins of gratis, mits dit in die lisensies van die gepaardgaande werke pas. # MPL3115A2 # Hierdie kode is ontwerp om te werk met die MPL3115A2_I2CS I2C Mini Module beskikbaar by ControlEverything.com. #

invoer smbus

invoer tyd

# Kry I2C -bus

bus = smbus. SMBus (1)

# MPL3115A2 adres, 0x60 (96)

# Kies kontroleregister, 0x26 (38) # 0xB9 (185) Aktiewe modus, OSR = 128, Hoogtemeter modus bus.write_byte_data (0x60, 0x26, 0xB9) # MPL3115A2 adres, 0x60 (96) # Kies datakonfigurasie register, 0x13 (19) # 0x07 (07) Gereedheid vir data gereed vir hoogte, druk, temperatuur bus.write_byte_data (0x60, 0x13, 0x07) # MPL3115A2 adres, 0x60 (96) # Kies beheerregister, 0x26 (38) # 0xB9 (185) Aktiewe modus, OSR = 128, Hoogtemeter modus bus.write_byte_data (0x60, 0x26, 0xB9)

tyd. slaap (1)

# MPL3115A2 adres, 0x60 (96)

# Lees data terug van 0x00 (00), 6 grepe # status, thHight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data (0x60, 0x00, 6)

# Skakel die data om in 20-bisse

tHeight = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16 temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16 hoogte = tHeight / 16.0 cTemp = temp / 16.0 fTemp = cTemp * 1.8 + 32

# MPL3115A2 adres, 0x60 (96)

# Kies kontroleregister, 0x26 (38) # 0x39 (57) Aktiewe modus, OSR = 128, Barometer -modus bus.write_byte_data (0x60, 0x26, 0x39)

tyd. slaap (1)

# MPL3115A2 adres, 0x60 (96)

# Lees data terug van 0x00 (00), 4 grepe # status, pres MSB1, pres MSB, pres LSB data = bus.read_i2c_block_data (0x60, 0x00, 4)

# Skakel die data om in 20-bisse

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

# Uitset data na die skerm

druk "Druk: %.2f kPa" %drukafdruk "Hoogte: %.2f m" %hoogteafdruk "Temperatuur in Celsius: %.2f C" %cTemp druk "Temperatuur in Fahrenheit: %.2f F" %fTemp

Stap 4: Die praktiese van die kode (toets)

Die praktiese van die kode (toets)
Die praktiese van die kode (toets)

Laai nou die kode af (of git trek) en maak dit oop in die Raspberry Pi.

Voer die opdragte uit om die kode in die terminale op te stel en op te laai en sien die uitset op Monitor. Na 'n paar sekondes word al die parameters vertoon. Nadat u seker gemaak het dat alles vlot verloop, kan u hierdie projek na 'n groter projek neem.

Stap 5: Toepassings en funksies

Die algemene gebruik van die MPL3115A2 Precision Altimeter I²C -sensor is in toepassings soos Map (Map Assist, Navigation), Magnetic Compass, of GPS (GPS Dead Reckoning, GPS Enhancement For Emergency Services), Hoog akkuraatheid altimetrie, Smartphones/Tablets, Personal Electronics Altimetry en satelliete (weerstasie toerusting/voorspelling).

Vir bv. 'n projek vir die maak van persoonlike elektronika -hoogtemeter wat hoogte, lugdruk, temperatuur meet met behulp van Framboos Pi. Die persoonlike elektroniese hoogtemeter is 'n redelik vinnige projek om te bou. Dit sal slegs 'n paar minute neem as u alle dele het en nie improviseer nie (natuurlik kan u dit!). 'N Drukhoogtemeter is 'n hoogtemeter wat in die meeste vliegtuie voorkom, en valskermspringers gebruik weergawes wat by die pols gemonteer is vir soortgelyke doeleindes. Stappers en bergklimmers gebruik hoogtemeters wat op die pols of met die hand gehou word.

Stap 6: Gevolgtrekking

Hoop hierdie projek inspireer tot verdere eksperimentering. Hierdie I²C -sensor is ongelooflik veelsydig, goedkoop en toeganklik. Aangesien dit 'n uiters veranderbare program is, is daar interessante maniere waarop u hierdie projek kan uitbrei en dit nog beter kan maak. Die hoogtemeter is byvoorbeeld 'n opsionele instrument in veldvoertuie om navigasie te vergemaklik. Sommige hoëprestasie-luukse motors wat nooit bedoel was om verharde paaie te verlaat nie, gebruik hierdie tegnologie. Vir u gemak het ons 'n interessante video -tutoriaal op YouTube wat u kan help om u ondersoek te doen. Hoop hierdie projek inspireer tot verdere eksperimentering.

Aanbeveel: