Daftar Isi:

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

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

Video: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 Langkah
Video: Raspberry Pi HP203B Precision Barometer & Altimeter Sensor Python Tutorial 2024, Juli
Anonim
Image
Image

MPL3115A2 menggunakan sensor tekanan MEMS dengan antarmuka I2C untuk memberikan data Tekanan/Ketinggian dan Suhu yang akurat. Output sensor didigitalkan oleh ADC 24-bit resolusi tinggi. Pemrosesan internal menghapus tugas kompensasi dari sistem MCU host. Ia mampu mendeteksi perubahan hanya 0,05 kPa yang setara dengan perubahan ketinggian 0,3 m. Berikut adalah demonstrasinya dengan raspberry pi menggunakan kode python.

Langkah 1: Yang Anda Butuhkan.

Apa yang kau butuhkan..!!
Apa yang kau butuhkan..!!

1. Raspberry Pi

2. MPL3115A2

3. Kabel I²C

4. Perisai I²C untuk Raspberry Pi

5. Kabel Ethernet

Langkah 2: Koneksi:

Koneksi
Koneksi
Koneksi
Koneksi
Koneksi
Koneksi
Koneksi
Koneksi

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

Kemudian sambungkan salah satu ujung kabel I2C ke sensor MPL3115A2 dan ujung lainnya ke pelindung I2C.

Hubungkan juga kabel Ethernet ke pi atau Anda dapat menggunakan modul WiFi.

Koneksi ditunjukkan pada gambar di atas.

Langkah 3: Kode:

Kode
Kode

Kode python untuk MPL3115A2 dapat diunduh dari repositori Github kami - Komunitas Toko DCUBE.

Ini tautannya

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

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

Anda juga dapat menyalin kode dari sini, diberikan sebagai berikut:

# Didistribusikan dengan lisensi kehendak bebas.

# Gunakan dengan cara apa pun yang Anda inginkan, untung atau gratis, asalkan sesuai dengan lisensi karya terkaitnya.

#MPL3115A2

# Kode ini dirancang untuk bekerja dengan Modul Mini MPL3115A2_I2CS I2C

impor smbus

waktu impor

# Dapatkan bus I2C

bus = smbus. SMBus(1)

# Alamat MPL3115A2, 0x60(96)

# Pilih register kontrol, 0x26(38)

# 0xB9(185) Mode aktif, OSR = 128, mode Altimeter

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

# Alamat MPL3115A2, 0x60(96)

# Pilih register konfigurasi data, 0x13(19)

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

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

# Alamat MPL3115A2, 0x60(96)

# Pilih register kontrol, 0x26(38)

# 0xB9(185) Mode aktif, OSR = 128, mode Altimeter

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

waktu.tidur(1)

# Alamat MPL3115A2, 0x60(96)

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

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

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

# Ubah data menjadi 20-bit

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

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

ketinggian = tTinggi / 16.0

cTemp = suhu / 16.0

fTemp = cTemp * 1,8 + 32

# Alamat MPL3115A2, 0x60(96)

# Pilih register kontrol, 0x26(38)

# 0x39(57) Mode aktif, OSR = 128, mode Barometer

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

waktu.tidur(1)

# Alamat MPL3115A2, 0x60(96)

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

# status, tekan MSB1, tekan MSB, tekan LSB

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

# Ubah data menjadi 20-bit

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

tekanan = (pres / 4.0) / 1000.0

# Keluarkan data ke layar

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

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

print "Suhu dalam Celcius: %.2f C" %cTemp

print "Suhu dalam Fahrenheit: %.2f F" %fTemp

Langkah 4: Aplikasi:

Berbagai aplikasi MPL3115A2 termasuk Altimetri Akurasi Tinggi, Smartphone/Tablet, Altimetri Elektronik Pribadi, dll. Ini juga dapat digabungkan dalam GPS Dead Reckoning, Peningkatan GPS untuk Layanan Darurat, Bantuan Peta, Navigasi, serta Peralatan Stasiun Cuaca.

Direkomendasikan: