İçindekiler:
Video: Raspberry Pi - MPL3115A2 Hassas Altimetre Sensörü Python Eğitimi: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
MPL3115A2, doğru Basınç/İrtifa ve Sıcaklık verileri sağlamak için I2C arayüzüne sahip bir MEMS basınç sensörü kullanır. Sensör çıkışları, yüksek çözünürlüklü 24 bit ADC ile sayısallaştırılır. Dahili işleme, ana bilgisayar MCU sisteminden tazminat görevlerini kaldırır. Sadece 0,05 kPa'da, yani 0,3 m'lik bir irtifa değişikliğine denk gelen bir değişikliği tespit etme yeteneğine sahiptir. İşte python kodunu kullanarak ahududu pi ile gösterimi.
Adım 1: İhtiyacınız Olan Şey..!
1. Ahududu Pi
2. MPL3115A2
3. I²C Kablosu
4. Raspberry Pi için I²C Kalkanı
5. Ethernet Kablosu
Adım 2: Bağlantılar:
Ahududu pi için bir I2C kalkanı alın ve ahududu pi'nin gpio pimlerinin üzerine hafifçe itin.
Ardından I2C kablosunun bir ucunu MPL3115A2 sensörüne ve diğer ucunu I2C blendajına bağlayın.
Ayrıca Ethernet kablosunu pi'ye bağlayın veya bir WiFi modülü kullanabilirsiniz.
Bağlantılar yukarıdaki resimde gösterilmiştir.
Adım 3: Kod:
MPL3115A2 için python kodu Github depomuzdan - DCUBE Mağaza Topluluğundan indirilebilir.
Bağlantı burada
Python kodu için SMBus kütüphanesini kullandık, raspberry pi'ye SMBus kurma adımları burada açıklanmıştır:
pypi.python.org/pypi/smbus-cffi/0.5.1
Kodu buradan da kopyalayabilirsiniz, aşağıdaki şekilde verilmiştir:
# Özgür irade lisansıyla dağıtılır.
# İlgili eserlerinin lisanslarına uyması koşuluyla, istediğiniz şekilde, kârlı veya ücretsiz olarak kullanın.
# MPL3115A2
# Bu kod MPL3115A2_I2CS I2C Mini Modülü ile çalışmak üzere tasarlanmıştır
smbus'u içe aktar
ithalat zamanı
# I2C veri yolunu alın
veri yolu = smbus. SMBus(1)
# MPL3115A2 adresi, 0x60(96)
# Kontrol kaydı seç, 0x26(38)
# 0xB9(185) Aktif mod, OSR = 128, Altimetre modu
bus.write_byte_data(0x60, 0x26, 0xB9)
# MPL3115A2 adresi, 0x60(96)
# Veri yapılandırma kaydını seçin, 0x13(19)
# 0x07(07) Rakım, basınç, sıcaklık için veri hazır olayı etkinleştirildi
bus.write_byte_data(0x60, 0x13, 0x07)
# MPL3115A2 adresi, 0x60(96)
# Kontrol kaydı seç, 0x26(38)
# 0xB9(185) Aktif mod, OSR = 128, Altimetre modu
bus.write_byte_data(0x60, 0x26, 0xB9)
zaman.uyku(1)
# MPL3115A2 adresi, 0x60(96)
# 0x00(00), 6 bayttan veriyi geri oku
# durum, Yükseklik MSB1, Yükseklik MSB, Yükseklik LSB, temp MSB, temp LSB
veri = bus.read_i2c_block_data(0x60, 0x00, 6)
# Veriyi 20 bit'e dönüştürün
Yükseklik = ((veri[1] * 65536) + (veri[2] * 256) + (veri[3] & 0xF0)) / 16
sıcaklık = ((veri[4] * 256) + (veri[5] & 0xF0)) / 16
yükseklik = tYükseklik / 16.0
cTemp = sıcaklık / 16.0
fTemp = cTemp * 1.8 + 32
# MPL3115A2 adresi, 0x60(96)
# Kontrol kaydı seç, 0x26(38)
# 0x39(57) Aktif mod, OSR = 128, Barometre modu
bus.write_byte_data(0x60, 0x26, 0x39)
zaman.uyku(1)
# MPL3115A2 adresi, 0x60(96)
# 0x00(00), 4 bayttan veriyi geri oku
# durum, MSB1'e basın, MSB'ye basın, LSB'ye basın
veri = bus.read_i2c_block_data(0x60, 0x00, 4)
# Veriyi 20 bit'e dönüştürün
pres = ((veri[1] * 65536) + (veri[2] * 256) + (veri[3] & 0xF0)) / 16
basınç = (basınç / 4.0) / 1000.0
# Ekrana veri çıkışı
"Basınç: %.2f kPa" yazdırın %basınç
"Rakım: %.2f m" yazdır %rakım
print "Sıcaklık Santigrat cinsinden: %.2f C" %cTemp
print "Sıcaklık Fahrenheit cinsinden: %.2f F" %fTemp
Adım 4: Uygulamalar:
MPL3115A2'nin çeşitli uygulamaları arasında Yüksek Doğruluk Altimetri, Akıllı Telefonlar/Tabletler, Kişisel Elektronik Altimetri vb. bulunur. Ayrıca GPS Ölü Hesaplama, Acil Servisler için GPS Geliştirme, Harita Yardımı, Navigasyon ve Hava İstasyonu Ekipmanlarına da dahil edilebilir.
Önerilen:
Raspberry Pi SHT25 Nem ve Sıcaklık Sensörü Python Eğitimi: 4 Adım
Raspberry Pi SHT25 Nem ve Sıcaklık Sensörü Python Eğitimi: SHT25 I2C Nem ve Sıcaklık Sensörü ±1.8%RH ±0.2°C I2C Mini Modül. SHT25 yüksek hassasiyetli nem ve sıcaklık sensörü, kalibre edilmiş, doğrusallaştırılmış sensör işaretleri sağlayarak form faktörü ve zeka açısından bir endüstri standardı haline geldi
Raspberry Pi - BH1715 Dijital Ortam Işığı Sensörü Python Eğitimi: 4 Adım
Raspberry Pi - BH1715 Dijital Ortam Işığı Sensörü Python Eğitimi: BH1715, I²C veri yolu arayüzüne sahip bir dijital Ortam Işığı Sensörüdür. BH1715, mobil cihazlar için LCD ve Tuş Takımı arka ışık gücünü ayarlamak için ortam ışığı verilerini elde etmek için yaygın olarak kullanılır. Bu cihaz, 16 bit çözünürlük ve bir ayar
Raspberry Pi - TSL45315 Ortam Işığı Sensörü Python Eğitimi: 4 Adım
Raspberry Pi - TSL45315 Ortam Işığı Sensörü Python Eğitimi: TSL45315 bir dijital ortam ışığı sensörüdür. Çeşitli aydınlatma koşulları altında insan gözünün tepkisine yaklaşır. Cihazların seçilebilir üç entegrasyon süresi vardır ve bir I2C veri yolu arabirimi aracılığıyla doğrudan 16 bit lüks çıkışı sağlar. Cihaz ortak
Raspberry Pi - HIH6130 I2C Nem ve Sıcaklık Sensörü Python Eğitimi: 4 Adım
Raspberry Pi - HIH6130 I2C Nem ve Sıcaklık Sensörü Python Eğitimi: HIH6130, dijital çıkışlı bir nem ve sıcaklık sensörüdür. Bu sensörler, ±%4 RH doğruluk seviyesi sağlar. Endüstri lideri uzun vadeli kararlılık, gerçek sıcaklık kompanzasyonlu dijital I2C, Endüstri lideri güvenilirlik, Enerji verimliliği ile
Raspberry Pi MCP9808 Sıcaklık Sensörü Python Eğitimi: 4 Adım
Raspberry Pi MCP9808 Sıcaklık Sensörü Python Eğitimi: MCP9808, son derece hassas bir dijital sıcaklık sensörü ±0.5°C I2C mini modülüdür. Sıcaklık algılama uygulamalarını kolaylaştıran, kullanıcı tarafından programlanabilen kayıtlarla yapılandırılmışlardır. MCP9808 yüksek hassasiyetli sıcaklık sensörü bir endüstri haline geldi