Mündəricat:

Raspberry Pi - MPL3115A2 Həssas Altimetr Sensoru Java Dərsliyi: 4 addım
Raspberry Pi - MPL3115A2 Həssas Altimetr Sensoru Java Dərsliyi: 4 addım

Video: Raspberry Pi - MPL3115A2 Həssas Altimetr Sensoru Java Dərsliyi: 4 addım

Video: Raspberry Pi - MPL3115A2 Həssas Altimetr Sensoru Java Dərsliyi: 4 addım
Video: Raspberry Pi MPL3115A2 Precision Altimeter Sensor Python Tutorial 2024, Iyun
Anonim
Image
Image

MPL3115A2, dəqiq təzyiq/yüksəklik və temperatur məlumatlarını təmin etmək üçün I2C interfeysi olan bir MEMS təzyiq sensoru istifadə edir. Sensor çıxışları yüksək keyfiyyətli 24 bitlik ADC ilə rəqəmsallaşdırılır. Daxili emal, kompensasiya vəzifələrini ana MCU sistemindən çıxarır. Hündürlükdə 0.3m dəyişikliyə bərabər olan yalnız 0.05 kPa dəyişikliyi aşkar edə bilir. Java kodundan istifadə edərək moruq pi ilə nümayişidir.

Addım 1: Nə Lazımdır..

Nə Lazımdır.. !!
Nə Lazımdır.. !!

1. Moruq Pi

2. MPL3115A2

3. I²C Kabel

4. Raspberry Pi üçün I²C Qalxanı

5. Ethernet Kabeli

Addım 2: Bağlantılar:

Əlaqələr
Əlaqələr
Əlaqələr
Əlaqələr
Əlaqələr
Əlaqələr
Əlaqələr
Əlaqələr

Moruq pi üçün bir I2C qalxanı götürün və moruq pi gpio sancaqlarının üzərinə yumşaq bir şəkildə itələyin.

Sonra I2C kabelinin bir ucunu MPL3115A2 sensoruna, digər ucunu isə I2C ekranına bağlayın.

Ayrıca Ethernet kabelini pi -yə qoşun və ya WiFi modulundan istifadə edə bilərsiniz.

Bağlantılar yuxarıdakı şəkildə göstərilmişdir.

Addım 3: Kod:

Kod
Kod

MPL3115A2 üçün java kodunu github depomuzdan yükləyə bilərsiniz- DCUBE Mağazası.

İşdə bunun üçün bağlantı:

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

Java kodu üçün pi4j kitabxanasından istifadə etdik, moruq pi üzərində pi4j quraşdırma addımları burada təsvir edilmişdir:

pi4j.com/install.html

Kodu buradan da kopyalaya bilərsiniz, belə verilir:

// Azad iradə lisenziyası ilə paylanmışdır.

// İstənilən şəkildə, mənfəət və ya pulsuz istifadə edin, əlaqəli əsərlərinin lisenziyalarına uyğun gəlir.

// MPL3115A2

// Bu kod MPL3115A2_I2CS I2C Mini Modulu ilə işləmək üçün hazırlanmışdır.

com.pi4j.io.i2c. I2CBus idxal edin;

com.pi4j.io.i2c. I2CDevice idxal edin;

com.pi4j.io.i2c. I2CFactory idxal edin;

java.io. IOException idxal edin;

ictimai sinif MPL3115A2

{

public static void main (String args ) İstisna atır

{

// I2C avtobusu yaradın

I2CBus Avtobus = I2CFactory.getInstance (I2CBus. BUS_1);

// I2C cihazı alın, MPL3115A2 I2C ünvanı 0x60 (96)

I2CDevice cihazı = Bus.getDevice (0x60);

// Nəzarət reyestrini seçin

// Aktiv rejim, OSR = 128, altimetr rejimi

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

// Məlumat konfiqurasiya qeydini seçin

// Hündürlük, təzyiq, temperatur üçün məlumatlara hazır hadisə aktivdir

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

// Nəzarət reyestrini seçin

// Aktiv rejim, OSR = 128, altimetr rejimi

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

Thread.sleep (1000);

// 0x00 (00) ünvanından 6 bayt məlumat oxuyun

// status, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb

bayt məlumat = yeni bayt [6];

device.read (0x00, data, 0, 6);

// Məlumatı 20 bitə çevirin

int tHeight = ((((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16);

int temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16;

ikiqat hündürlük = tHeight / 16.0;

ikiqat cTemp = (temp / 16.0);

ikiqat fTemp = cTemp * 1.8 + 32;

// Nəzarət reyestrini seçin

// Aktiv rejim, OSR = 128, barometr rejimi

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

Thread.sleep (1000);

// 0x00 (00) ünvanından 4 bayt məlumat oxuyun

// status, pres msb1, pres msb, pres lsb

device.read (0x00, data, 0, 4);

// Məlumatı 20 bitə çevirin

int pres = (((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16;

ikiqat təzyiq = (pres / 4.0) / 1000.0;

// Ekrana məlumat çıxarın

System.out.printf ("Təzyiq: %.2f kPa %n", təzyiq);

System.out.printf ("Hündürlük: %.2f m %n", yüksəklik);

System.out.printf ("Selsi İstiliyi: %.2f C %n", cTemp);

System.out.printf ("Fahrenheitdəki temperatur: %.2f F %n", fTemp);

}

}

Addım 4: Tətbiqlər:

MPL3115A2 -nin müxtəlif tətbiqlərinə Yüksək Dəqiqlik Altimetriyası, Smartfonlar/Tabletlər, Fərdi Elektronik Altimetriya və s. Daxildir. O, həmçinin GPS Ölü Hesablama, Təcili Xidmətlər üçün GPS Artırması, Xəritə Köməkçisi, Naviqasiya və Hava İstismarı Avadanlıqlarına daxil edilə bilər.

Tövsiyə: