INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-23 12:53
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
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
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
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)
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:
Meting van temperatuur met behulp van AD7416ARZ en Framboos Pi: 4 stappe
Meting van temperatuur met behulp van AD7416ARZ en Framboos Pi: AD7416ARZ is 'n 10-bis temperatuur sensor met vier enkanaals analoog na digitale omsetters en 'n ingeboude temperatuursensor daarin. Toegang tot die temperatuursensor op die dele is via multiplexerkanale. Hierdie hoë akkuraatheidstemperatuur
Bepaling van die druk en hoogte met behulp van GY-68 BMP180 en Arduino: 6 stappe
Die bepaling van die druk en hoogte met behulp van GY-68 BMP180 en Arduino: Oorsig In baie projekte, soos vlieënde robotte, weerstasies, die verbetering van roeteringsprestasie, sport en ens is dit baie belangrik om druk en hoogte te meet. In hierdie tutoriaal leer u hoe u die BMP180 -sensor gebruik, een van die mees
Meting van humiditeit en temperatuur met behulp van HTS221 en Framboos Pi: 4 stappe
Meting van humiditeit en temperatuur met behulp van HTS221 en Framboos Pi: HTS221 is 'n ultra kompakte kapasitiewe digitale sensor vir relatiewe humiditeit en temperatuur. Dit bevat 'n waarnemingselement en 'n gemengde seintoepassingspesifieke geïntegreerde stroombaan (ASIC) om die meetinligting deur middel van digitale reeks
Meting van temperatuur met behulp van TMP112 en Framboos Pi: 4 stappe
Temperatuurmeting met behulp van TMP112 en Framboos Pi: TMP112 I2C MINI-module met hoë akkuraatheid, lae krag, digitale temperatuur sensor. Die TMP112 is ideaal vir uitgebreide temperatuurmeting. Hierdie toestel bied 'n akkuraatheid van ± 0.5 ° C sonder om kalibrasie of kondisionering van eksterne komponente te vereis
Meet Raspberry Pi, meet hoogte, druk en temperatuur met MPL3115A2: 6 stappe
Gebruik Raspberry Pi, meet hoogte, druk en temperatuur met MPL3115A2: weet wat u besit en weet waarom u dit besit! Dit is interessant. Ons leef in die tyd van internetautomatisering, aangesien dit in 'n magdom nuwe toepassings val. As rekenaar- en elektronika -entoesiaste het ons baie geleer met die Raspberry Pi en