Съдържание:

Raspberry Pi - MPL3115A2 Прецизен сензор за висотомер Python Урок: 4 стъпки
Raspberry Pi - MPL3115A2 Прецизен сензор за висотомер Python Урок: 4 стъпки

Видео: Raspberry Pi - MPL3115A2 Прецизен сензор за висотомер Python Урок: 4 стъпки

Видео: Raspberry Pi - MPL3115A2 Прецизен сензор за висотомер Python Урок: 4 стъпки
Видео: LIVESTREAM: Unexpected unboxing Shelly, Pokit and RaspberryPi 2024, Ноември
Anonim
Image
Image

MPL3115A2 използва MEMS сензор за налягане с I2C интерфейс за предоставяне на точни данни за налягане/надморска височина и температура. Изходите на сензора са цифровизирани от 24-битов ADC с висока разделителна способност. Вътрешната обработка премахва компенсационните задачи от хост MCU системата. Той е в състояние да открие промяна само в 0,05 kPa, което се равнява на 0,3 m промяна във височината. Ето демонстрацията му с малиново пи, използващо код на python.

Стъпка 1: Какво ви трябва..

От какво имаш нужда..!!
От какво имаш нужда..!!

1. Малина Пи

2. MPL3115A2

3. Кабел I²C

4. I²C щит за Raspberry Pi

5. Ethernet кабел

Стъпка 2: Връзки:

Връзки
Връзки
Връзки
Връзки
Връзки
Връзки
Връзки
Връзки

Вземете I2C щит за малиново пи и внимателно го натиснете върху щифтовете на gpio на малиново пи.

След това свържете единия край на I2C кабела към сензора MPL3115A2, а другия край към I2C щита.

Свържете също Ethernet кабела към pi или можете да използвате WiFi модул.

Връзките са показани на снимката по -горе.

Стъпка 3: Код:

Код
Код

Кодът на python за MPL3115A2 може да бъде изтеглен от нашето хранилище на Github- DCUBE Store Community.

Ето линка

Използвахме библиотека SMBus за код на python, стъпките за инсталиране на SMBus на raspberry pi са описани тук:

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

Можете също да копирате кода от тук, той е даден, както следва:

# Разпространява се с лиценз за свободна воля.

# Използвайте го по какъвто начин искате, печалба или безплатно, при условие че се вписва в лицензите на свързаните с него произведения.

# MPL3115A2

# Този код е предназначен за работа с мини модула MPL3115A2_I2CS I2C

внос smbus

време за импортиране

# Вземете I2C автобус

шина = smbus. SMBus (1)

# MPL3115A2 адрес, 0x60 (96)

# Изберете контролен регистър, 0x26 (38)

# 0xB9 (185) Активен режим, OSR = 128, режим Висотомер

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

# MPL3115A2 адрес, 0x60 (96)

# Изберете регистър за конфигуриране на данни, 0x13 (19)

# 0x07 (07) Активирано събитие за данни за надморска височина, налягане, температура

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

# MPL3115A2 адрес, 0x60 (96)

# Изберете контролен регистър, 0x26 (38)

# 0xB9 (185) Активен режим, OSR = 128, режим Висотомер

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

time.sleep (1)

# MPL3115A2 адрес, 0x60 (96)

# Прочетете данните обратно от 0x00 (00), 6 байта

# статус, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB

данни = bus.read_i2c_block_data (0x60, 0x00, 6)

# Конвертирайте данните в 20-бита

tHeight = ((данни [1] * 65536) + (данни [2] * 256) + (данни [3] & 0xF0)) / 16

temp = ((данни [4] * 256) + (данни [5] & 0xF0)) / 16

надморска височина = tВисочина / 16,0

cTemp = temp / 16.0

fTemp = cTemp * 1.8 + 32

# MPL3115A2 адрес, 0x60 (96)

# Изберете контролен регистър, 0x26 (38)

# 0x39 (57) Активен режим, OSR = 128, режим на барометър

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

time.sleep (1)

# MPL3115A2 адрес, 0x60 (96)

# Прочетете данните обратно от 0x00 (00), 4 байта

# status, pres MSB1, pres MSB, pres LSB

данни = bus.read_i2c_block_data (0x60, 0x00, 4)

# Конвертирайте данните в 20-бита

pres = ((данни [1] * 65536) + (данни [2] * 256) + (данни [3] & 0xF0)) / 16

налягане = (pres / 4.0) / 1000.0

# Извеждане на данни на екрана

отпечатайте "Налягане: %.2f kPa" %налягане

отпечатайте "Надморска височина: %.2f m" %надморска височина

печат "Температура в Целзий: %.2f C" %cТемп

отпечатайте "Температура по Фаренхайт: %.2f F" %fTemp

Стъпка 4: Приложения:

Различните приложения на MPL3115A2 включват високоточна алтиметрия, смартфони/таблети, лична електроника и др. Може също да бъде включена в GPS Dead Reckoning, GPS Enhancement за аварийни услуги, Map Assist, навигация, както и оборудване на метеорологичните станции.

Препоръчано: