İçindekiler:

Raspberry Pi Kullanımı, MPL3115A2 ile Yükseklik, Basınç ve Sıcaklığı Ölçün: 6 Adım
Raspberry Pi Kullanımı, MPL3115A2 ile Yükseklik, Basınç ve Sıcaklığı Ölçün: 6 Adım

Video: Raspberry Pi Kullanımı, MPL3115A2 ile Yükseklik, Basınç ve Sıcaklığı Ölçün: 6 Adım

Video: Raspberry Pi Kullanımı, MPL3115A2 ile Yükseklik, Basınç ve Sıcaklığı Ölçün: 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
Image
Image
İhtiyacımız Olan Vazgeçilmez Ekipmanlar
İhtiyacımız Olan Vazgeçilmez Ekipmanlar

Neye sahip olduğunuzu bilin ve neden sahip olduğunuzu bilin

Bu ilgi çekici. Ç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 ilgi alanlarımızı harmanlamaya karar verdik. I²C bağlantılarında ve Yazılım kurulumunda yeniyseniz bu proje yaklaşık bir saat sürer ve Java'da Raspberry Pi ile MPL3115A2'nin yeteneklerini genişletmenin harika bir yoludur.

Adım 1: İhtiyacımız Olan Vazgeçilmez Ekipman

İhtiyacımız Olan Vazgeçilmez Ekipmanlar
İhtiyacımız Olan Vazgeçilmez Ekipmanlar
İhtiyacımız Olan Vazgeçilmez Ekipmanlar
İhtiyacımız Olan Vazgeçilmez Ekipmanlar
İhtiyacımız Olan Vazgeçilmez Ekipmanlar
İhtiyacımız Olan Vazgeçilmez Ekipmanlar

1. Ahududu Pi

İlk adım bir Raspberry Pi kartı almaktı. Bu küçük dahi, hobiler, öğretmenler ve yenilikçi ortamlar yaratmada kullanılır.

2. Raspberry Pi için I2C 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 mevcuttur.

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

MPL3115A2, Basınç, Rakım 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²2 protokolünü kullanır. Bu sensörü Dcube Store'dan satın aldık.

4. Bağlantı Kablosu

Dcube Store'da bulunan I²C bağlantı kablosunu kullandık.

5. Mikro USB kablosu

Raspberry Pi, mikro USB kaynağı ile çalışır.

6. İnternet Erişimi Geliştirme - Ethernet Kablosu/WiFi Modülü

Yapmak isteyeceğiniz ilk şeylerden biri, Raspberry Pi'nizi internete bağlamaktır. Bir Ethernet kablosu kullanarak veya bir Kablosuz USB Nano WiFi adaptörüyle bağlanabilirsiniz.

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

Raspberry Pi'yi bir HDMI kablosu kullanarak bir monitöre bağlayabilirsiniz. Ayrıca Raspberry Pi'nize SSH/PuTTY kullanarak uzaktan erişebilirsiniz.

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 oldukça basittir. Yukarıdaki talimatları ve resimleri izleyin, 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ı

Bunun için Raspberry Pi ve üzerine I²C Shield 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. Bu kadar basit!

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ı Çok Önemlidir

Projemizin başarılı olması için Raspberry Pi'miz için internet erişimine ihtiyacımız var. Bunda, bir Ethernet(LAN) kablosu bağlama gibi seçenekleriniz vardır. Ayrıca, bir WiFi bağdaştırıcısını kullanmanın alternatif ama etkileyici bir yolu olarak.

Devreye Güç Verme

Mikro USB kablosunu Raspberry Pi'nin güç jakına takın. Açın ve işte, gitmeye hazırız!

Ekrana Bağlantı

HDMI kablosunu bir monitöre bağlayabiliriz ya da biraz yenilikçi olabiliriz, başsız Pi'mizi (-SSH/PuTTY kullanarak) yapmak için biraz yenilikçi olabiliriz, bu da bir şekilde hobi olduğumuz için ekstra maliyeti düşürmeye yardımcı olur.

Bir alışkanlık paraya mal olmaya başladığında buna hobi denir

Adım 3: Java'da Raspberry Pi Programlama

Java'da Raspberry Pi Programlama
Java'da Raspberry Pi Programlama

Raspberry Pi ve MPL3115A2 Sensörü için Java 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 biraz zaman 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 Java kodunu buradan da kopyalayabilirsiniz.

// Bir özgür irade lisansıyla dağıtılır.// İlişkili eserlerinin 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. //

com.pi4j.io.i2c. I2CBus'u içe aktarın;

com.pi4j.io.i2c. I2CDevice'ı içe aktarın; com.pi4j.io.i2c. I2CFFactory'yi içe aktarın; java.io. IOException'ı içe aktarın;

genel sınıf MPL3115A2

{ public static void main(String args) İstisna atar { // I2C bus oluştur I2CBus Bus = I2CFactory.getInstance(I2CBus. BUS_1); // I2C cihazını al, MPL3115A2 I2C adresi 0x60(96) I2CDevice cihazı = Bus.getDevice(0x60); // Kontrol kaydını seçin // Aktif mod, OSR = 128, altimetre modu device.write(0x26, (byte)0xB9); // Veri yapılandırma kaydını seçin // Rakım, basınç, sıcaklık için veri hazır olayı etkinleştirildi device.write(0x13, (byte)0x07); // Kontrol kaydını seçin // Aktif mod, OSR = 128, altimetre modu device.write(0x26, (byte)0xB9); thread.sleep(1000);

// 0x00(00) adresinden 6 bayt veri oku

// status, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb bayt veri = yeni bayt[6]; device.read(0x00, veri, 0, 6);

// Veriyi 20 bit'e çevir

int Yükseklik = (((veri[1] & 0xFF) * 65536) + ((veri[2] & 0xFF) * 256) + (veri[3] & 0xF0)) / 16); int temp = ((veri[4] * 256) + (veri[5] & 0xF0)) / 16; çift yükseklik = tYükseklik / 16.0; çift cTemp = (sıcaklık / 16.0); çift fTemp = cTemp * 1.8 + 32;

// Kontrol kaydı seç

// Aktif mod, OSR = 128, barometre modu device.write(0x26, (byte)0x39); thread.sleep(1000); // 0x00(00) adresinden 4 bayt veri oku // durum, msb1'e bas, msb'ye bas, lsb cihazına bas.read(0x00, data, 0, 4);

// Veriyi 20 bit'e çevir

int pres = (((veri[1] & 0xFF) * 65536) + ((veri[2] & 0xFF) * 256) + (veri[3] & 0xF0)) / 16; çift basınç = (basınç / 4.0) / 1000.0; // Çıktı verileri ekrana System.out.printf("Basınç: %.2f kPa %n", basınç); System.out.printf("Yükseklik: %.2f m %n", yükseklik); System.out.printf("Sıcaklık Santigrat cinsinden: %.2f C %n", cTemp); System.out.printf("Sıcaklık Fahrenhayt cinsinden: %.2f F %n", fTemp); } }

Adım 4: Kodun Uygulanabilirliği(Çalışma)

Kodun Uygulanabilirliği(Çalışma)
Kodun Uygulanabilirliği(Çalışma)

Şimdi kodu indirin (veya git pull) ve Raspberry Pi'de açın. Terminaldeki kodu Derlemek ve Yüklemek için komutları çalıştırın ve Monitördeki çı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 sensörünün yaygın kullanımı, Harita (Harita Yardımı, Navigasyon), Manyetik Pusula veya GPS (GPS Ölü Hesaplama, Acil Servisler için GPS Geliştirme), Yüksek Doğruluk Altimetri, Akıllı Telefonlar/Tabletler, Kişisel Elektronik Altimetri ve Uydular(Hava Durumu İstasyonu Ekipmanı/Tahmin).

Örneğin Bu sensörü ve Rasp Pi'yi kullanarak, paraşütle atlama ekipmanının en önemli parçası olan ve yüksekliği, hava basıncını ve sıcaklığı ölçebilen bir Dijital Görsel Altimetre oluşturabilirsiniz. Gazlı bez ve diğer sensörleri ekleyerek daha ilginç hale getirebilirsiniz.

6. Adım: Sonuç

Program inanılmaz derecede özelleştirilebilir olduğundan, bu projeyi genişletmenin ve daha da iyi hale getirmenin birçok ilginç yolu var. Örneğin, bir altimetre/interferometre, aynı anda ölçümleri alacak, böylece sürekli, tek veya çoklu altimetre geniş alan kapsamı sağlayan direkler üzerine monte edilmiş birkaç altimetre içerecektir. YouTube'da bu projeyi daha iyi anlamanıza yardımcı olabilecek ilginç bir video eğitimimiz var.

Önerilen: