Sadržaj:

Nadmorska visina, tlak i temperatura pomoću Raspberry Pi s MPL3115A2: 6 koraka
Nadmorska visina, tlak i temperatura pomoću Raspberry Pi s MPL3115A2: 6 koraka

Video: Nadmorska visina, tlak i temperatura pomoću Raspberry Pi s MPL3115A2: 6 koraka

Video: Nadmorska visina, tlak i temperatura pomoću Raspberry Pi s MPL3115A2: 6 koraka
Video: ПОЛНАЯ ИГРА ПОЛНЫЙ ПРОВАЛ 2 | КАМПАНИЯ — Прохождение / PS4 (Все шлемы пилотов) 2024, Srpanj
Anonim
Nadmorska visina, tlak i temperatura pomoću Raspberry Pi s MPL3115A2
Nadmorska visina, tlak i temperatura pomoću Raspberry Pi s MPL3115A2
Nadmorska visina, tlak i temperatura pomoću Raspberry Pi s MPL3115A2
Nadmorska visina, tlak i temperatura pomoću Raspberry Pi s MPL3115A2

Zvuči zanimljivo. To je sasvim moguće u ovo doba kada svi ulazimo u IoT generaciju. Kao nakaza za elektroniku, igrali smo se s Raspberry Pi i odlučili smo napraviti zanimljive projekte koristeći to 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 slijediti upute i kopirati kôd. Kasnije možete eksperimentirati. Pa krenimo.

Korak 1: Imperativna oprema koja nam je potrebna

Imperativna oprema koja nam je potrebna
Imperativna oprema koja nam je potrebna
Imperativna oprema koja nam je potrebna
Imperativna oprema koja nam je potrebna
Imperativna oprema koja nam je potrebna
Imperativna oprema koja nam je potrebna
Imperativna oprema koja nam je potrebna
Imperativna oprema koja nam je potrebna

1. Malina Pi

Prvi korak bio je 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 te smo 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) omogućuje Raspberry Pi 2/3 an I²C priključak za upotrebu s više I2C uređaja. Dostupno je u trgovini Dcube

3. Visinomjer, osjetnik tlaka i temperature, MPL3115A2

MPL3115A2 je MEMS osjetnik tlaka s I²C sučeljem koji daje podatke o tlaku/nadmorskoj visini i temperaturi. Ovaj senzor koristi I²C protokol za komunikaciju. Ovaj smo senzor kupili u trgovini Dcube

4. Spojni kabel

U Dcube trgovini imali smo na raspolaganju I2C spojni kabel

5. Mikro USB kabel

Napajanje mikro USB kabelom idealan je izbor za napajanje Raspberry Pi.

6. Poboljšanje pristupa internetu - Ethernet kabel/WiFi adapter

U ovo doba za pristup bilo čemu potrebna je internetska veza (gotovo kao što postoji i život izvan 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 (izborno, vaš izbor)

Malo je zeznuto. Možete imati mogućnost priključivanja drugog monitora u slučaju da želite ili je to vrlo isplativo za vas tako što ćete uspostaviti Pi vezu bez glave sa svojim računalom/prijenosnim računalom.

Korak 2: Hardverske veze za sastavljanje kruga

Hardverske veze za sastavljanje kruga
Hardverske veze za sastavljanje kruga
Hardverske veze za sastavljanje kruga
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.

Tijekom planiranja, bavili smo se hardverom i kodiranjem, kao i osnovama elektronike. Željeli smo osmisliti jednostavnu shemu elektronike 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 (vidi sliku).

Spajanje senzora i Raspberry Pi

Uzmite senzor i spojite I²C kabel s njim. Provjerite je li izlaz I²C UVIJEK spojen na ulaz I²C. Isto treba slijediti i Raspberry Pi s I²C štitom montiranim preko njega. Imamo I²C štit i I²C spojne kabele sa svoje strane kao vrlo 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 postupak koji smo spomenuli.

Napomena: Smeđa žica uvijek bi trebala slijediti vezu uzemljenja (GND) između izlaza jednog uređaja i ulaza drugog uređaja

Povezivanje s internetom od vitalnog je značaja

Ovdje zapravo imate izbor. Raspberry Pi možete povezati pomoću LAN kabela ili bežičnog Nano USB adaptera za WiFi povezivanje. U svakom slučaju, učinio je glavni cilj povezivanje s internetom.

Napajanje strujnog kruga

Priključite mikro USB kabel u utičnicu za napajanje Raspberry Pi. Upalite ga i spremni smo za polazak.

Spajanje na zaslon

HDMI kabel možemo spojiti na novi monitor ili napraviti naš Pi bez glave koji je kreativan i isplativ pomoću daljinskog pristupa poput-SSH/PuTTY. (Znam da se ne financiramo poput tajne organizacije)

Korak 3: Programiranje Raspberry Pi u Pythonu

Programiranje Raspberry Pi u Pythonu
Programiranje Raspberry Pi u Pythonu

Python kod za Raspberry Pi i MPL3115A2 senzor. Dostupno je u našem Github spremištu.

Prije nego prijeđete na kôd, svakako pročitajte upute date u datoteci Readme i postavite Raspberry Pi prema njemu. Trebat će samo trenutak da to učinite.

Nadmorska visina se izračunava iz tlaka pomoću jednadžbe u nastavku:

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 je obliku koji možete zamisliti i ne biste trebali imati problema.

Ovdje možete kopirati i radni Python kôd za ovaj senzor.

# Distribuirano s licencom slobodne volje.# Koristite ga kako god želite, profitno ili besplatno, pod uvjetom da se uklapa u licence povezanih djela. # MPL3115A2 # Ovaj kôd je dizajniran za rad s MPL3115A2_I2CS I2C mini modulom dostupnim na stranici ControlEverything.com. #

uvoz smbus

vrijeme uvoza

# Nabavite I2C autobus

sabirnica = smbus. SMBus (1)

# MPL3115A2 adresa, 0x60 (96)

# Odaberite upravljački registar, 0x26 (38) # 0xB9 (185) Aktivni način rada, OSR = 128, Sabirnica načina rada altimetera.write_byte_data (0x60, 0x26, 0xB9) # MPL3115A2 adresa, 0x60 (96) # Odaberite registar konfiguracije podataka, 0x13 (19) # 0x07 (07) Događaj spremnosti podataka omogućen za nadmorsku visinu, tlak, temperaturnu sabirnicu.write_byte_data (0x60, 0x13, 0x07) # MPL3115A2 adresa, 0x60 (96) # Odaberite upravljački registar, 0x26 (38) # 0xB9 (185) Aktivni način rada, OSR = 128, Sabirnica načina rada altimeter.write_byte_data (0x60, 0x26, 0xB9)

vrijeme.spavanje (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, Sabirnica načina barometra.write_byte_data (0x60, 0x26, 0x39)

vrijeme.spavanje (1)

# MPL3115A2 adresa, 0x60 (96)

# Očitavanje podataka iz 0x00 (00), 4 bajta # status, pres MSB1, pres MSB, pres LSB podaci = sabirnica.read_i2c_block_data (0x60, 0x00, 4)

# Pretvorite podatke u 20-bitne

pres = ((podaci [1] * 65536) + (podaci [2] * 256) + (podaci [3] & 0xF0)) / 16 tlak = (pres / 4.0) / 1000.0

# Izlažite podatke na zaslon

ispis "Tlak: %.2f kPa" %ispis pritiska "Nadmorska visina: %.2f m" %nadmorska visina ispis "Temperatura u Celzijusima: %.2f C" %cTemp ispis "Temperatura u Fahrenheitu: %.2f F" %fTemp

Korak 4: Praktičnost kodeksa (testiranje)

Praktičnost kodeksa (testiranje)
Praktičnost kodeksa (testiranje)

Sada preuzmite (ili git povucite) kôd i otvorite ga u Raspberry Pi.

Pokrenite naredbe za kompajliranje i prijenos koda na terminalu i pogledajte izlaz na monitoru. Nakon nekoliko sekundi prikazat će se svi parametri. Nakon što se pobrinete 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 točnosti, Pametni telefoni/tableti, Altimetrija osobne 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. Visinomjer osobne elektronike ukupno je prilično brz projekt za izgradnju. Trebat će samo nekoliko trenutaka ako imate sve dijelove i ne improvizirate (naravno da možete!). Visinomjer tlaka je visinomjer koji se nalazi u većini zrakoplova, 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 daljnje eksperimentiranje. Ovaj I²C senzor nevjerojatno je svestran, jeftin i pristupačan. Budući da se radi o iznimno 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 opcijski 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 daljnje eksperimentiranje.

Preporučeni: