İçindekiler:
- Adım 1: İhtiyacımız Olan Zorunlu Ekipman
- Adım 2: Devreyi Bir Araya Getirmek İçin Donanım Bağlantıları
- Adım 3: Python'da Raspberry Pi Programlama
- Adım 4: Kodun Uygulanabilirliği (Test)
- Adım 5: Uygulamalar ve Özellikler
- 6. Adım: Sonuç
Video: MPL3115A2 ile Raspberry Pi Kullanarak Rakım, Basınç ve Sıcaklık: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
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
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 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
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)
Ş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:
BME280 ve Foton Arabirimi Kullanarak Nem, Basınç ve Sıcaklık Hesaplaması: 6 Adım
BME280 ve Foton Arabirimi Kullanarak Nem,Basınç ve Sıcaklık Hesaplama: Sıcaklık, basınç ve nem izleme gerektiren çeşitli projelerle karşılaşmaktayız. Böylece, bu parametrelerin farklı atmosferik koşullarda bir sistemin çalışma verimliliğini tahmin etmede gerçekten hayati bir rol oynadığını anlıyoruz
BMP280-DHT11 Kullanan Arduino Hava İstasyonu - Sıcaklık, Nem ve Basınç: 8 Adım
BMP280-DHT11 Kullanan Arduino Hava İstasyonu - Sıcaklık, Nem ve Basınç: Bu derste, LCD Ekran TFT 7735'te SICAKLIK, NEM VE BASINÇ gösterecek bir hava durumu istasyonunun nasıl yapıldığını öğreneceğiz
Arduino Uno ile LM35 Sıcaklık Sensörü Kullanarak Sıcaklık Okuma: 4 Adım
Arduino Uno ile LM35 Sıcaklık Sensörü Kullanarak Sıcaklık Okuma: Merhaba arkadaşlar bu derste LM35'i Arduino ile nasıl kullanacağımızı öğreneceğiz. Lm35, -55 °C ile 150 °C arasındaki sıcaklık değerlerini okuyabilen bir sıcaklık sensörüdür. Sıcaklıkla orantılı analog voltaj sağlayan 3 terminalli bir cihazdır. Yüksek
Raspberry Pi Kullanımı, MPL3115A2 ile Yükseklik, Basınç ve Sıcaklığı Ölçün: 6 Adım
Raspberry Pi'yi Kullanmak, Yüksekliği, Basıncı ve Sıcaklığı MPL3115A2 ile Ölçün: Neye sahip olduğunuzu bilin ve ona neden sahip olduğunuzu bilin! Çok sayıda yeni uygulamaya daldığı için İnternet Otomasyonu çağında yaşıyoruz. Bilgisayar ve elektronik meraklıları olarak Raspberry Pi ile çok şey öğreniyoruz ve
Raspberry Pi ve TE Bağlantısı Kullanan Sıcaklık, Bağıl Nem, Atmosferik Basınç Kaydedici MS8607-02BA01: 22 Adım (Resimlerle)
Sıcaklık, Bağıl Nem, Raspberry Pi ve TE Bağlantısı Kullanan Atmosferik Basınç Kaydedici MS8607-02BA01: Giriş: Bu projede, sıcaklık, nem ve atmosferik basınç için bir kayıt sisteminin adım adım nasıl oluşturulacağını göstereceğim. Bu proje Raspberry Pi 3 Model B ve TE Connectivity çevresel sensör çipi MS8607-02BA'ya dayanmaktadır