İçindekiler:

Raspberry Pi - MPL3115A2 Hassas Altimetre Sensörü Java Eğitimi: 4 Adım
Raspberry Pi - MPL3115A2 Hassas Altimetre Sensörü Java Eğitimi: 4 Adım

Video: Raspberry Pi - MPL3115A2 Hassas Altimetre Sensörü Java Eğitimi: 4 Adım

Video: Raspberry Pi - MPL3115A2 Hassas Altimetre Sensörü Java Eğitimi: 4 Adım
Video: DEF CON 25 - See no evil and hear no evil - Hacking invisibly and silently with light and sound 2024, Eylül
Anonim
Image
Image

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 java kodunu kullanarak ahududu pi ile gösterimi.

Adım 1: İhtiyacınız Olan Şey..!

Neye ihtiyacın var..!!
Neye ihtiyacın var..!!

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:

Bağlantılar
Bağlantılar
Bağlantılar
Bağlantılar
Bağlantılar
Bağlantılar
Bağlantılar
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:

Kod
Kod

MPL3115A2 için java kodu, github depomuz olan DCUBE Store'dan indirilebilir.

İşte aynısı için bağlantı:

github.com/DcubeTechVentures/MPL3115A2/tree/master/Java

Java kodu için pi4j kütüphanesini kullandık, pi4j'yi ahududu pi'ye kurma adımları burada açıklanmıştır:

pi4j.com/install.html

Kodu buradan da kopyalayabilirsiniz, aşağıdaki şekilde verilmiştir:

// Özgür irade lisansıyla 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, şuradan temin edilebilen 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 veri yolu 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ı seç

// Aktif mod, OSR = 128, altimetre modu

device.write(0x26, (bayt)0xB9);

// Veri yapılandırma kaydını seç

// Rakım, basınç, sıcaklık için veri hazır olayı etkinleştirildi

device.write(0x13, (bayt)0x07);

// Kontrol kaydı seç

// Aktif mod, OSR = 128, altimetre modu

device.write(0x26, (bayt)0xB9);

thread.sleep(1000);

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

// durum, 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, (bayt)0x39);

thread.sleep(1000);

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

// durum, msb1'e bas, msb'ye bas, lsb'ye bas

device.read(0x00, veri, 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;

// Ekrana veri çıktısı

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: 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: