Isi kandungan:

Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java Tutorial: 4 Langkah
Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java Tutorial: 4 Langkah

Video: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java Tutorial: 4 Langkah

Video: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java Tutorial: 4 Langkah
Video: Altitude Sensor | High Altitude Balloon Project | Raspberry Pi 3 B+ 2024, November
Anonim
Image
Image

MPL3115A2 menggunakan sensor tekanan MEMS dengan antara muka I2C untuk memberikan data Tekanan / Ketinggian dan Suhu yang tepat. Keluaran sensor didigitalkan oleh ADC 24-bit resolusi tinggi. Pemprosesan dalaman membuang tugas pampasan dari sistem MCU tuan rumah. Ia mampu mengesan perubahan hanya 0.05 kPa yang setara dengan perubahan ketinggian 0.3m. Berikut adalah demonstrasinya dengan raspberry pi menggunakan kod java.

Langkah 1: Apa yang Anda Perlu..

Apa yang kamu perlu..!!
Apa yang kamu perlu..!!

1. Raspberry Pi

2. MPL3115A2

3. Kabel I²C

4. Perisai I²C untuk Raspberry Pi

5. Kabel Ethernet

Langkah 2: Sambungan:

Sambungan
Sambungan
Sambungan
Sambungan
Sambungan
Sambungan
Sambungan
Sambungan

Ambil pelindung I2C untuk raspberry pi dan tekan perlahan ke atas pin gpio raspberry pi.

Kemudian sambungkan satu hujung kabel I2C ke sensor MPL3115A2 dan hujung yang lain ke pelindung I2C.

Sambungkan juga kabel Ethernet ke pi atau anda boleh menggunakan modul WiFi.

Sambungan ditunjukkan dalam gambar di atas.

Langkah 3: Kod:

Kod
Kod

Kod java untuk MPL3115A2 boleh dimuat turun dari github repositori kami - DCUBE Store.

Berikut adalah pautan yang sama:

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

Kami telah menggunakan perpustakaan pi4j untuk kod java, langkah-langkah untuk memasang pi4j pada raspberry pi dijelaskan di sini:

pi4j.com/install.html

Anda juga boleh menyalin kod dari sini, ia diberikan seperti berikut:

// Diagihkan dengan lesen kehendak bebas.

// Gunakan dengan cara yang anda mahukan, untung atau percuma, dengan syarat ia sesuai dengan lesen karya yang berkaitan.

// MPL3115A2

// Kod ini direka untuk berfungsi dengan Modul Mini MPL3115A2_I2CS I2C yang tersedia dari

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

kelas awam MPL3115A2

{

utama kekosongan statik awam (String args ) melontarkan Pengecualian

{

// Buat bas I2C

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

// Dapatkan peranti I2C, alamat MPL3115A2 I2C adalah 0x60 (96)

Peranti I2CDevice = Bus.getDevice (0x60);

// Pilih daftar kawalan

// Mod aktif, OSR = 128, mod altimeter

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

// Pilih daftar konfigurasi data

// Acara siap data diaktifkan untuk ketinggian, tekanan, suhu

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

// Pilih daftar kawalan

// Mod aktif, OSR = 128, mod altimeter

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

Thread.sleep (1000);

// Baca 6 bait data dari alamat 0x00 (00)

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

bait data = bait baru [6];

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

// Tukarkan data menjadi 20-bit

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

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

ketinggian dua kali ganda = tHeight / 16.0;

double cTemp = (temp / 16.0);

double fTemp = cTemp * 1.8 + 32;

// Pilih daftar kawalan

// Mod aktif, OSR = 128, mod barometer

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

Thread.sleep (1000);

// Baca 4 bait data dari alamat 0x00 (00)

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

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

// Tukarkan data menjadi 20-bit

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

tekanan berganda = (pres / 4.0) / 1000.0;

// Keluarkan data ke skrin

System.out.printf ("Tekanan:%.2f kPa% n", tekanan);

System.out.printf ("Ketinggian:%.2f m% n", ketinggian);

System.out.printf ("Suhu dalam Celsius:%.2f C% n", cTemp);

System.out.printf ("Suhu dalam Fahrenheit:%.2f F% n", fTemp);

}

}

Langkah 4: Aplikasi:

Pelbagai aplikasi MPL3115A2 termasuk Altimetri Ketepatan Tinggi, Telefon Pintar / Tablet, Altimetri Elektronik Peribadi dan lain-lain. Ia juga dapat digabungkan dalam Perangkaan Mati GPS, Peningkatan GPS untuk Perkhidmatan Kecemasan, Bantuan Peta, Navigasi dan juga Peralatan Stesen Cuaca.

Disyorkan: