Indholdsfortegnelse:
Video: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
MPL3115A2 anvender en MEMS -trykføler med en I2C -grænseflade til at levere nøjagtige data om tryk/højde og temperatur. Sensorudgangene digitaliseres med en højopløselig 24-bit ADC. Intern behandling fjerner kompensationsopgaver fra værts -MCU -systemet. Det er i stand til at detektere en ændring på kun 0,05 kPa, hvilket svarer til en højdeændring på 0,3 m. Her er dens demonstration med hindbær pi ved hjælp af python -kode.
Trin 1: Hvad du har brug for..
1. Hindbær Pi
2. MPL3115A2
3. I²C -kabel
4. I²C Shield til Raspberry Pi
5. Ethernet -kabel
Trin 2: Forbindelser:
Tag et I2C -skjold til hindbærpi og skub det forsigtigt hen over gpio -benene på hindbærpi.
Tilslut derefter den ene ende af I2C -kablet til MPL3115A2 -sensoren og den anden ende til I2C -skærmen.
Tilslut også Ethernet -kablet til pi'en, eller du kan bruge et WiFi -modul.
Forbindelser er vist på billedet ovenfor.
Trin 3: Kode:
Python-koden til MPL3115A2 kan downloades fra vores Github-depot- DCUBE Store Community.
Her er linket
Vi har brugt SMBus -bibliotek til python -kode, trinene til at installere SMBus på hindbær pi er beskrevet her:
pypi.python.org/pypi/smbus-cffi/0.5.1
Du kan også kopiere koden herfra, den er givet som følger:
# Distribueret med en fri vilje-licens.
# Brug den, som du vil, profit eller gratis, forudsat at den passer ind i licenserne til de tilhørende værker.
# MPL3115A2
# Denne kode er designet til at fungere med MPL3115A2_I2CS I2C Mini Module
import smbus
importtid
# Få I2C -bus
bus = smbus. SMBus (1)
# MPL3115A2 adresse, 0x60 (96)
# Vælg kontrolregister, 0x26 (38)
# 0xB9 (185) Aktiv tilstand, OSR = 128, højdemåler -tilstand
bus.write_byte_data (0x60, 0x26, 0xB9)
# MPL3115A2 adresse, 0x60 (96)
# Vælg datakonfigurationsregister, 0x13 (19)
# 0x07 (07) Dataklar hændelse aktiveret for højde, tryk, temperatur
bus.write_byte_data (0x60, 0x13, 0x07)
# MPL3115A2 adresse, 0x60 (96)
# Vælg kontrolregister, 0x26 (38)
# 0xB9 (185) Aktiv tilstand, OSR = 128, højdemåler -tilstand
bus.write_byte_data (0x60, 0x26, 0xB9)
time.sleep (1)
# MPL3115A2 adresse, 0x60 (96)
# Læs data tilbage fra 0x00 (00), 6 bytes
# status, højde MSB1, højde MSB, højde 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] & 0xF0)) / 16
højde = tHøjde / 16,0
cTemp = temp / 16,0
fTemp = cTemp * 1,8 + 32
# MPL3115A2 adresse, 0x60 (96)
# Vælg kontrolregister, 0x26 (38)
# 0x39 (57) Aktiv tilstand, OSR = 128, Barometer -tilstand
bus.write_byte_data (0x60, 0x26, 0x39)
time.sleep (1)
# MPL3115A2 adresse, 0x60 (96)
# Læs data tilbage fra 0x00 (00), 4 bytes
# 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
tryk = (pres / 4.0) / 1000.0
# Output data til skærmen
print "Tryk: %.2f kPa" %tryk
print "Højde: %.2f m" %højde
print "Temperatur i Celsius: %.2f C" %cTemp
print "Temperatur i Fahrenheit: %.2f F" %fTemp
Trin 4: Ansøgninger:
Forskellige applikationer af MPL3115A2 inkluderer høj nøjagtigheds -altimetri, smartphones/tablets, personlig elektronik -altimetri osv. Det kan også inkorporeres i GPS Dead Reckoning, GPS -forbedring til nødservice, Map Assist, Navigation samt vejrstationsudstyr.
Anbefalede:
RC Plane Altimeter (kompatibel med Spektrum Telemetry): 7 trin
RC Plane Altimeter (kompatibel med Spektrum Telemetry): Jeg lavede denne højdemåler, så piloten kunne vide, at de er under 400 fod grænsen for RC fly i USA. Min ven var bekymret, da han ikke med sikkerhed kunne sige, at han altid var under 400 fod, og ønskede den ekstra sikkerhed for, at en sensor
Raspberry Pi - ADXL345 3 -Axis Accelerometer Python Tutorial: 4 trin
Raspberry Pi-ADXL345 3-akset Accelerometer Python Tutorial: ADXL345 er et lille, tyndt, ultralavt, 3-akset accelerometer med høj opløsning (13-bit) måling på op til ± 16 g. Digitale outputdata er formateret som 16-bit tokomplement og er tilgængelige via I2 C digital interface. Det måler
Raspberry Pi SHT25 Fugtigheds- og temperatursensor Python -tutorial: 4 trin
Raspberry Pi SHT25 Fugtigheds- og temperatursensor Python -vejledning: SHT25 I2C Fugtigheds- og temperatursensor ± 1,8%relativ luftfugtighed ± 0,2 ° C I2C mini -modul. SHT25-fugtigheds- og temperatursensoren med høj nøjagtighed er blevet en industristandard med hensyn til formfaktor og intelligens, hvilket giver kalibreret, lineariseret sensorsignal
Raspberry Pi - BH1715 Digital Ambient Light Sensor Python Tutorial: 4 trin
Raspberry Pi - BH1715 Digital Ambient Light Sensor Python Tutorial: BH1715 er en digital Ambient Light Sensor med en I²C busgrænseflade. BH1715 bruges almindeligvis til at indhente omgivelseslysdata til justering af LCD- og tastaturets baggrundsbelysning til mobile enheder. Denne enhed tilbyder en 16-bit opløsning og en justering
Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java Tutorial: 4 trin
Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java Tutorial: A1332 er en 360 ° kontaktløs højopløselig programmerbar magnetisk vinkel positionssensor. Det er designet til digitale systemer, der bruger en I2C -grænseflade. Det er bygget på Circular Vertical Hall (CVH) teknologi og et programmerbart mikroprocessorbaseret signal