Sadržaj:
- Korak 1: Imperativna oprema koja nam je potrebna
- Korak 2: Hardverske veze za sastavljanje kruga
- Korak 3: Raspberry Pi programiranje u Pythonu
- Korak 4: Praktičnost kodeksa (testiranje)
- Korak 5: Aplikacije i značajke
- Korak 6: Zaključak
Video: Nadmorska visina, pritisak i temperatura pomoću Raspberry Pi sa MPL3115A2: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
Zvuči zanimljivo. To je sasvim moguće u ovo doba kada svi ulazimo u IoT generaciju. Kao nakaza za elektroniku, igrali smo se sa Raspberry Pi -em i odlučili da napravimo zanimljive projekte koristeći ovo znanje. U ovom projektu mjerit ćemo visinu, tlak zraka, temperaturu pomoću Raspberry Pi. Dakle, ovdje ide dokumentacija (uvijek se mijenja i proširuje). Preporučujemo da počnete slijedeći upute i kopirate kôd. Kasnije možete eksperimentisati. Pa počnimo.
Korak 1: Imperativna oprema koja nam je potrebna
1. Malina Pi
Prvi korak je bio dobivanje Raspberry Pi ploče. Mi smo kupili naš, a možete i vi. Počeli smo učiti iz vodiča, razumjeli smo koncepte skriptiranja i povezivanja i kasnije naučili. Ovaj mali genij uobičajen je za hobiste, učitelje i stvaranje inovativnih okruženja.
2. I²C štit za Raspberry Pi
INPI2 (I2C adapter) pruža Raspberry Pi 2/3 i I²C port za upotrebu sa više I2C uređaja. Dostupno je u trgovini Dcube
3. Visinomer, senzor pritiska i temperature, MPL3115A2
MPL3115A2 je MEMS senzor pritiska sa I²C interfejsom koji daje podatke o pritisku/nadmorskoj visini i temperaturi. Ovaj senzor koristi I²C protokol za komunikaciju. Ovaj senzor smo kupili u Dcube Store -u
4. Priključni kabel
Imali smo I2C priključni kabel dostupan u Dcube Storeu
5. Mikro USB kabl
Napajanje mikro USB kabelom idealan je izbor za napajanje Raspberry Pi.
6. Poboljšanje pristupa internetu - Ethernet kabel/WiFi adapter
U ovoj eri, za pristup bilo čemu potrebna je internetska veza (gotovo kao što postoji i život van mreže). Stoga idemo poslušati savjet LAN kabela ili bežičnog Nano USB adaptera (WiFi) za izgradnju internetske veze kako bismo mogli koristiti naš Rasp Pi s lakoćom i bez ikakvih problema.
7. HDMI kabel (opcionalno, vaš izbor)
To je malo zeznuto. Možete imati mogućnost priključivanja drugog monitora u slučaju da želite ili je to za vas vrlo isplativo tako što ćete uspostaviti Pi vezu bez glave sa svojim računarom/prijenosnim računarom.
Korak 2: Hardverske veze za sastavljanje kruga
Napravite krug prema prikazanoj shemi. Općenito, veze su vrlo jednostavne. Slijedite upute i slike i ne biste trebali imati problema.
Prilikom planiranja, bavili smo se hardverom i kodiranjem, kao i osnovama elektronike. Željeli smo osmisliti jednostavnu elektroničku shemu za ovaj projekt. Na dijagramu možete primijetiti različite dijelove, komponente napajanja i I²C senzor slijedeći I²C komunikacijske protokole. Nadajmo se da ovo ilustrira koliko je jednostavna elektronika za ovaj projekt.
Povezivanje Raspberry Pi i I2C štita
Prije svega uzmite Raspberry Pi i postavite I²C štit na njega. Lagano pritisnite štit (pogledajte sliku).
Povezivanje senzora i Raspberry Pi
Uzmite senzor i spojite I²C kabel s njim. Uvjerite se da je I²C izlaz UVIJEK spojen na I²C ulaz. Isto bi trebalo slijediti i Raspberry Pi sa I²C štitom montiranim preko njega. Imamo I²C štit i I²C spojne kabele sa naše strane kao veliku prednost jer nam preostaje samo mogućnost plug and play. Nema više problema sa iglama i ožičenjem pa je zabuna nestala. Kakvo je olakšanje samo zamisliti sebe u mreži žica i ući u to. Samo jednostavan proces koji smo spomenuli.
Napomena: Smeđa žica uvijek treba slijediti vezu uzemljenja (GND) između izlaza jednog uređaja i ulaza drugog uređaja
Internet povezivanje je od vitalnog značaja
Ovdje zapravo imate izbor. Možete povezati Raspberry Pi pomoću LAN kabela ili bežičnog Nano USB adaptera za WiFi vezu. U svakom slučaju, cilj mu je bio povezati se s internetom.
Napajanje strujnog kola
Uključite mikro USB kabel u utičnicu za napajanje Raspberry Pi. Upalite i dobro smo krenuli.
Povezivanje sa ekranom
Možemo ili HDMI kabel spojiti na novi monitor ili možemo napraviti naš Pi bez glave koji je kreativan i isplativ koristeći daljinski pristup poput-SSH/PuTTY. (Znam da se ne financiramo kao tajna organizacija)
Korak 3: Raspberry Pi programiranje u Pythonu
Python kod za Raspberry Pi i MPL3115A2 senzor. Dostupno je u našem Github spremištu.
Prije nego što pređete na kôd, svakako pročitajte upute date u datoteci Readme i postavite Raspberry Pi prema njemu. Za to će trebati samo trenutak.
Nadmorska visina se izračunava iz pritiska koristeći sljedeću jednadžbu:
h = 44330,77 {1 - (p / p0) ^ 0,1902632} + OFF_H (Vrijednost registra)
Gdje je p0 = tlak na razini mora (101326 Pa), a h je u metrima. MPL3115A2 koristi ovu vrijednost budući da je registar pomaka definiran kao 2 paskala po LSB -u.
Kôd je jasno pred vama i u najjednostavnijem obliku koji možete zamisliti i ne biste trebali imati problema.
Ovdje možete kopirati i radni Python kôd za ovaj senzor.
# Distribuira se sa slobodnom voljom licence.# Koristite ga kako god želite, profitno ili besplatno, pod uvjetom da se uklapa u licence povezanih djela. # MPL3115A2 # Ovaj kod je dizajniran za rad s MPL3115A2_I2CS I2C mini modulom dostupnim na stranici ControlEverything.com. #
import smbus
vreme uvoza
# Nabavite I2C autobus
sabirnica = smbus. SMBus (1)
# MPL3115A2 adresa, 0x60 (96)
# Odaberite kontrolni registar, 0x26 (38) # 0xB9 (185) Aktivni način rada, OSR = 128, Sabirnički način rada u visinomjeru.write_byte_data (0x60, 0x26, 0xB9) # MPL3115A2 adresa, 0x60 (96) # Odaberite registar konfiguracije podataka, 0x13 (19) # 0x07 (07) Događaj spreman za podatke omogućen za nadmorsku visinu, pritisak, temperaturu bus.write_byte_data (0x60, 0x13, 0x07) # MPL3115A2 adresa, 0x60 (96) # Odaberite upravljački registar, 0x26 (38) # 0xB9 (185) Aktivni način rada, OSR = 128, Sabirnički način rada visinomjera.write_byte_data (0x60, 0x26, 0xB9)
time.sleep (1)
# MPL3115A2 adresa, 0x60 (96)
# Očitavanje podataka iz 0x00 (00), 6 bajtova # status, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data (0x60, 0x00, 6)
# Pretvorite podatke u 20-bitne
tHeight = ((podaci [1] * 65536) + (podaci [2] * 256) + (podaci [3] & 0xF0)) / 16 temp = ((podaci [4] * 256) + (podaci [5] & 0xF0)) / 16 nadmorska visina = tHeight / 16,0 cTemp = temp / 16,0 fTemp = cTemp * 1,8 + 32
# MPL3115A2 adresa, 0x60 (96)
# Odaberite upravljački registar, 0x26 (38) # 0x39 (57) Aktivni način rada, OSR = 128, Sabirnički način rada barometra.write_byte_data (0x60, 0x26, 0x39)
time.sleep (1)
# MPL3115A2 adresa, 0x60 (96)
# Očitavanje podataka iz 0x00 (00), 4 bajta # status, pres MSB1, pres MSB, pres LSB podaci = bus.read_i2c_block_data (0x60, 0x00, 4)
# Pretvorite podatke u 20-bitne
pres = ((podaci [1] * 65536) + (podaci [2] * 256) + (podaci [3] & 0xF0)) / 16 pritisak = (pres / 4.0) / 1000.0
# Izlažite podatke na ekran
ispis "Pritisak: %.2f kPa" %pritisak ispis "Nadmorska visina: %.2f m" %nadmorska visina ispis "Temperatura u Celzijusima: %.2f C" %cTemp ispis "Temperatura u Farenhajtu: %.2f F" %fTemp
Korak 4: Praktičnost kodeksa (testiranje)
Sada preuzmite (ili git povucite) kôd i otvorite ga u Raspberry Pi.
Pokrenite naredbe za kompajliranje i učitavanje koda u terminalu i pogledajte izlaz na monitoru. Nakon nekoliko sekundi prikazat će se svi parametri. Nakon što se uvjerite da sve radi glatko, ovaj projekt možete pretvoriti u veći projekt.
Korak 5: Aplikacije i značajke
Uobičajena upotreba senzora preciznog visinomjera MPL3115A2 I²C je u aplikacijama kao što su Karta (Map Assist, Navigacija), Magnetski kompas ili GPS (GPS mrtvo računanje, GPS poboljšanje za hitne službe), Altimetrija visoke tačnosti, Pametni telefoni/Tableti, Altimetrija lične elektronike i sateliti (oprema meteoroloških stanica/predviđanje).
Za npr. projekt za izradu visinomjera Personal Electronics koji mjeri visinu, tlak zraka, temperaturu pomoću Raspberry Pi. Visinomer za osobnu elektroniku ukupno je prilično brz projekt za izgradnju. Bit će potrebno samo nekoliko trenutaka ako imate sve dijelove i ne improvizirate (naravno da možete!). Visinomer pritiska je visinomjer koji se nalazi u većini aviona, a padobranci za slične svrhe koriste verzije montirane na ručni zglob. Planinari i planinari koriste visinomjere na ručnim zglobovima ili ručne.
Korak 6: Zaključak
Nadam se da će ovaj projekt potaknuti daljnja eksperimentiranja. Ovaj I²C senzor je nevjerovatno svestran, jeftin i pristupačan. Budući da se radi o izuzetno promjenjivom programu, postoje zanimljivi načini na koje možete proširiti ovaj projekt i učiniti ga još boljim. Na primjer, visinomjer je instrument opcionalan u terenskim vozilima koji pomaže u navigaciji. Neki luksuzni automobili visokih performansi koji nikada nisu namjeravali napustiti asfaltirane ceste, koriste ovu tehnologiju. Radi vaše udobnosti, na YouTubeu imamo zanimljiv video vodič koji bi vam mogao pomoći u istraživanju. Nadam se da će ovaj projekt potaknuti daljnja eksperimentiranja.
Preporučuje se:
M5STACK Kako prikazati temperaturu, vlažnost i pritisak na M5StickC ESP32 pomoću Visuina - jednostavno za napraviti: 6 koraka
M5STACK Kako prikazati temperaturu, vlažnost i pritisak na M5StickC ESP32 pomoću Visuina - jednostavno za napraviti: U ovom ćemo vodiču naučiti kako programirati ESP32 M5Stack StickC s Arduino IDE i Visuino za prikaz temperature, vlažnosti i tlaka pomoću ENV senzora (DHT12, BMP280, BMM150)
Pritisak Y Temperatura i LCD ekran sa Arduinom: 5 koraka
Presión Y Temperatura En LCD Con Arduino: Con este tutorial, se ense ñ ar á LCD ekran sa arduinskim parametrom za postavljanje na pantallu se mora podešavati prema "oacute", n y temperaturi, u skladu sa BMP180. Aqu í se encontrara cada paso para completarlo, incluyendo im á gen
Visuino I2C BMP280 Pritisak, temperatura+OLED: 7 koraka
Visuino I2C BMP280 pritisak, temperatura+OLED: U ovom vodiču ćemo koristiti I2C BMP280 pritisak, senzor temperature, OLED lcd, Arduino UNO mjeriti pritisak i temperaturu i prikazati rezultate na LCD -u. Pogledajte demonstracijski video
Koristeći Raspberry Pi, mjerite nadmorsku visinu, pritisak i temperaturu s MPL3115A2: 6 koraka
Korištenje Raspberry Pi -a, mjerenje nadmorske visine, pritiska i temperature pomoću MPL3115A2: Znajte šta posjedujete i znajte zašto ga posjedujete! To je intrigantno. Živimo u doba internetske automatizacije koja se uranja u mnoštvo novih aplikacija. Kao entuzijasti u računaru i elektronici, mnogo smo naučili sa Raspberry Pi
Como Medir nadmorska visina Y temperatura Arduino: 5 koraka
Como Medir Altitud Y Temperature Con Arduino: En Instructable se encontrar á kao što je temperatura na visini sa arduino UNO, LCD sa senzorom i senzor BMP 180