Indholdsfortegnelse:
- Trin 1: Imperativt udstyr, vi har brug for
- Trin 2: Hardwareforbindelser for at sammensætte kredsløbet
- Trin 3: Raspberry Pi -programmering i Python
- Trin 4: Kodens praktiske egenskaber (test)
- Trin 5: Applikationer og funktioner
- Trin 6: Konklusion
Video: Højde, tryk og temperatur ved hjælp af Raspberry Pi med MPL3115A2: 6 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Lyder interessant. Det er ganske muligt i denne tid, hvor vi alle går ind i IoT -generationen. Som elektronikfreak har vi leget med Raspberry Pi og besluttet at lave interessante projekter ved hjælp af denne viden. I dette projekt måler vi højde, lufttryk, temperatur ved hjælp af Raspberry Pi. Så her går dokumentationen (bliver altid ændret og udvidet). Vi anbefaler at starte med at følge instruktionerne og kopiere koden. Du kan eksperimentere senere. Så lad os komme i gang.
Trin 1: Imperativt udstyr, vi har brug for
1. Hindbær Pi
Det første trin var at skaffe et Raspberry Pi -bord. Vi købte vores og det kan du også. Startede med at lære af selvstudierne, vi forstod scripting- og forbindelseskoncepterne og lærte bagefter. Dette lille geni er almindeligt for hobbyfolk, lærere og for at skabe innovative miljøer.
2. I²C Shield til Raspberry Pi
INPI2 (I2C -adapteren) giver Raspberry Pi 2/3 en I²C -port til brug med flere I2C -enheder. Den er tilgængelig på Dcube Store
3. Højdemåler, tryk- og temperatursensor, MPL3115A2
MPL3115A2 er en MEMS -trykføler med en I²C -grænseflade, der giver data om tryk/højde og temperatur. Denne sensor bruger I²C -protokollen til kommunikation. Vi købte denne sensor fra Dcube Store
4. Tilslutningskabel
Vi havde I2C -tilslutningskablet tilgængeligt i Dcube Store
5. Micro USB -kabel
Micro USB -kablet Strømforsyning er et ideelt valg til strømforsyning til Raspberry Pi.
6. Forbedring af internetadgang - Ethernet -kabel/WiFi -adapter
I denne æra har adgang til alting brug for en internetforbindelse (næsten som der også er liv offline). Så vi tager råd fra et LAN -kabel eller en trådløs Nano USB -adapter (WiFi) til at opbygge internetforbindelsen, så vi let kan bruge vores Rasp Pi og slet ikke noget problem.
7. HDMI -kabel (valgfrit, dit valg)
Det er lidt tricky. Du kan have magt til at vedhæfte en anden skærm, hvis du vil, eller det er meget omkostningseffektivt for dig selv ved at oprette en hovedløs Pi-forbindelse med din pc/bærbare.
Trin 2: Hardwareforbindelser for at sammensætte kredsløbet
Lav kredsløbet i henhold til det viste skema. Generelt er forbindelserne meget enkle. Følg instruktionerne og billederne, og du bør ikke have problemer.
Under planlægningen kiggede vi på hardware og kodning samt grundlæggende elektronik. Vi ønskede at designe en simpel elektronisk skema for dette projekt. I diagrammet kan du se de forskellige dele, strømkomponenter og I²C -sensor efter I²C -kommunikationsprotokoller. Forhåbentlig illustrerer dette, hvor enkel elektronikken til dette projekt er.
Tilslutning af Raspberry Pi og I2C Shield
Først og fremmest skal du tage Raspberry Pi og placere I²C Shield på den. Tryk forsigtigt på skærmen (se billedet).
Tilslutning af sensoren og Raspberry Pi
Tag sensoren og tilslut I²C -kablet med den. Sørg for, at I²C Output ALTID forbinder til I²C Input. Det samme skal Raspberry Pi med I²C -skjoldet monteret over. Vi har I²C -skjoldet og I²C -tilslutningskablerne på vores side som en meget stor fordel, da vi kun har plug and play -muligheden tilbage. Ikke flere pins og ledningsproblemer, og derfor er forvirringen væk. Hvilken lettelse, bare forestil dig dig selv i ledningen og komme ind i det. Bare den enkle proces, som vi har nævnt.
Bemærk: Den brune ledning skal altid følge jordforbindelsen (GND) mellem output fra en enhed og input fra en anden enhed
Internetforbindelse er afgørende
Du har faktisk et valg her. Du kan tilslutte Raspberry Pi med LAN -kablet eller den trådløse Nano USB -adapter til WiFi -forbindelse. Under alle omstændigheder gjorde det hovedformålet, der er at oprette forbindelse til internettet.
Strømforsyning af kredsløbet
Sæt Micro USB -kablet i strømstikket på Raspberry Pi. Tænd det, og vi er godt i gang.
Tilslutning til skærm
Vi kan enten have HDMI-kablet tilsluttet en ny skærm, eller vi kan lave vores hovedløse Pi, som er kreativ og omkostningseffektiv ved hjælp af fjernadgang som-SSH/PuTTY. (Jeg ved, at vi ikke er finansieret som en hemmelig organisation)
Trin 3: Raspberry Pi -programmering i Python
Python -koden til Raspberry Pi og MPL3115A2 -sensoren. Den er tilgængelig i vores Github -lager.
Inden du går videre til koden, skal du læse instruktionerne i Readme -filen og konfigurere din Raspberry Pi i henhold til den. Det vil tage lige et øjeblik at gøre det.
Højden beregnes ud fra trykket ved hjælp af nedenstående ligning:
h = 44330,77 {1 - (p / p0) ^ 0.1902632} + OFF_H (registerværdi)
Hvor p0 = havets tryk (101326 Pa) og h er i meter. MPL3115A2 bruger denne værdi, da offsetregistret er defineret som 2 Pascal pr. LSB.
Koden er klart foran dig, og den er i den enkleste form, som du kan forestille dig, og du bør ikke have problemer.
Du kan også kopiere den fungerende Python -kode til denne sensor herfra.
# Distribueret med en fri vilje-licens.# Brug den, som du vil, profit eller gratis, forudsat at den passer ind i licenserne til de tilhørende værker. # MPL3115A2 # Denne kode er designet til at fungere med MPL3115A2_I2CS I2C Mini -modulet tilgængeligt fra ControlEverything.com. #
import smbus
importtid
# Få I2C -bus
bus = smbus. SMBus (1)
# MPL3115A2 adresse, 0x60 (96)
# Vælg kontrolregister, 0x26 (38) # 0xB9 (185) Aktiv tilstand, OSR = 128, Højdemåler tilstand bus.write_byte_data (0x60, 0x26, 0xB9) # MPL3115A2 adresse, 0x60 (96) # Vælg datakonfigurationsregister, 0x13 (19) # 0x07 (07) Dataklar hændelse aktiveret for højde, tryk, temperatur bus.write_byte_data (0x60, 0x13, 0x07) # MPL3115A2 adresse, 0x60 (96) # Vælg kontrolregister, 0x26 (38) # 0xB9 (185) Aktiv tilstand, OSR = 128, højdemåler tilstand bus.write_byte_data (0x60, 0x26, 0xB9)
time.sleep (1)
# MPL3115A2 adresse, 0x60 (96)
# Læs data tilbage fra 0x00 (00), 6 bytes # status, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data (0x60, 0x00, 6)
# Konverter dataene til 20-bits
tHøjde = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16 temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16 altitude = tHeight / 16.0 cTemp = temp / 16.0 fTemp = cTemp * 1.8 + 32
# MPL3115A2 adresse, 0x60 (96)
# Vælg kontrolregister, 0x26 (38) # 0x39 (57) Aktiv tilstand, OSR = 128, Barometer -tilstand bus.write_byte_data (0x60, 0x26, 0x39)
time.sleep (1)
# MPL3115A2 adresse, 0x60 (96)
# Læs data tilbage fra 0x00 (00), 4 bytes # status, pres MSB1, pres MSB, pres LSB data = bus.read_i2c_block_data (0x60, 0x00, 4)
# Konverter dataene til 20-bits
pres = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16 tryk = (pres / 4.0) / 1000.0
# Output data til skærmen
print "Tryk: %.2f kPa" %trykudskrivning "Højde: %.2f m" %højdeprint "Temperatur i Celsius: %.2f C" %cTemp tryk "Temperatur i Fahrenheit: %.2f F" %fTemp
Trin 4: Kodens praktiske egenskaber (test)
Download nu (eller git pull) koden og åbn den i Raspberry Pi.
Kør kommandoerne for at kompilere og uploade koden i terminalen og se output på Monitor. Efter få sekunder viser det alle parametre. Efter at have sørget for, at alt fungerer gnidningsløst, kan du tage dette projekt ind i et større projekt.
Trin 5: Applikationer og funktioner
Den almindelige brug af MPL3115A2 Precision Altimeter I²C -sensoren er i applikationer som Map (Map Assist, Navigation), Magnetisk kompas eller GPS (GPS Dead Reckoning, GPS Enhancement For Emergency Services), Høj nøjagtigheds -altimetri, Smartphones/tablets, Personal Electronics Altimetry og satellitter (vejrstationsudstyr/prognoser).
For f.eks. et projekt til fremstilling af personlig elektronik højdemåler, der måler højde, lufttryk, temperatur ved hjælp af Raspberry Pi. Personal Electronics Altimeter er i alt et ret hurtigt projekt at bygge. Det tager kun få øjeblikke, hvis du har alle dele og ikke improviserer (selvfølgelig kan du!). En trykhøjdemåler er en højdemåler, der findes i de fleste fly, og skydivers bruger håndledsmonterede versioner til lignende formål. Vandrere og bjergbestigere bruger håndledsmonterede eller håndholdte højdemålere.
Trin 6: Konklusion
Håber dette projekt inspirerer til yderligere eksperimenter. Denne I²C sensor er utrolig alsidig, billig og tilgængelig. Da det er et ekstremt foranderligt program, er der interessante måder, du kan udvide dette projekt og gøre det endnu bedre. For eksempel er højdemåleren et valgfrit instrument i terrængående køretøjer til at hjælpe med navigation. Nogle højtydende luksusbiler, der aldrig var beregnet til at forlade asfalterede veje, bruger denne teknologi. For nemheds skyld har vi en interessant videoundervisning på YouTube, som måske kan hjælpe dig med at udforske. Håber dette projekt inspirerer til yderligere eksperimenter.
Anbefalede:
M5STACK Sådan vises temperatur, fugtighed og tryk på M5StickC ESP32 ved hjælp af Visuino - let at gøre: 6 trin
M5STACK Sådan vises temperatur, luftfugtighed og tryk på M5StickC ESP32 ved hjælp af Visuino - let at gøre: I denne vejledning lærer vi, hvordan du programmerer ESP32 M5Stack StickC med Arduino IDE og Visuino til at vise temperatur, luftfugtighed og tryk ved hjælp af ENV -sensor (DHT12, BMP280, BMM150)
Fugtighed, tryk og temperaturberegning ved hjælp af BME280 og fotoninterface: 6 trin
Fugtighed, tryk og temperaturberegning ved hjælp af BME280 og Photon Interfacing .: Vi støder på forskellige projekter, der kræver temperatur-, tryk- og fugtighedsovervågning. Således indser vi, at disse parametre faktisk spiller en afgørende rolle for at have et skøn over arbejdseffektiviteten af et system ved forskellige atmosfæriske forhold
Arduino vejrstation ved hjælp af BMP280 -DHT11 - Temperatur, luftfugtighed og tryk: 8 trin
Arduino vejrstation ved hjælp af BMP280 -DHT11 - Temperatur, luftfugtighed og tryk: I denne vejledning lærer vi, hvordan man laver en vejrstation, der viser en TEMPERATUR, Fugtighed og tryk på LCD -displayet TFT 7735 Se en demonstrationsvideo
Bestemmelse af tryk og højde ved hjælp af GY-68 BMP180 og Arduino: 6 trin
Bestemmelse af tryk og højde ved hjælp af GY-68 BMP180 og Arduino: Oversigt I mange projekter såsom flyvende robotter, vejrstationer, forbedring af routingydelse, sport osv. Er måling af tryk og højde meget vigtig. I denne vejledning lærer du, hvordan du bruger BMP180 -sensoren, som er en af de mest
Brug Raspberry Pi, Mål højde, tryk og temperatur med MPL3115A2: 6 trin
Brug Raspberry Pi, Mål højde, tryk og temperatur med MPL3115A2: Ved, hvad du ejer, og ved, hvorfor du ejer det! Det er spændende. Vi lever i en tid med internetautomatisering, da det styrter ind i en overflod af nye applikationer. Som computer- og elektronikentusiaster har vi lært meget med Raspberry Pi en