Innholdsfortegnelse:
Video: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 Steps
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
MPL3115A2 bruker en MEMS -trykksensor med et I2C -grensesnitt for å gi nøyaktige trykk-/høyde- og temperaturdata. Sensorutgangene digitaliseres med en høyoppløselig 24-biters ADC. Intern behandling fjerner kompensasjonsoppgaver fra verts -MCU -systemet. Den er i stand til å oppdage en endring på bare 0,05 kPa som tilsvarer en endring i høyde på 0,3 m. Her er demonstrasjonen med bringebær pi ved hjelp av python -kode.
Trinn 1: Hva du trenger..
1. Bringebær Pi
2. MPL3115A2
3. I²C -kabel
4. I²C Shield for Raspberry Pi
5. Ethernet -kabel
Trinn 2: Tilkoblinger:
Ta et I2C -skjold for bringebærpi og skyv det forsiktig over gpio -pinnene til bringebærpi.
Koble deretter den ene enden av I2C -kabelen til MPL3115A2 -sensoren og den andre enden til I2C -skjoldet.
Koble også Ethernet -kabelen til pi eller du kan bruke en WiFi -modul.
Tilkoblinger er vist på bildet ovenfor.
Trinn 3: Kode:
Python-koden for MPL3115A2 kan lastes ned fra vårt Github-depot- DCUBE Store Community.
Her er lenken
Vi har brukt SMBus bibliotek for python -kode, trinnene for å installere SMBus på bringebær pi er beskrevet her:
pypi.python.org/pypi/smbus-cffi/0.5.1
Du kan også kopiere koden herfra, den er gitt som følger:
# Distribuert med en fri viljelisens.
# Bruk den slik du vil, profitt eller gratis, forutsatt at den passer inn i lisensene til de tilhørende verkene.
# MPL3115A2
# Denne koden er designet for å fungere med MPL3115A2_I2CS I2C Mini Module
importer smbus
importtid
# Få I2C -buss
buss = smbus. SMBus (1)
# MPL3115A2 adresse, 0x60 (96)
# Velg kontrollregister, 0x26 (38)
# 0xB9 (185) Aktiv modus, OSR = 128, høydemåler modus
bus.write_byte_data (0x60, 0x26, 0xB9)
# MPL3115A2 adresse, 0x60 (96)
# Velg datakonfigurasjonsregister, 0x13 (19)
# 0x07 (07) Dataklar hendelse aktivert for høyde, trykk, temperatur
bus.write_byte_data (0x60, 0x13, 0x07)
# MPL3115A2 adresse, 0x60 (96)
# Velg kontrollregister, 0x26 (38)
# 0xB9 (185) Aktiv modus, OSR = 128, høydemåler modus
bus.write_byte_data (0x60, 0x26, 0xB9)
time.sleep (1)
# MPL3115A2 adresse, 0x60 (96)
# Les data tilbake fra 0x00 (00), 6 byte
# status, høyde MSB1, høyde MSB, høyde LSB, temp MSB, temp LSB
data = bus.read_i2c_block_data (0x60, 0x00, 6)
# Konverter dataene til 20-bits
tHeight = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16
temp = ((data [4] * 256) + (data [5] og 0xF0)) / 16
høyde = tHeight / 16,0
cTemp = temp / 16,0
fTemp = cTemp * 1,8 + 32
# MPL3115A2 adresse, 0x60 (96)
# Velg kontrollregister, 0x26 (38)
# 0x39 (57) Aktiv modus, OSR = 128, Barometer -modus
bus.write_byte_data (0x60, 0x26, 0x39)
time.sleep (1)
# MPL3115A2 adresse, 0x60 (96)
# Les data tilbake fra 0x00 (00), 4 byte
# status, pres MSB1, pres MSB, pres LSB
data = bus.read_i2c_block_data (0x60, 0x00, 4)
# Konverter dataene til 20-bits
pres = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16
trykk = (pres / 4.0) / 1000.0
# Utdata til skjermen
print "Trykk: %.2f kPa" %trykk
print "Høyde: %.2f m" %høyde
print "Temperatur i Celsius: %.2f C" %cTemp
print "Temperatur i Fahrenheit: %.2f F" %fTemp
Trinn 4: Søknader:
Ulike bruksområder for MPL3115A2 inkluderer høy nøyaktighet altimetri, smarttelefoner/nettbrett, personlig elektronikk altimetri osv. Den kan også integreres i GPS Dead Reckoning, GPS Enhancement for Emergency Services, Map Assist, Navigasjon samt værstasjonsutstyr.
Anbefalt:
RC Plane Altimeter (kompatibel med Spektrum Telemetry): 7 trinn
RC Plane Altimeter (kompatibel med Spektrum Telemetry): Jeg lagde denne høydemåleren slik at piloten kunne vite at de er under 400 fot grensen på RC fly i USA. Vennen min var bekymret siden han ikke kunne si sikkert at han alltid var under 400 fot, og ønsket den ekstra forsikringen om at en sensor ville
DropArt - Precision Two Drop Photographic Collider: 11 trinn (med bilder)
DropArt - Precision Two Drop Photographic Collider: Hei alle sammen, I denne instruksen presenterer jeg designet mitt for en datastyrt to flytende drop collider. Før vi begynner med designdetaljene, synes jeg det er fornuftig å forklare nøyaktig hva som er formålet med designet. En morsom
Raspberry Pi - PCA9536 Input/output Expander Python Tutorial: 4 trinn
Raspberry Pi-PCA9536 Input/output Expander Python Tutorial: PCA9536 er en 8-pinners CMOS-enhet som gir 4 bits parallell inngang/utgang (GPIO) for generell bruk for I2C-buss/SMBus-applikasjoner. Den består av et 4-biters konfigurasjonsregister for å tjene formålet med input eller output-valg, 4-bit
Raspberry Pi A1332 Precision Hall - Effektvinkelsensor Java Opplæring: 4 trinn
Raspberry Pi A1332 Precision Hall - Effektvinkelsensor Java Opplæring: A1332 er en 360 ° kontaktløs høyoppløselig programmerbar magnetisk vinkelposisjonssensor. Den er designet for digitale systemer som bruker et I2C -grensesnitt. Den er bygget på Circular Vertical Hall (CVH) -teknologi og et programmerbart mikroprosessorbasert signal
Particle Photon - STS21 Temperature Sensor Tutorial: 4 Steps
Particle Photon - STS21 Temperature Sensor Tutorial: STS21 Digital Temperature Sensor tilbyr overlegen ytelse og et plassbesparende fotavtrykk. Den gir kalibrerte, lineariserte signaler i digitalt I2C -format. Fremstillingen av denne sensoren er basert på CMOSens -teknologi, som tilskrives den overlegne