Mündəricat:
Video: Raspberry Pi - MPL3115A2 Həssas Altimetr Sensoru Python Dərsliyi: 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
MPL3115A2, dəqiq təzyiq/yüksəklik və temperatur məlumatlarını təmin etmək üçün I2C interfeysi olan bir MEMS təzyiq sensoru istifadə edir. Sensor çıxışları yüksək keyfiyyətli 24 bitlik ADC ilə rəqəmsallaşdırılır. Daxili emal, kompensasiya vəzifələrini ana MCU sistemindən çıxarır. Hündürlükdə 0.3m dəyişikliyə bərabər olan yalnız 0.05 kPa dəyişikliyi aşkar edə bilir. Python kodu istifadə edərək moruq pi ilə nümayişidir.
Addım 1: Nə Lazımdır..
1. Moruq Pi
2. MPL3115A2
3. I²C Kabel
4. Raspberry Pi üçün I²C Qalxanı
5. Ethernet Kabeli
Addım 2: Bağlantılar:
Moruq pi üçün bir I2C qalxanı götürün və moruq pi gpio sancaqlarının üzərinə yumşaq bir şəkildə itələyin.
Sonra I2C kabelinin bir ucunu MPL3115A2 sensoruna, digər ucunu isə I2C ekranına bağlayın.
Ayrıca Ethernet kabelini pi -yə qoşun və ya WiFi modulundan istifadə edə bilərsiniz.
Bağlantılar yuxarıdakı şəkildə göstərilmişdir.
Addım 3: Kod:
MPL3115A2 üçün python kodu Github depomuzdan yükləyə bilərsiniz- DCUBE Mağaza Birliyi.
İşdə link
Python kodu üçün SMBus kitabxanasından istifadə etmişik, moruq pi üzərində SMBus quraşdırma addımları burada təsvir edilmişdir:
pypi.python.org/pypi/smbus-cffi/0.5.1
Kodu buradan da kopyalaya bilərsiniz, belə verilir:
# Sərbəst iradə lisenziyası ilə paylandı.
# Əlaqədar əsərlərinin lisenziyalarına uyğun olması şərtilə, mənfəət və ya pulsuz olaraq istədiyiniz şəkildə istifadə edin.
# MPL3115A2
# Bu kod MPL3115A2_I2CS I2C Mini Modulu ilə işləmək üçün hazırlanmışdır
smbus idxal edin
idxal vaxtı
# I2C avtobusu alın
avtobus = smbus. SMBus (1)
# MPL3115A2 ünvanı, 0x60 (96)
# Nəzarət reyestrini seçin, 0x26 (38)
# 0xB9 (185) Aktiv rejim, OSR = 128, Altimetr rejimi
bus.write_byte_data (0x60, 0x26, 0xB9)
# MPL3115A2 ünvanı, 0x60 (96)
# Məlumat konfiqurasiya qeydini seçin, 0x13 (19)
# 0x07 (07) Hündürlük, təzyiq, temperatur üçün məlumat hazırlığı hadisəsi aktivdir
bus.write_byte_data (0x60, 0x13, 0x07)
# MPL3115A2 ünvanı, 0x60 (96)
# Nəzarət reyestrini seçin, 0x26 (38)
# 0xB9 (185) Aktiv rejim, OSR = 128, Altimetr rejimi
bus.write_byte_data (0x60, 0x26, 0xB9)
vaxt.yuxu (1)
# MPL3115A2 ünvanı, 0x60 (96)
# 0x00 (00), 6 baytdan məlumatları geri oxuyun
# status, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB
data = bus.read_i2c_block_data (0x60, 0x00, 6)
# Məlumatı 20 bitə çevirin
tHeight = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16
temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16
hündürlük = tHeight / 16.0
cTemp = temp / 16.0
fTemp = cTemp * 1.8 + 32
# MPL3115A2 ünvanı, 0x60 (96)
# Nəzarət reyestrini seçin, 0x26 (38)
# 0x39 (57) Aktiv rejim, OSR = 128, Barometr rejimi
bus.write_byte_data (0x60, 0x26, 0x39)
vaxt.yuxu (1)
# MPL3115A2 ünvanı, 0x60 (96)
# 0x00 (00), 4 baytdan məlumatları geri oxuyun
# status, MSB1, MSB, Pres LSB
data = bus.read_i2c_block_data (0x60, 0x00, 4)
# Məlumatı 20 bitə çevirin
pres = ((məlumat [1] * 65536) + (məlumat [2] * 256) + (məlumat [3] & 0xF0)) / 16
təzyiq = (pres / 4.0) / 1000.0
# Ekrana məlumat çıxarın
çap "Təzyiq: %.2f kPa" %təzyiq
çap "Yüksəklik: %.2f m" %yüksəklik
çap "Selsi İstiliyi: %.2f C" %cTemp
çap "Fahrenheitdəki temperatur: %.2f F" %fTemp
Addım 4: Tətbiqlər:
MPL3115A2 -nin müxtəlif tətbiqlərinə Yüksək Dəqiqlik Altimetriyası, Smartfonlar/Tabletlər, Fərdi Elektronik Altimetriya və s. Daxildir. O, həmçinin GPS Ölü Hesablama, Təcili Xidmətlər üçün GPS Artırması, Xəritə Köməkçisi, Naviqasiya və Hava İstismarı Avadanlıqlarına daxil edilə bilər.
Tövsiyə:
Raspberry Pi SHT25 Nəmlik və İstilik Sensoru Python Dərsliyi: 4 addım
Raspberry Pi SHT25 Nəmlik və Temperatur Sensoru Python Dərsliyi: SHT25 I2C Nəmlik və Temperatur Sensoru ± 1,8%RH ± 0,2 ° C I2C Mini Modulu. SHT25 yüksək dəqiqlikli rütubət və temperatur sensoru, kalibrlənmiş, xətti sensor işarəsi verən forma faktoru və zəka baxımından bir sənaye standartına çevrildi
Raspberry Pi - HIH6130 I2C Nəmlik və Temperatur Sensoru Python Dərsliyi: 4 addım
Raspberry Pi - HIH6130 I2C Rütubət və Temperatur Sensoru Python Dərsliyi: HIH6130 rəqəmsal çıxışı olan rütubət və temperatur sensorudur. Bu sensorlar ± 4% RH dəqiqlik səviyyəsi təmin edir. Sektorun aparıcı uzunmüddətli sabitliyi, əsl temperaturla kompensasiya edilmiş rəqəmsal I2C, Sənayenin qabaqcıl etibarlılığı, Enerji səmərəliliyi
Raspberry Pi MCP9808 Temperatur Sensoru Python Dərsliyi: 4 addım
Raspberry Pi MCP9808 Temperatur Sensoru Python Dərsliyi: MCP9808, yüksək dəqiqlikli rəqəmsal temperatur sensoru ± 0,5 ° C I2C mini moduldur. İstilik algılama tətbiqlərini asanlaşdıran istifadəçi tərəfindən proqramlaşdırıla bilən qeydlər ilə təcəssüm olunur. MCP9808 yüksək dəqiqlikli temperatur sensoru bir sənaye halına gəldi
Raspberry Pi - TCN75A Temperatur Sensoru Python Dərsliyi: 4 addım
Raspberry Pi-TCN75A Temperatur Sensoru Python Dərsliyi: TCN75A, temperaturdan rəqəmsal çeviriciyə daxil edilmiş iki telli serial temperatur sensordur. İstilik algılayıcı tətbiqlər üçün rahatlıq təmin edən istifadəçi tərəfindən proqramlaşdırıla bilən qeydlər ilə birləşdirilmişdir. Qeyd ayarları istifadəçilərə imkan verir
Raspberry Pi TMP112 Temperatur Sensoru Python Dərsliyi: 4 addım
Raspberry Pi TMP112 Temperatur Sensoru Python Dərsliyi: TMP112 Yüksək Dəqiqlik, Aşağı Güc, Rəqəmsal Temperatur Sensoru I2C MINI modulu. TMP112 uzun müddətli temperatur ölçümü üçün idealdır. Bu cihaz, kalibrləmə və ya xarici komponent siqnal kondisioneri tələb etmədən ± 0,5 ° C dəqiqlik təqdim edir