Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-23 15:05
Znie to zaujímavo. V tejto dobe, keď všetci ideme do generácie IoT, je to celkom možné. Ako elektronický blázon sme hrali s Raspberry Pi a rozhodli sme sa pomocou týchto znalostí vytvoriť zaujímavé projekty. V tomto projekte budeme merať nadmorskú výšku, tlak vzduchu, teplotu pomocou Raspberry Pi. Takže tu je dokumentácia (vždy sa upravuje a rozširuje). Odporúčame začať podľa týchto pokynov a skopírujte kód. Môžete experimentovať neskôr. Začnime teda.
Krok 1: Potrebné vybavenie
1. Raspberry Pi
Prvým krokom bolo získanie dosky Raspberry Pi. My sme kúpili ten náš a vy tiež. Začali sme sa učiť z návodov, porozumeli sme konceptom skriptovania a prepojenia a učili sme sa neskôr. Tento malý génius je bežný pre fanúšikov, učiteľov a pri vytváraní inovatívnych prostredí.
2. I²C štít pre Raspberry Pi
INPI2 (adaptér I2C) poskytuje port Raspberry Pi 2/3 a I²C na použitie s viacerými zariadeniami I2C. Je k dispozícii v obchode Dcube Store
3. Výškomer, snímač tlaku a teploty, MPL3115A2
MPL3115A2 je snímač tlaku MEMS s rozhraním I²C, ktorý poskytuje údaje o tlaku/nadmorskej výške a teplote. Tento senzor používa na komunikáciu protokol I²C. Tento senzor sme kúpili v obchode Dcube Store
4. Pripojovací kábel
V obchode Dcube Store sme mali k dispozícii prepojovací kábel I2C
5. Kábel Micro USB
Micro USB kábel Napájací zdroj je ideálnou voľbou pre napájanie Raspberry Pi.
6. Vylepšenie prístupu na internet - ethernetový kábel/WiFi adaptér
V tejto dobe si získanie prístupu k čomukoľvek vyžaduje internetové pripojenie (takmer ako sa žije aj offline). Necháme si teda poradiť LAN káblom alebo bezdrôtovým Nano USB adaptérom (WiFi), aby sme vytvorili internetové pripojenie, aby sme mohli náš Rasp Pi používať jednoducho a vôbec bez problémov.
7. Kábel HDMI (voliteľný, vaša voľba)
Je to trochu zložité. Ak chcete, môžete mať možnosť pripojiť ďalší monitor, alebo je to pre vás veľmi výhodné z hľadiska nákladov, a to vytvorením bezhlavého pripojenia Pi k počítaču/prenosnému počítaču.
Krok 2: Hardvérové pripojenia na zostavenie obvodu
Vytvorte obvod podľa zobrazenej schémy. Vo všeobecnosti sú pripojenia veľmi jednoduché. Postupujte podľa pokynov a obrázkov a nemali by ste mať žiadne problémy.
Pri plánovaní sme sa zamerali na hardvér a kódovanie, ako aj na základy elektroniky. Chceli sme pre tento projekt navrhnúť jednoduchú schému elektroniky. Na diagrame si môžete všimnúť rôzne časti, napájacie komponenty a snímač I²C podľa komunikačných protokolov I²C. Našťastie to ukazuje, aká jednoduchá je elektronika pre tento projekt.
Pripojenie štítu Raspberry Pi a I2C
Najprv vezmite Raspberry Pi a umiestnite naň štít I²C. Jemne stlačte štít (pozri obrázok).
Pripojenie senzora a Raspberry Pi
Vezmite snímač a pripojte k nemu kábel I²C. Zaistite, aby sa výstup I²C VŽDY pripájal k vstupu I²C. To isté bude nasledovať Raspberry Pi s nad ním namontovaným štítom I²C. Štít I²C Shield a prepojovacie káble I²C máme na našej strane ako veľmi veľkú výhodu, pretože nám zostáva iba možnosť Plug and Play. Už žiadne problémy s kolíkmi a káblami, a preto zmätok je preč. Aká to úľava, keď si predstavíte seba v spleti drôtov a pustíte sa do toho. Je to jednoduchý proces, ktorý sme spomenuli.
Poznámka: Hnedý vodič by mal vždy nasledovať po uzemnení (GND) medzi výstupom jedného zariadenia a vstupom iného zariadenia
Pripojenie k internetu je životne dôležité
V skutočnosti tu máte na výber. Raspberry Pi môžete pripojiť pomocou kábla LAN alebo bezdrôtového adaptéra Nano USB pre pripojenie WiFi. V každom prípade to splnilo hlavný cieľ, ktorým je pripojenie k internetu.
Napájanie obvodu
Zapojte kábel Micro USB do napájacieho konektora Raspberry Pi. Zapáľte a môžeme vyraziť.
Pripojenie k obrazovke
Buď môžeme kábel HDMI pripojiť k novému monitoru, alebo si môžeme vytvoriť náš bezhlavý Pi, ktorý je kreatívny a nákladovo efektívny pomocou vzdialeného prístupu ako SSH/PuTTY. (Viem, že nie sme financovaní ako tajná organizácia)
Krok 3: Programovanie Raspberry Pi v Pythone
Kód Python pre snímač Raspberry Pi a MPL3115A2. Je k dispozícii v našom úložisku Github.
Predtým, ako prejdete na kód, prečítajte si pokyny uvedené v súbore Readme a nakonfigurujte podľa neho svoje Raspberry Pi. Zaberie to len chvíľu.
Nadmorská výška sa vypočíta z tlaku pomocou nasledujúcej rovnice:
h = 44330,77 {1 - (p / p0) ^ 0,1902632} + OFF_H (hodnota registra)
Kde p0 = tlak hladiny mora (101326 Pa) a h je v metroch. MPL3115A2 používa túto hodnotu, pretože ofsetový register je definovaný ako 2 pascaly na LSB.
Kód je jasne pred vami a je v najjednoduchšej forme, akú si dokážete predstaviť, a nemali by ste mať žiadne problémy.
Odtiaľto môžete skopírovať funkčný kód Pythonu pre tento senzor.
# Distribuované s licenciou slobodnej vôle.# Používajte ho akýmkoľvek spôsobom chcete, so ziskom alebo zadarmo, za predpokladu, že sa zmestí do licencií k ním pridruženým dielam. # MPL3115A2 # Tento kód je navrhnutý tak, aby fungoval s mini modulom MPL3115A2_I2CS I2C, ktorý je k dispozícii na ControlEverything.com. #
import smbus
čas importu
# Získajte autobus I2C
bus = smbus. SMBus (1)
# MPL3115A2 adresa, 0x60 (96)
# Vyberte riadiaci register, 0x26 (38) # 0xB9 (185) Aktívny režim, OSR = 128, výškomerová zbernica.write_byte_data (0x60, 0x26, 0xB9) # Adresa MPL3115A2, 0x60 (96) # Vyberte register konfigurácie údajov, 0x13 (19) # 0x07 (07) Udalosť pripravená na údaje povolená pre nadmorskú výšku, tlak a teplotu zbernice. Write_byte_data (0x60, 0x13, 0x07) # Adresa MPL3115A2, 0x60 (96) # Vyberte riadiaci register, 0x26 (38) # 0xB9 (185) Aktívny režim, OSR = 128, zbernica v režime výškomera.write_byte_data (0x60, 0x26, 0xB9)
time.sleep (1)
# MPL3115A2 adresa, 0x60 (96)
# Čítanie údajov späť z 0x00 (00), 6 bajtov # stav, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data (0x60, 0x00, 6)
# Konvertujte údaje na 20-bitové
tHeight = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16 temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16 nadmorská výška = tVýška / 16,0 cTemp = teplota / 16,0 fTemp = cTemp * 1,8 + 32
# MPL3115A2 adresa, 0x60 (96)
# Vyberte riadiaci register, 0x26 (38) # 0x39 (57) Aktívny režim, OSR = 128, zbernica barometrického režimu.write_byte_data (0x60, 0x26, 0x39)
time.sleep (1)
# MPL3115A2 adresa, 0x60 (96)
# Načítanie údajov späť z 0x00 (00), 4 bajty # stav, pres MSB1, pres MSB, pres LSB údaje = bus.read_i2c_block_data (0x60, 0x00, 4)
# Konvertujte údaje na 20-bitové
pres = ((údaje [1] * 65536) + (údaje [2] * 256) + (údaje [3] a 0xF0)) / 16 tlak = (prez / 4,0) / 1000,0
# Výstup údajov na obrazovku
tlač "Tlak: %.2f kPa" %tlaková tlač "Nadmorská výška: %.2f m" %nadmorská výška tlač "Teplota v stupňoch Celzia: %.2f C" %cTemp tlač "Teplota vo Fahrenheite: %.2f F" %fTemp
Krok 4: Praktickosť kódu (testovanie)
Teraz si stiahnite (alebo git pull) kód a otvorte ho v Raspberry Pi.
Spustite príkazy na kompiláciu a nahrajte kód do terminálu a pozrite sa na výstup na monitore. Po niekoľkých sekundách sa zobrazia všetky parametre. Keď sa ubezpečíte, že všetko funguje hladko, môžete tento projekt previesť na väčší projekt.
Krok 5: Aplikácie a funkcie
Bežné použitie senzora presného výškomeru MPL3115A2 I²C MPL3115A2 je v aplikáciách, ako je mapa (asistencia mapy, navigácia), magnetický kompas alebo GPS (GPS Dead Reckoning, GPS Enhancement for Emergency Services), vysoko presná výškomer, smartfóny/tablety, výškomer pre osobnú elektroniku a satelity (vybavenie/predpovede meteorologickej stanice).
Napríklad pre projekt na výrobu osobného elektronického výškomera, ktorý meria nadmorskú výšku, tlak vzduchu a teplotu pomocou Raspberry Pi. Osobný elektronický výškomer je celkom rýchly projekt na výstavbu. Ak máte všetky časti a nebudete improvizovať, bude to trvať len niekoľko okamihov (samozrejme, že môžete!). Tlakový výškomer je výškomer, ktorý sa nachádza vo väčšine lietadiel, a parašutisti na podobné účely používajú verzie upevnené na zápästí. Peší turisti a horolezci používajú výškomery namontované na zápästí alebo v ruke.
Krok 6: Záver
Dúfam, že tento projekt inšpiruje ďalšie experimentovanie. Tento snímač I²C je neuveriteľne univerzálny, lacný a prístupný. Keďže ide o mimoriadne premenlivý program, existujú zaujímavé spôsoby, ako tento projekt rozšíriť a ešte vylepšiť. Výškomer je napríklad voliteľný nástroj v terénnych vozidlách na pomoc pri navigácii. Túto technológiu používajú niektoré vysokovýkonné luxusné autá, ktoré nikdy nemali opúšťať spevnené cesty. Pre vaše pohodlie máme pre vás zaujímavý video návod na YouTube, ktorý by vám mohol pomôcť pri vašom skúmaní. Dúfam, že tento projekt inšpiruje ďalšie experimentovanie.
Odporúča:
M5STACK Ako zobraziť teplotu, vlhkosť a tlak na M5StickC ESP32 pomocou Visuino - jednoduché kroky: 6 krokov
M5STACK Ako zobraziť teplotu, vlhkosť a tlak na M5StickC ESP32 pomocou programu Visuino - Jednoduché kroky: V tomto návode sa naučíme, ako naprogramovať ESP32 M5Stack StickC s Arduino IDE a Visuino na zobrazenie teploty, vlhkosti a tlaku pomocou snímača ENV (DHT12, BMP280, BMM150)
Meteostanica Arduino využívajúca BMP280 -DHT11 - teplota, vlhkosť a tlak: 8 krokov
Meteostanica Arduino používajúca BMP280 -DHT11 - teplota, vlhkosť a tlak: V tomto návode sa naučíme vyrobiť meteostanicu, ktorá bude na displeji TFT 7735 zobrazovať TEPLOTU, VLHKOSŤ A TLAK. Pozrite si ukážkové video
Visuino I2C BMP280 tlak, teplota+OLED: 7 krokov
Visuino I2C BMP280 Tlak, Teplota+OLED: V tomto návode použijeme tlak, teplotný senzor I2C BMP280, OLED LCD, Arduino UNO na meranie tlaku a teploty a zobrazenie výsledkov na LCD. Pozrite si ukážkové video
Pomocou Raspberry Pi zmerajte nadmorskú výšku, tlak a teplotu pomocou MPL3115A2: 6 krokov
Používanie Raspberry Pi, meranie nadmorskej výšky, tlaku a teploty pomocou MPL3115A2: Zistite, čo vlastníte, a prečo to vlastníte! Je to zaujímavé. Žijeme v dobe internetovej automatizácie, ktorá sa vrhá do množstva nových aplikácií. Ako nadšenci počítačov a elektroniky sme sa s Raspberry Pi veľa naučili
Priemerná výška a teplota pre Arduino: 5 krokov
Väčšina priemerov a teplôt pre Arduino: Je to inštruovateľné, pretože je možné á priemerná teplota a nadmorská výška s Arduino UNO, bez LCD a so snímačom BMP 180