Mundarija:

Raspberry Pi - MPL3115A2 nozik altimetrli sensorli Python qo'llanmasi: 4 qadam
Raspberry Pi - MPL3115A2 nozik altimetrli sensorli Python qo'llanmasi: 4 qadam

Video: Raspberry Pi - MPL3115A2 nozik altimetrli sensorli Python qo'llanmasi: 4 qadam

Video: Raspberry Pi - MPL3115A2 nozik altimetrli sensorli Python qo'llanmasi: 4 qadam
Video: Raspberry Pi MPL3115A2 Precision Altimeter Sensor Python Tutorial 2024, Noyabr
Anonim
Image
Image

MPL3115A2 aniq bosim/balandlik va harorat ma'lumotlarini taqdim etish uchun I2C interfeysli MEMS bosim sensori bilan ishlaydi. Sensor chiqishlari yuqori aniqlikdagi 24 bitli ADC yordamida raqamlashtirilgan. Ichki ishlov berish MCU tizimidagi kompensatsiya vazifalarini olib tashlaydi. U 0,05 kPa o'zgarishini aniqlay oladi, bu balandlikning 0,3 m o'zgarishiga teng. Bu erda python kodi yordamida malina pi bilan namoyish.

1 -qadam: Sizga nima kerak.. !

Sizga nima kerak.. !!
Sizga nima kerak.. !!

1. Raspberry Pi

2. MPL3115A2

3. I²C kabeli

4. Raspberry Pi uchun I²C qalqoni

5. Ethernet kabeli

2 -qadam: Ulanishlar:

Ulanishlar
Ulanishlar
Ulanishlar
Ulanishlar
Ulanishlar
Ulanishlar
Ulanishlar
Ulanishlar

Malinali pi uchun I2C qalqonini oling va uni malina pi gpio pimlariga sekin suring.

Keyin I2C kabelining bir uchini MPL3115A2 sensoriga, ikkinchi uchini esa I2C ekraniga ulang.

Ethernet kabelini pi -ga ulang yoki WiFi modulidan foydalanishingiz mumkin.

Ulanishlar yuqoridagi rasmda ko'rsatilgan.

3 -qadam: Kod:

Kod
Kod

MPL3115A2 uchun python kodini bizning Github omboridan- DCUBE do'konlar hamjamiyatidan yuklab olish mumkin.

Mana havola

Biz python kodi uchun SMBus kutubxonasidan foydalandik, malina pi ga SMBus o'rnatish bosqichlari bu erda tasvirlangan:

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

Siz bu erdan kodni nusxalashingiz mumkin, u quyidagicha berilgan:

# Ixtiyoriy litsenziya bilan tarqatilgan.

# Agar xohlasang, foyda yoki tekin, agar u tegishli ish litsenziyalariga mos keladigan bo'lsa, ishlat.

# MPL3115A2

# Bu kod MPL3115A2_I2CS I2C Mini moduli bilan ishlash uchun mo'ljallangan

smbus import qilish

import vaqti

# I2C avtobusini oling

avtobus = smbus. SMBus (1)

# MPL3115A2 manzili, 0x60 (96)

# Boshqarish registrini tanlang, 0x26 (38)

# 0xB9 (185) Faol rejim, OSR = 128, Altimetr rejimi

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

# MPL3115A2 manzili, 0x60 (96)

# Ma'lumot konfiguratsiyasi registrini tanlang, 0x13 (19)

# 0x07 (07) Ma'lumot tayyorligi hodisasi balandlik, bosim, harorat uchun yoqilgan

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

# MPL3115A2 manzili, 0x60 (96)

# Boshqarish registrini tanlang, 0x26 (38)

# 0xB9 (185) Faol rejim, OSR = 128, Altimetr rejimi

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

uyqu (1)

# MPL3115A2 manzili, 0x60 (96)

# 0x00 (00), 6 baytdan ma'lumotlarni o'qing

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

ma'lumotlar = bus.read_i2c_block_data (0x60, 0x00, 6)

# Ma'lumotni 20 bitga aylantiring

tHeight = ((ma'lumotlar [1] * 65536) + (ma'lumotlar [2] * 256) + (ma'lumotlar [3] va 0xF0)) / 16

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

balandlik = balandlik / 16.0

cTemp = temp / 16.0

fTemp = cTemp * 1.8 + 32

# MPL3115A2 manzili, 0x60 (96)

# Boshqarish registrini tanlang, 0x26 (38)

# 0x39 (57) Faol rejim, OSR = 128, Barometr rejimi

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

uyqu (1)

# MPL3115A2 manzili, 0x60 (96)

# Ma'lumotni 0x00 (00), 4 baytdan qaytarib o'qing

# status, MSB1, MSB, Pres LSB

ma'lumotlar = bus.read_i2c_block_data (0x60, 0x00, 4)

# Ma'lumotni 20 bitga aylantiring

pres = ((ma'lumotlar [1] * 65536) + (ma'lumotlar [2] * 256) + (ma'lumotlar [3] va 0xF0)) / 16

bosim = (pres / 4.0) / 1000.0

# Ma'lumotlarni ekranga chiqarish

chop etish "Bosim: %.2f kPa" %bosim

"Balandlik: %.2f m" %balandlikni chop eting

chop etish "Tselsiy bo'yicha harorat: %.2f C" %cTemp

chop etish "Farengeytdagi harorat: %.2f F" %fTemp

4 -qadam: Ilovalar:

MPL3115A2 -ning turli xil ilovalari yuqori aniqlikdagi altimetriya, smartfonlar/planshetlar, shaxsiy elektron altimetriya va boshqalarni o'z ichiga oladi. Shuningdek, u GPS o'lik hisob -kitobiga, favqulodda xizmatlar uchun GPS -ni takomillashtirishga, xaritaga yordam berishga, navigatsiyaga, shuningdek ob -havo stantsiyasi uskunasiga qo'shilishi mumkin.

Tavsiya: