Innehållsförteckning:
- Steg 1: Imperativ utrustning vi behöver
- Steg 2: Maskinvaruanslutningar för att sätta ihop kretsen
- Steg 3: Raspberry Pi -programmering i Python
- Steg 4: Kodens praktiska (testning)
- Steg 5: Applikationer och funktioner
- Steg 6: Slutsats
Video: Höjd, tryck och temperatur med Raspberry Pi med MPL3115A2: 6 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:38
Låter intressant. Det är fullt möjligt under denna tid när vi alla går in i IoT -generationen. Som elektronikfreak har vi lekt med Raspberry Pi och bestämt oss för att göra intressanta projekt med denna kunskap. I detta projekt kommer vi att mäta höjd, lufttryck, temperatur med hjälp av Raspberry Pi. Så här går dokumentationen (ändras alltid och utökas). Vi rekommenderar att du börjar med att följa instruktionerna och kopiera koden. Du kan experimentera senare. Så låt oss komma igång.
Steg 1: Imperativ utrustning vi behöver
1. Hallon Pi
Det första steget var att skaffa ett Raspberry Pi -kort. Vi köpte vårt och det kan du också. Började lära oss av självstudierna, vi förstod skript- och anslutningskoncepten och lärde oss efteråt. Detta lilla geni är vanligt för amatörer, lärare och för att skapa innovativa miljöer.
2. I²C Shield för Raspberry Pi
INPI2 (I2C -adaptern) tillhandahåller Raspberry Pi 2/3 en I²C -port för användning med flera I2C -enheter. Den är tillgänglig på Dcube Store
3. Höjdmätare, tryck- och temperatursensor, MPL3115A2
MPL3115A2 är en MEMS -trycksensor med ett I²C -gränssnitt för att ge tryck/höjd och temperaturdata. Denna sensor använder I²C -protokollet för kommunikation. Vi köpte den här sensorn från Dcube Store
4. Anslutningskabel
Vi hade I2C -anslutningskabeln tillgänglig på Dcube Store
5. Micro USB -kabel
Mikro -USB -kabeln Strömförsörjning är ett idealiskt val för att driva Raspberry Pi.
6. Internetförbättring - Ethernet -kabel/WiFi -adapter
I den här eran behöver du en internetanslutning för att få tillgång till allt (nästan som det finns liv offline också). Så vi tar råd från en LAN -kabel eller en trådlös Nano USB -adapter (WiFi) för att bygga internetanslutningen så att vi enkelt kan använda vår Rasp Pi och utan problem alls.
7. HDMI -kabel (valfritt, ditt val)
Det är lite knepigt. Du kan ha möjlighet att ansluta en annan bildskärm om du vill eller om det är mycket kostnadseffektivt för dig själv genom att göra en huvudlös Pi-anslutning till din dator/bärbar dator.
Steg 2: Maskinvaruanslutningar för att sätta ihop kretsen
Gör kretsen enligt schemat. I allmänhet är anslutningarna mycket enkla. Följ instruktionerna och bilderna, så ska du inte ha några problem.
Under planeringen tittade vi på hårdvara och kodning samt grundläggande elektronik. Vi ville utforma en enkel elektronikschema för detta projekt. I diagrammet kan du märka de olika delarna, kraftkomponenterna och I²C -sensorn efter I²C -kommunikationsprotokoll. Förhoppningsvis illustrerar detta hur enkel elektroniken för detta projekt är.
Anslutning av Raspberry Pi och I2C Shield
Ta först Raspberry Pi och placera I²C Shield på den. Tryck försiktigt på skärmen (se bilden).
Anslutning av sensorn och Raspberry Pi
Ta sensorn och anslut I²C -kabeln med den. Se till att I²C -utgång ALLTID ansluts till I²C -ingången. Samma som ska följas av Raspberry Pi med I²C -skölden monterad över den. Vi har I²C -skölden och I²C -anslutningskablarna på vår sida som en mycket stor fördel eftersom vi bara har plug and play -alternativet kvar. Inga fler stift- och kabelfrågor och därför är förvirringen borta. Vilken lättnad att bara föreställa sig dig själv i trådens nät och komma in i det. Bara den enkla processen som vi har nämnt.
Obs: Den bruna tråden bör alltid följa jordanslutningen (GND) mellan utgången på en enhet och ingången till en annan enhet
Internetanslutning är avgörande
Du har ett val här faktiskt. Du kan ansluta Raspberry Pi med LAN -kabeln eller den trådlösa Nano USB -adaptern för WiFi -anslutning. Hur som helst, det gjorde det huvudsakliga målet som är att ansluta till internet.
Drivning av kretsen
Anslut Micro USB -kabeln till strömuttaget på Raspberry Pi. Tänd upp det så är vi igång.
Anslutning till skärm
Vi kan antingen ha HDMI-kabeln ansluten till en ny bildskärm eller så kan vi göra vår huvudlösa Pi som är kreativ och kostnadseffektiv med fjärråtkomst som SSH/PuTTY. (Jag vet att vi inte är finansierade som en hemlig organisation)
Steg 3: Raspberry Pi -programmering i Python
Python -koden för Raspberry Pi och MPL3115A2 -sensorn. Den är tillgänglig i vårt Github -arkiv.
Innan du går vidare till koden, se till att du läser instruktionerna i Readme -filen och konfigurerar din Raspberry Pi enligt den. Det tar bara en stund att göra det.
Höjden beräknas utifrån trycket med hjälp av ekvationen nedan:
h = 44330,77 {1 - (p / p0) ^ 0.1902632} + OFF_H (registervärde)
Där p0 = havsnivå tryck (101326 Pa) och h är i meter. MPL3115A2 använder detta värde eftersom offsetregistret definieras som 2 Pascal per LSB.
Koden är helt klart framför dig och den är i den enklaste form som du kan tänka dig och du bör inte ha några problem.
Du kan också kopiera den fungerande Python -koden för den här sensorn härifrån.
# Distribueras med en fri viljelicens.# Använd den hur du vill, vinst eller gratis, förutsatt att den passar in i licenserna för dess associerade verk. # MPL3115A2 # Denna kod är utformad för att fungera med MPL3115A2_I2CS I2C Mini -modulen som är tillgänglig från ControlEverything.com. #
importera smbus
importtid
# Skaffa I2C -buss
buss = smbus. SMBus (1)
# MPL3115A2 -adress, 0x60 (96)
# Välj kontrollregister, 0x26 (38) # 0xB9 (185) Aktivt läge, OSR = 128, höjdmätare buss.write_byte_data (0x60, 0x26, 0xB9) # MPL3115A2 -adress, 0x60 (96) # Välj datakonfigurationsregister, 0x13 (19) # 0x07 (07) Dataklar händelse aktiverad för höjd, tryck, temperatur buss. Skriv_byte_data (0x60, 0x13, 0x07) # MPL3115A2 -adress, 0x60 (96) # Välj kontrollregister, 0x26 (38) # 0xB9 (185) Aktivt läge, OSR = 128, höjdmätare buss.write_byte_data (0x60, 0x26, 0xB9)
tid. sover (1)
# MPL3115A2 -adress, 0x60 (96)
# Läs tillbaka data från 0x00 (00), 6 byte # status, tHight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data (0x60, 0x00, 6)
# Konvertera data till 20-bitar
tHöjd = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16 temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16 höjd = tHöjd / 16,0 cTemp = temp / 16,0 fTemp = cTemp * 1,8 + 32
# MPL3115A2 -adress, 0x60 (96)
# Välj kontrollregister, 0x26 (38) # 0x39 (57) Aktivt läge, OSR = 128, Barometerläge buss.write_byte_data (0x60, 0x26, 0x39)
tid. sover (1)
# MPL3115A2 -adress, 0x60 (96)
# Läs tillbaka data från 0x00 (00), 4 byte # status, pres MSB1, pres MSB, pres LSB data = bus.read_i2c_block_data (0x60, 0x00, 4)
# Konvertera data till 20-bitar
pres = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16 tryck = (pres / 4.0) / 1000.0
# Mata ut data till skärmen
tryck "Tryck: %.2f kPa" %tryckutskrift "Höjd: %.2f m" %höjdtryck "Temperatur i Celsius: %.2f C" %cTemp tryck "Temperatur i Fahrenheit: %.2f F" %fTemp
Steg 4: Kodens praktiska (testning)
Ladda ner (eller git pull) koden och öppna den i Raspberry Pi.
Kör kommandona för att kompilera och ladda upp koden i terminalen och se utdata på Monitor. Efter några sekunder kommer alla parametrar att visas. Efter att ha sett till att allt fungerar smidigt kan du ta detta projekt till ett större projekt.
Steg 5: Applikationer och funktioner
Den vanliga användningen av MPL3115A2 Precision Altimeter I²C -sensorn är i applikationer som Map (Map Assist, Navigation), Magnetisk kompass, eller GPS (GPS Dead Reckoning, GPS Enhancement For Emergency Services), High Accuracy Altimetry, Smartphones/Tablets, Personal Electronics Altimetry och satelliter (väderstationsutrustning/prognoser).
För t.ex. ett projekt för att göra Personal Electronics Altimeter som mäter höjd, lufttryck, temperatur med hjälp av Raspberry Pi. Personal Electronics Altimeter är totalt sett ett ganska snabbt projekt att bygga. Det tar bara några få ögonblick om du har alla delar och inte improviserar (naturligtvis kan du!). En tryckhöjdmätare är en höjdmätare som finns i de flesta flygplan, och fallskärmshoppare använder handledsmonterade versioner för liknande ändamål. Vandrare och bergsklättrare använder handledsmonterade eller handhållna höjdmätare.
Steg 6: Slutsats
Hoppas detta projekt inspirerar till ytterligare experiment. Denna I²C -sensor är otroligt mångsidig, billig och tillgänglig. Eftersom det är ett extremt föränderligt program finns det intressanta sätt att förlänga detta projekt och göra det ännu bättre. Till exempel är höjdmätaren ett tillval i terrängfordon som hjälp vid navigering. Vissa högpresterande lyxbilar som aldrig var avsedda att lämna asfalterade vägar, använder denna teknik. För din bekvämlighet har vi en intressant videohandledning på YouTube som kan hjälpa dig att utforska. Hoppas detta projekt inspirerar till ytterligare experiment.
Rekommenderad:
M5STACK Så här visar du temperatur, luftfuktighet och tryck på M5StickC ESP32 med Visuino - enkelt att göra: 6 steg
M5STACK Hur man visar temperatur, luftfuktighet och tryck på M5StickC ESP32 med Visuino - enkelt att göra: I den här självstudien lär vi oss hur man programmerar ESP32 M5Stack StickC med Arduino IDE och Visuino för att visa temperatur, luftfuktighet och tryck med ENV -sensor (DHT12, BMP280, BMM150)
Fuktighet, tryck och temperaturberäkning med BME280 och fotongränssnitt: 6 steg
Fuktighet, tryck och temperaturberäkning med BME280 och fotongränssnitt .: Vi stöter på olika projekt som kräver temperatur-, tryck- och fuktövervakning. Således inser vi att dessa parametrar faktiskt spelar en viktig roll för att ha en uppskattning av arbetseffektiviteten hos ett system vid olika atmosfäriska förhållanden
Arduino väderstation med BMP280 -DHT11 - Temperatur, luftfuktighet och tryck: 8 steg
Arduino väderstation med BMP280 -DHT11 - Temperatur, luftfuktighet och tryck: I denna handledning lär vi oss hur man gör en väderstation som visar en TEMPERATUR, FUKTIGHET OCH TRYCK på LCD -skärmen TFT 7735 Se en demonstrationsvideo
Bestämning av tryck och höjd med GY-68 BMP180 och Arduino: 6 steg
Bestämning av tryck och höjd med GY-68 BMP180 och Arduino: Översikt I många projekt som flygrobotar, väderstationer, förbättrad routingprestanda, sport och etc. är mätning av tryck och höjd mycket viktigt. I denna handledning lär du dig hur du använder BMP180 -sensorn, som är en av de mest
Använd Raspberry Pi, mät höjd, tryck och temperatur med MPL3115A2: 6 steg
Använda Raspberry Pi, mäta höjd, tryck och temperatur med MPL3115A2: Vet vad du äger och vet varför du äger det! Det är spännande. Vi lever i Internetautomationens tidsålder när det dyker in i en uppsjö av nya applikationer. Som dator- och elektronikentusiaster har vi lärt oss mycket med Raspberry Pi