Sisällysluettelo:
Video: Raspberry Pi - MPL3115A2 Tarkka korkeusmittarin anturi Python -opetusohjelma: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
MPL3115A2 käyttää MEMS -paineanturia, jossa on I2C -liitäntä, joka antaa tarkat paine-/korkeus- ja lämpötilatiedot. Anturilähdöt digitalisoidaan korkean resoluution 24-bittisellä ADC: llä. Sisäinen käsittely poistaa korvaustehtävät isäntä MCU -järjestelmästä. Se pystyy havaitsemaan muutoksen vain 0,05 kPa, mikä vastaa 0,3 metrin korkeuden muutosta. Tässä on sen esittely vadelma pi: llä käyttäen python -koodia.
Vaihe 1: Mitä tarvitset..
1. Vadelma Pi
2. MPL3115A2
3. I²C -kaapeli
4. I²C -kilpi Raspberry Pi: lle
5. Ethernet -kaapeli
Vaihe 2: Liitännät:
Ota I2C -kilpi vadelma pi: lle ja työnnä sitä varovasti vadelma pi: n gpio -nastojen päälle.
Liitä sitten I2C -kaapelin toinen pää MPL3115A2 -anturiin ja toinen pää I2C -suojaan.
Liitä myös Ethernet -kaapeli pi: hen tai voit käyttää WiFi -moduulia.
Liitännät näkyvät yllä olevassa kuvassa.
Vaihe 3: Koodi:
MPL3115A2: n python-koodi voidaan ladata Github-arkistostamme- DCUBE Store -yhteisöstä.
Tässä on linkki
Olemme käyttäneet SMBus -kirjastoa python -koodille, SMBus -asennuksen vaiheet vadelma pi: lle on kuvattu tässä:
pypi.python.org/pypi/smbus-cffi/0.5.1
Voit myös kopioida koodin täältä, se annetaan seuraavasti:
# Jaetaan vapaaehtoisella lisenssillä.
# Käytä sitä haluamallasi tavalla, voittoa tai ilmaiseksi, jos se sopii siihen liittyvien teosten lisensseihin.
# MPL3115A2
# Tämä koodi on suunniteltu toimimaan MPL3115A2_I2CS I2C Mini -moduulin kanssa
tuoda smbus
tuonnin aika
# Hanki I2C -bussi
väylä = smbus. SMBus (1)
# MPL3115A2 -osoite, 0x60 (96)
# Valitse ohjausrekisteri, 0x26 (38)
# 0xB9 (185) Aktiivinen tila, OSR = 128, korkeusmittari
bus.write_byte_data (0x60, 0x26, 0xB9)
# MPL3115A2 -osoite, 0x60 (96)
# Valitse tietojen määritysrekisteri, 0x13 (19)
# 0x07 (07) Tietojen valmis tapahtuma käytössä korkeudessa, paineessa ja lämpötilassa
bus.write_byte_data (0x60, 0x13, 0x07)
# MPL3115A2 -osoite, 0x60 (96)
# Valitse ohjausrekisteri, 0x26 (38)
# 0xB9 (185) Aktiivinen tila, OSR = 128, korkeusmittari
bus.write_byte_data (0x60, 0x26, 0xB9)
time.sleep (1)
# MPL3115A2 -osoite, 0x60 (96)
# Lue tiedot takaisin 0x00 (00), 6 tavua
# tila, tKorkeus MSB1, tKorkeus MSB, tKorkeus LSB, lämpötila MSB, lämpötila LSB
data = bus.read_i2c_block_data (0x60, 0x00, 6)
# Muunna tiedot 20-bittisiksi
tKorkeus = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16
lämpötila = ((data [4] * 256) + (data [5] & 0xF0)) / 16
korkeus = tKorkeus / 16,0
cTemp = lämpötila / 16,0
fTemp = cTemp * 1,8 + 32
# MPL3115A2 -osoite, 0x60 (96)
# Valitse ohjausrekisteri, 0x26 (38)
# 0x39 (57) Aktiivinen tila, OSR = 128, barometritila
bus.write_byte_data (0x60, 0x26, 0x39)
time.sleep (1)
# MPL3115A2 -osoite, 0x60 (96)
# Lue tiedot takaisin 0x00 (00), 4 tavua
# tila, esivalinta MSB1, esivalittu MSB, esivalinta LSB
data = bus.read_i2c_block_data (0x60, 0x00, 4)
# Muunna tiedot 20-bittisiksi
pres = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16
paine = (pres / 4.0) / 1000.0
# Tulosta tiedot näytölle
tulosta "Paine: %.2f kPa" %paine
tulosta "Korkeus: %.2f m" %korkeus
tulosta "Lämpötila celsiusasteina: %.2f C" %cTemp
tulosta "Lämpötila Fahrenheit: %.2f F" %fTemp
Vaihe 4: Sovellukset:
MPL3115A2: n eri sovelluksiin kuuluu korkean tarkkuuden korkeusmittari, älypuhelimet/tabletit, henkilökohtaisen elektroniikan korkeusmittari jne. Se voidaan sisällyttää myös GPS -kuolleen laskennan, hätäpalvelujen GPS -parannuksen, kartta -avustimen, navigoinnin ja sääaseman laitteisiin.
Suositeltava:
Waveshare E-ink -näyttö Tarkka volttimittari (0-90v DC) ja Arduino Nano: 3 vaihetta
Waveshare E-ink -näyttö Tarkka volttimittari (0-90v DC) Arduino Nanon kanssa: Tässä opetusohjelmassa käytän 2,9 tuuman Waveshare-sähköpaperinäyttöä, jossa on Arduino Nano, jännitteenjakaja ja ADS1115 tarkkojen jännitteiden näyttämiseen jopa 90 volttia tasavirtaa E-paperinäytössä.Tässä ohjeessa yhdistetään nämä kaksi aiempaa projektia:- Ardui
Arduino tarkka ja tarkka voltimittari (0-90V DC): 3 vaihetta
Arduino tarkka ja tarkka volttimittari (0-90 V DC): Tässä ohjeessa olen rakentanut voltimittarin mittaamaan suurjännitteitä DC (0-90v) suhteellisen tarkasti ja tarkasti Arduino Nanon avulla. Otamani testimittaukset olivat riittävän tarkkoja, enimmäkseen 0,3 V: n sisällä todellisesta jännitteestä, joka mitattiin
3D -painettu Endgame Arc Reactor (elokuva tarkka ja puettava): 7 vaihetta (kuvilla)
3D -painettu Endgame Arc Reactor (Elokuva tarkka ja puettava): Koko Youtube -opetusohjelma: En löytänyt mitään erityisen tarkkoja 3D -tiedostoja Mark 50 -kaarireaktorille/nanohiukkasten kotelolle, joten kaverini ja minä keitimme makeita. Kesti paljon säätämistä, jotta asia näyttäisi tarkalta ja mahtavalta
GPSDO YT, kurinalainen oskillaattori 10 MHz: n vertailutaajuus. Halpa. Tarkka: 3 vaihetta
GPSDO YT, kurinalainen oskillaattori 10 MHz: n vertailutaajuus. Halpa. Tarkka .: *********************************************** ********************************* STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP Tämä on vanhentunut projekti. Tarkista sen sijaan uusi 2x16 lcd -näyttöversio saatavilla täältä: https: //www.instructables.com/id
Pingo: Liikkeentunnistava ja erittäin tarkka Ping Pong Ball Launcher: 8 vaihetta
Pingo: Liikkeentunnistava ja erittäin tarkka pingispallonheitin: Kevin Nitiema, Esteban Poveda, Anthony Mattacchione, Raphael Kay