Kazalo:
- 1. korak: Nujna oprema, ki jo potrebujemo
- 2. korak: Strojne povezave za sestavljanje vezja
- 3. korak: Programiranje Raspberry Pi v Pythonu
- 4. korak: Praktičnost kodeksa (testiranje)
- 5. korak: Aplikacije in funkcije
- 6. korak: Zaključek
Video: Nadmorska višina, tlak in temperatura z uporabo Raspberry Pi z MPL3115A2: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Sliši se zanimivo. To je povsem mogoče v tem času, ko vsi prehajamo v generacijo IoT. Kot čudak z elektroniko smo se igrali z Raspberry Pi in se odločili, da bomo s tem znanjem naredili zanimive projekte. V tem projektu bomo z Raspberry Pi merili višino, zračni tlak, temperaturo. Torej gre tukaj dokumentacija (vedno se spreminja in širi). Priporočamo, da sledite navodilom in kopirate kodo. Kasneje lahko eksperimentirate. Pa začnimo.
1. korak: Nujna oprema, ki jo potrebujemo
1. Malina Pi
Prvi korak je bil pridobitev plošče Raspberry Pi. Mi smo kupili našega, vi pa tudi. Začeli smo se učiti iz vadnic, razumeli smo scenarije in koncepte povezovanja ter se kasneje naučili. Ta mali genij je običajen za ljubitelje, učitelje in ustvarjanje inovativnih okolij.
2. I²C ščit za Raspberry Pi
INPI2 (I2C adapter) ponuja vrata Raspberry Pi 2/3 in I²C za uporabo z več napravami I2C. Na voljo je v trgovini Dcube
3. Višinomer, senzor tlaka in temperature, MPL3115A2
MPL3115A2 je senzor tlaka MEMS z vmesnikom I²C, ki podaja podatke o tlaku/nadmorski višini in temperaturi. Ta senzor za komunikacijo uporablja protokol I²C. Ta senzor smo kupili v trgovini Dcube
4. Priključni kabel
V trgovini Dcube smo imeli na voljo priključni kabel I2C
5. Kabel mikro USB
Napajalni kabel mikro USB je idealna izbira za napajanje Raspberry Pi.
6. Izboljšanje dostopa do interneta - Ethernetni kabel/WiFi adapter
V tem obdobju za dostop do česar koli potrebujete internetno povezavo (skoraj tako kot obstaja tudi življenje brez povezave). Zato upoštevamo nasvet kabla LAN ali brezžičnega Nano USB adapterja (WiFi) za vzpostavitev internetne povezave, tako da lahko z lahkoto in brez težav uporabljamo naš Rasp Pi.
7. Kabel HDMI (neobvezno, vaša izbira)
To je nekoliko zapleteno. Če želite, ali če je to za vas zelo stroškovno učinkovito, lahko povežete drug monitor tako, da vzpostavite brezglavo povezavo Pi z računalnikom/prenosnikom.
2. korak: Strojne povezave za sestavljanje vezja
Naredite vezje po prikazani shemi. Na splošno so povezave zelo preproste. Sledite navodilom in slikam in ne bi smelo biti težav.
Med načrtovanjem smo preučili strojno opremo in kodiranje ter osnove elektronike. Za ta projekt smo želeli oblikovati preprosto shemo elektronike. Na diagramu lahko opazite različne dele, komponente napajanja in senzor I²C po komunikacijskih protokolih I²C. Upajmo, da to ponazarja, kako preprosta je elektronika za ta projekt.
Povezava Raspberry Pi in I2C Shield
Najprej vzemite Raspberry Pi in nanj položite I²C ščit. Nežno pritisnite ščit (glejte sliko).
Povezava senzorja in Raspberry Pi
Vzemite senzor in z njim povežite kabel I²C. Prepričajte se, da je izhod I²C VEDNO povezan z vhodom I²C. Enako sledi Raspberry Pi z nameščenim I²C ščitom. I²C Shield in I²C povezovalni kabli sta na naši strani kot zelo velika prednost, saj nam preostane samo možnost plug and play. Ni več težav z zatiči in ožičenjem, zato zmede ni več. Kakšno olajšanje, ko si samo predstavljate sebe v spletu žic in vstopite v to. Preprost postopek, ki smo ga omenili.
Opomba: Rjava žica mora vedno slediti ozemljitveni (GND) povezavi med izhodom ene naprave in vhodom druge naprave
Internetna povezava je ključnega pomena
Tu imaš pravzaprav izbiro. Raspberry Pi lahko povežete s kablom LAN ali brezžičnim Nano USB vmesnikom za povezljivost WiFi. Kakor koli že, glavni cilj je bil povezati se z internetom.
Napajanje vezja
Priključite kabel Micro USB v vtičnico za napajanje Raspberry Pi. Prižgite ga in lahko gremo.
Povezava z zaslonom
Kabel HDMI lahko povežemo z novim monitorjem ali pa naredimo naš Pi brez glave, ki je ustvarjalen in stroškovno učinkovit z oddaljenim dostopom, kot je SSH/PuTTY. (Vem, da nismo financirani kot tajna organizacija)
3. korak: Programiranje Raspberry Pi v Pythonu
Koda Python za senzor Raspberry Pi in MPL3115A2. Na voljo je v našem skladišču Github.
Preden nadaljujete s kodo, se prepričajte, da ste prebrali navodila v datoteki Readme in v skladu z njimi nastavite Raspberry Pi. To bo trajalo le trenutek.
Nadmorska višina se izračuna iz tlaka z uporabo spodnje enačbe:
h = 44330,77 {1 - (p / p0) ^ 0,1902632} + OFF_H (vrednost registra)
Kjer je p0 = tlak nadmorske višine (101326 Pa) in h v metrih. MPL3115A2 uporablja to vrednost, saj je odmični register definiran kot 2 paskala na LSB.
Koda je očitno pred vami in je v najpreprostejši obliki, ki si jo lahko zamislite, in ne bi smeli imeti težav.
Delovno kodo Python za ta senzor lahko kopirate tudi od tu.
# Razdeljeno z licenco za svobodno voljo.# Uporabite ga na kakršen koli način, dobičkonosno ali brezplačno, pod pogojem, da ustreza licencam povezanih del. # MPL3115A2 # Ta koda je zasnovana za delo z mini modulom MPL3115A2_I2CS I2C, ki je na voljo na spletnem mestu ControlEverything.com. #
uvoz smbus
čas uvoza
# Pridobite avtobus I2C
vodilo = smbus. SMBus (1)
# Naslov MPL3115A2, 0x60 (96)
# Izberite krmilni register, 0x26 (38) # 0xB9 (185) Aktivni način, OSR = 128, Višina načina vodila.write_byte_data (0x60, 0x26, 0xB9) # Naslov MPL3115A2, 0x60 (96) # Izberite register konfiguracije podatkov, 0x13 (19) # 0x07 (07) Podatkovno pripravljen dogodek za nadmorsko višino, tlak, temperaturno vodilo.write_byte_data (0x60, 0x13, 0x07) # naslov MPL3115A2, 0x60 (96) # Izberite kontrolni register, 0x26 (38) # 0xB9 (185) Aktivni način, OSR = 128, vodilo v načinu višinomera.write_byte_data (0x60, 0x26, 0xB9)
time.sleep (1)
# Naslov MPL3115A2, 0x60 (96)
# Preberite podatke nazaj iz 0x00 (00), 6 bajtov # status, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data (0x60, 0x00, 6)
# Pretvorite podatke v 20-bitne
tHeight = ((podatki [1] * 65536) + (podatki [2] * 256) + (podatki [3] & 0xF0)) / 16 temp = ((podatki [4] * 256) + (podatki [5] & 0xF0)) / 16 nadmorske višine = tVišina / 16,0 cTemp = temp / 16,0 fTemp = cTemp * 1,8 + 32
# Naslov MPL3115A2, 0x60 (96)
# Izberite kontrolni register, 0x26 (38) # 0x39 (57) Aktivni način, OSR = 128, Vodilo za način barometra.write_byte_data (0x60, 0x26, 0x39)
time.sleep (1)
# Naslov MPL3115A2, 0x60 (96)
# Preberite podatke nazaj iz 0x00 (00), 4 bajtov # status, pres MSB1, pres MSB, pres LSB data = bus.read_i2c_block_data (0x60, 0x00, 4)
# Pretvorite podatke v 20-bitne
pres = ((podatki [1] * 65536) + (podatki [2] * 256) + (podatki [3] & 0xF0)) / 16 tlak = (pres / 4.0) / 1000.0
# Iznesite podatke na zaslon
tiskanje "Tlak: %.2f kPa" %tisk tlaka "Nadmorska višina: %.2f m" %nadmorska višina tisk "Temperatura v Celzijih: %.2f C" %cTemperaturni tisk "Temperatura v Fahrenheitu: %.2f F" %fTemp
4. korak: Praktičnost kodeksa (testiranje)
Zdaj prenesite (ali git povlecite) kodo in jo odprite v Raspberry Pi.
Zaženite ukaze za sestavljanje in nalaganje kode v terminalu in si oglejte rezultate na monitorju. Po nekaj sekundah bodo prikazani vsi parametri. Ko se prepričate, da vse deluje brezhibno, lahko ta projekt vzamete v večji projekt.
5. korak: Aplikacije in funkcije
Običajno se uporablja senzor preciznega višinomera MPL3115A2 I²C v aplikacijah, kot so zemljevid (pomoč pri zemljevidu, navigacija), magnetni kompas ali GPS (GPS mrtvo računanje, izboljšava GPS za nujne storitve), visoko natančnost altimetrije, pametni telefoni/tablice, altimetrija osebne elektronike in sateliti (oprema vremenskih postaj/napovedovanje).
Za npr. projekt izdelave višinomera za osebno elektroniko, ki z Raspberry Pi meri višino, zračni tlak in temperaturo. Višinomer za osebno elektroniko je skupaj precej hiter projekt. Trajalo bo le nekaj trenutkov, če imate vse dele in ne improvizirate (seveda lahko!). Višinomer tlaka je višinomer, ki ga najdemo v večini letal, padalci pa za podobne namene uporabljajo različice, nameščene na zapestju. Pohodniki in alpinisti uporabljajo višinomere, nameščene na zapestju ali ročno.
6. korak: Zaključek
Upam, da bo ta projekt navdihnil nadaljnje eksperimentiranje. Ta senzor I²C je neverjetno vsestranski, poceni in dostopen. Ker gre za izjemno spremenljiv program, lahko na zanimiv način razširite ta projekt in ga naredite še boljšega. Na primer, višinomer je instrument, ki je neobvezen pri terenskih vozilih in pomaga pri navigaciji. Nekateri visoko zmogljivi luksuzni avtomobili, ki nikoli niso nameravali zapustiti asfaltiranih cest, uporabljajo to tehnologijo. Za vaše udobje imamo na YouTubu zanimivo video vadnico, ki bi vam lahko pomagala pri raziskovanju. Upam, da bo ta projekt navdihnil nadaljnje eksperimentiranje.
Priporočena:
M5STACK Kako prikazati temperaturo, vlažnost in tlak na M5StickC ESP32 z uporabo Visuina - enostavno narediti: 6 korakov
M5STACK Kako prikazati temperaturo, vlažnost in tlak na M5StickC ESP32 z uporabo Visuina - enostavno narediti: V tej vadnici se bomo naučili, kako programirati ESP32 M5Stack StickC z Arduino IDE in Visuino za prikaz temperature, vlažnosti in tlaka s senzorjem ENV (DHT12, BMP280, BMM150)
Vremenska postaja Arduino z uporabo BMP280 -DHT11 - Temperatura, vlažnost in tlak: 8 korakov
Vremenska postaja Arduino z uporabo BMP280 -DHT11 - Temperatura, vlažnost in tlak: V tej vadnici se bomo naučili, kako narediti vremensko postajo, ki bo na LCD zaslonu TFT 7735 prikazala TEMPERATURO, VLAGO IN TLAK Oglejte si predstavitveni video
Visuino I2C BMP280 Tlak, temperatura+OLED: 7 korakov
Visuino I2C BMP280 Tlak, temperatura+OLED: V tej vadnici bomo uporabili tlak I2C BMP280, temperaturni senzor, OLED lcd, Arduino UNO merili tlak in temperaturo ter prikazali rezultate na LCD -prikazovalniku. Oglejte si predstavitveni video
Z uporabo Raspberry Pi merite nadmorsko višino, tlak in temperaturo z MPL3115A2: 6 korakov
Z uporabo programa Raspberry Pi merite nadmorsko višino, tlak in temperaturo z MPL3115A2: Vedite, kaj imate in veste, zakaj ga imate! To je zanimivo. Živimo v dobi internetne avtomatizacije, ko se potopi v množico novih aplikacij. Kot navdušenci nad računalnikom in elektroniko smo se z Raspberry Pi a veliko naučili
Como Medir nadmorska višina Y temperatura Con Arduino: 5 korakov
Como Medir Altitud Y Temperatura Con Arduino: En este Instructable se encontrar á kot medij temperature in višine z arduino UNO, brez senzorja LCD in senzorja BMP 180