İçindekiler:

MPL3115A2 ile Raspberry Pi Kullanarak Rakım, Basınç ve Sıcaklık: 6 Adım
MPL3115A2 ile Raspberry Pi Kullanarak Rakım, Basınç ve Sıcaklık: 6 Adım

Video: MPL3115A2 ile Raspberry Pi Kullanarak Rakım, Basınç ve Sıcaklık: 6 Adım

Video: MPL3115A2 ile Raspberry Pi Kullanarak Rakım, Basınç ve Sıcaklık: 6 Adım
Video: Altimetre Rakım ölçer (arduino ile Rakım ölçer , sıcaklık ve Basınç ölçümü ) 2024, Kasım
Anonim
MPL3115A2 ile Raspberry Pi Kullanarak Rakım, Basınç ve Sıcaklık
MPL3115A2 ile Raspberry Pi Kullanarak Rakım, Basınç ve Sıcaklık
MPL3115A2 ile Raspberry Pi Kullanarak Rakım, Basınç ve Sıcaklık
MPL3115A2 ile Raspberry Pi Kullanarak Rakım, Basınç ve Sıcaklık

Kulağa ilginç geliyor. Hepimizin IoT nesline girdiğimiz bu zamanda bu oldukça mümkün. Bir elektronik delisi olarak Raspberry Pi ile oynuyorduk ve bu bilgiyi kullanarak ilginç projeler yapmaya karar verdik. Bu projede Raspberry Pi kullanarak irtifa, hava basıncı, sıcaklık ölçeceğiz. İşte belgelere gidiyor (her zaman değiştiriliyor ve genişletiliyor). Talimatları izleyerek başlamanızı ve kodu kopyalamanızı öneririz. Daha sonra deneme yapabilirsiniz. Öyleyse başlayalım.

Adım 1: İhtiyacımız Olan Zorunlu Ekipman

İhtiyacımız Olan Zorunlu Ekipmanlar
İhtiyacımız Olan Zorunlu Ekipmanlar
İhtiyacımız Olan Zorunlu Ekipmanlar
İhtiyacımız Olan Zorunlu Ekipmanlar
İhtiyacımız Olan Zorunlu Ekipmanlar
İhtiyacımız Olan Zorunlu Ekipmanlar
İhtiyacımız Olan Zorunlu Ekipmanlar
İhtiyacımız Olan Zorunlu Ekipmanlar

1. Ahududu Pi

İlk adım bir Raspberry Pi kartı almaktı. Biz bizimkini satın aldık, siz de yapabilirsiniz. Öğreticilerden öğrenmeye başladık, komut dosyası oluşturma ve bağlantı kavramlarını anladık ve daha sonra öğrendik. Bu küçük dahi, hobiler, öğretmenler ve yenilikçi ortamlar yaratma konusunda ortaktır.

2. Raspberry Pi için I²C Kalkanı

INPI2(I2C adaptörü), birden fazla I2C cihazıyla kullanım için Raspberry Pi 2/3 bir I²C bağlantı noktası sağlar. Dcube Store'da mevcut

3. Altimetre, Basınç ve Sıcaklık Sensörü, MPL3115A2

MPL3115A2, Basınç/İrtifa ve Sıcaklık verileri vermek için I²C arayüzüne sahip bir MEMS basınç sensörüdür. Bu sensör, iletişim için I²C protokolünü kullanır. Bu sensörü Dcube Store'dan satın aldık

4. Bağlantı Kablosu

Dcube Store'da I2C bağlantı kablosuna sahiptik

5. Mikro USB kablosu

Mikro USB kablosu Güç kaynağı, Raspberry Pi'ye güç sağlamak için ideal bir seçimdir.

6. İnternet Erişimi Geliştirme - Ethernet Kablosu/WiFi Adaptörü

Bu çağda, herhangi bir şeye erişmek için bir internet bağlantısına ihtiyaç vardır (neredeyse çevrimdışı yaşam da olduğu gibi). Bu yüzden, Rasp Pi'mizi kolaylıkla ve hiç sorun yaşamadan kullanabilmemiz için internet bağlantısını kurmak için bir LAN kablosu veya bir Kablosuz Nano USB Adaptörü (WiFi) tavsiyesi alıyoruz.

7. HDMI Kablosu (Opsiyonel, Sizin Seçiminiz)

Bu biraz zor. PC/Laptop'unuz ile başsız bir Pi bağlantısı yaparak, isterseniz başka bir Monitör takma gücüne sahip olabilirsiniz veya kendiniz için çok uygun maliyetlidir.

Adım 2: Devreyi Bir Araya Getirmek İçin Donanım Bağlantıları

Devreyi Bir Araya Getirmek İçin Donanım Bağlantıları
Devreyi Bir Araya Getirmek İçin Donanım Bağlantıları
Devreyi Bir Araya Getirmek İçin Donanım Bağlantıları
Devreyi Bir Araya Getirmek İçin Donanım Bağlantıları

Devreyi gösterilen şemaya göre yapınız. Genel olarak bağlantılar çok basittir. Talimatları ve resimleri takip edin ve sorun yaşamamalısınız.

Planlama yaparken, elektronik temellerinin yanı sıra donanım ve kodlamaya da baktık. Bu proje için basit bir elektronik devre şeması tasarlamak istedik. Şemada, I²C iletişim protokollerini takip eden farklı parçaları, güç bileşenlerini ve I²C sensörünü görebilirsiniz. Umarım, bu, bu proje için elektroniğin ne kadar basit olduğunu gösterir.

Raspberry Pi ve I2C Shield Bağlantısı

Öncelikle Raspberry Pi'yi alın ve üzerine I²C Shield'i yerleştirin. Kalkana hafifçe basın (resme bakın).

Sensör ve Raspberry Pi Bağlantısı

Sensörü alın ve I²C kablosunu ona bağlayın. I²C Çıkışının DAİMA I²C Girişine bağlandığından emin olun. Aynı şekilde Raspberry Pi de üzerine I²C shield takılmış durumda. I²C Shield ve I²C bağlantı kablolarının yanımızda olması çok büyük bir avantaj çünkü sadece tak çalıştır seçeneği kalıyor. Artık pin ve kablolama sorunu yok ve dolayısıyla karışıklık ortadan kalktı. Kendinizi teller ağında hayal edip buna dahil olmak ne büyük bir rahatlama. Sadece bahsettiğimiz basit süreç.

Not: Kahverengi kablo her zaman bir cihazın çıkışı ile başka bir cihazın girişi arasındaki Toprak (GND) bağlantısını takip etmelidir

İnternet Bağlantısı hayati önem taşır

Aslında burada bir seçeneğiniz var. Raspberry Pi'yi LAN kablosu veya WiFi Bağlantısı için kablosuz Nano USB Adaptörü ile bağlayabilirsiniz. Her neyse, asıl amacı internete bağlanmaktı.

Devreye Güç Verme

Mikro USB kablosunu Raspberry Pi'nin güç jakına takın. Onu yak ve gitmeye hazırız.

Ekrana Bağlantı

Ya HDMI kablosunu yeni bir monitöre bağlatabiliriz ya da yaratıcı ve uygun maliyetli başsız Pi'mizi SSH/PuTTY gibi uzaktan erişim kullanarak yapabiliriz.(Gizli bir organizasyon gibi finanse edilmediğimizi biliyorum)

Adım 3: Python'da Raspberry Pi Programlama

Python'da Raspberry Pi Programlama
Python'da Raspberry Pi Programlama

Raspberry Pi ve MPL3115A2 Sensörü için Python kodu. Github depomuzda mevcuttur.

Kodlara geçmeden önce Readme dosyasında verilen talimatları okuduğunuzdan ve Raspberry Pi'nizi buna göre kurduğunuzdan emin olun. Bunu yapmak sadece bir dakikanızı alacaktır.

Yükseklik, aşağıdaki denklem kullanılarak basınçtan hesaplanır:

h = 44330.77 {1 - (p / p0) ^ 0.1902632} + OFF_H (Kayıt Değeri)

Burada p0 = deniz seviyesi basıncı (101326 Pa) ve h metre cinsindendir. MPL3115A2, ofset kaydı LSB başına 2 Pascal olarak tanımlandığından bu değeri kullanır.

Kod açıkça önünüzde ve hayal edebileceğiniz en basit formda ve hiçbir sorun yaşamamanız gerekiyor.

Bu sensör için çalışan Python kodunu buradan da kopyalayabilirsiniz.

# Bir özgür irade lisansı ile dağıtılır.# İlişkili çalışmalarının lisanslarına uyması koşuluyla, istediğiniz şekilde, kârlı veya ücretsiz olarak kullanın. # MPL3115A2 # Bu kod, ControlEverything.com'da bulunan 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ı seç, 0x13(19) # 0x07(07) Rakım, basınç, sıcaklık bus.write_byte_data(0x60, 0x13, 0x07) için veri hazır olayı etkinleştirildi # 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 data = 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 temp = ((veri[4] * 256) + (veri[5] & 0xF0)) / 16 rakım = 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, MSB'ye bas, LSB verisine bas = 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ışı

print "Basınç: %.2f kPa" %basınç print "Rakım: %.2f m" %altitude print "Sıcaklık Celsius: %.2f C" %cTemp print "Sıcaklık Fahrenheit: %.2f F" %fTemp

Adım 4: Kodun Uygulanabilirliği (Test)

Kodun Uygulanabilirliği(Test)
Kodun Uygulanabilirliği(Test)

Şimdi kodu indirin (veya git pull) ve Raspberry Pi'de açın.

Terminalde kodu Derlemek ve Yüklemek için komutları çalıştırın ve Monitör'deki çıktıya bakın. Birkaç saniye sonra tüm parametreleri görüntüleyecektir. Her şeyin sorunsuz çalıştığından emin olduktan sonra bu projeyi daha büyük bir projeye dönüştürebilirsiniz.

Adım 5: Uygulamalar ve Özellikler

MPL3115A2 Hassas Altimetre I²C sensörünün yaygın kullanımı, Harita (Harita Yardımı, Navigasyon), Manyetik Pusula veya GPS (GPS Ölü Hesaplama, Acil Servisler İçin GPS Geliştirme), Yüksek Doğruluk Altimetri, Akıllı Telefonlar/Tabletler, Kişisel Elektronik Altimetri gibi uygulamalardadır. ve Uydular (Hava Durumu İstasyonu Ekipmanı/Tahmin).

Örneğin Raspberry Pi kullanarak irtifa, hava basıncı, sıcaklık ölçen Kişisel Elektronik Altimetre yapma projesi. Kişisel Elektronik Altimetre, inşa edilmesi oldukça hızlı bir projedir. Tüm parçalara sahipseniz ve doğaçlama yapmazsanız (elbette yapabilirsiniz!). Basınç altimetresi çoğu uçakta bulunan bir altimetredir ve paraşütçüler benzer amaçlar için bileğe takılan versiyonları kullanır. Yürüyüşçüler ve dağcılar bileğe takılan veya elde tutulan altimetreleri kullanır.

6. Adım: Sonuç

Umarım bu proje daha fazla deneye ilham verir. Bu I²C sensörü inanılmaz derecede çok yönlü, ucuz ve erişilebilirdir. Son derece değişken bir program olduğundan, bu projeyi genişletmenin ve daha da iyi hale getirmenin ilginç yolları var. Örneğin altimetre, arazi araçlarında navigasyona yardımcı olmak için isteğe bağlı bir cihazdır. Asfalt yollardan ayrılmayı asla amaçlamayan bazı yüksek performanslı lüks otomobiller bu teknolojiyi kullanır. Size kolaylık sağlamak için, YouTube'da keşfetmenize yardımcı olabilecek ilginç bir video eğitimimiz var. Umarım bu proje daha fazla deneye ilham verir.

Önerilen: