Isi kandungan:

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

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

Video: Tutorial Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python: 4 Langkah
Video: Arduino Nano - MPL3115A2 Precision Altimeter Sensor Tutorial 2024, Julai
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 python.

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 python untuk MPL3115A2 boleh dimuat turun dari repositori Github- DCUBE Store Community kami.

Inilah pautannya

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

pypi.python.org/pypi/smbus-cffi/0.5.1

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

import smbus

masa import

# Dapatkan bas I2C

bas = smbus. SMBus (1)

# MPL3115A2 alamat, 0x60 (96)

# Pilih daftar kawalan, 0x26 (38)

# 0xB9 (185) Mod aktif, OSR = 128, mod Altimeter

bas.write_byte_data (0x60, 0x26, 0xB9)

# MPL3115A2 alamat, 0x60 (96)

# Pilih daftar konfigurasi data, 0x13 (19)

# 0x07 (07) Acara siap data diaktifkan untuk ketinggian, tekanan, suhu

bas.write_byte_data (0x60, 0x13, 0x07)

# MPL3115A2 alamat, 0x60 (96)

# Pilih daftar kawalan, 0x26 (38)

# 0xB9 (185) Mod aktif, OSR = 128, mod Altimeter

bas.write_byte_data (0x60, 0x26, 0xB9)

masa. tidur (1)

# MPL3115A2 alamat, 0x60 (96)

# Baca kembali data dari 0x00 (00), 6 bait

# status, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB

data = bas.read_i2c_block_data (0x60, 0x00, 6)

# Tukar data menjadi 20-bit

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

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

ketinggian = tHeight / 16.0

cTemp = temp / 16.0

fTemp = cTemp * 1.8 + 32

# MPL3115A2 alamat, 0x60 (96)

# Pilih daftar kawalan, 0x26 (38)

# 0x39 (57) Mod aktif, OSR = 128, mod Barometer

bas.write_byte_data (0x60, 0x26, 0x39)

masa. tidur (1)

# MPL3115A2 alamat, 0x60 (96)

# Baca kembali data dari 0x00 (00), 4 bait

# status, pres MSB1, pres MSB, pres LSB

data = bas.read_i2c_block_data (0x60, 0x00, 4)

# Tukar data menjadi 20-bit

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

tekanan = (pres / 4.0) / 1000.0

# Keluarkan data ke skrin

cetak "Tekanan:%.2f kPa"% tekanan

cetak "Ketinggian:%.2f m"% ketinggian

cetak "Suhu dalam Celsius:%.2f C"% cTemp

cetak "Suhu dalam Fahrenheit:%.2f F"% 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: