Оглавление:

Raspberry Pi - Учебное пособие по Python для датчика точного высотомера MPL3115A2: 4 шага
Raspberry Pi - Учебное пособие по Python для датчика точного высотомера MPL3115A2: 4 шага

Видео: Raspberry Pi - Учебное пособие по Python для датчика точного высотомера MPL3115A2: 4 шага

Видео: Raspberry Pi - Учебное пособие по Python для датчика точного высотомера MPL3115A2: 4 шага
Видео: Учебное пособие по Python для барометра и высотомера Raspberry Pi HP206C 2024, Июль
Anonim
Image
Image

MPL3115A2 использует датчик давления MEMS с интерфейсом I2C для получения точных данных о давлении / высоте и температуре. Выходы датчиков оцифровываются 24-битным АЦП высокого разрешения. Внутренняя обработка удаляет задачи компенсации из системы главного MCU. Он способен обнаруживать изменение всего лишь на 0,05 кПа, что соответствует изменению высоты на 0,3 м. Вот его демонстрация с Raspberry Pi с использованием кода Python.

Шаг 1: Что вам нужно..

Что вам нужно..!!
Что вам нужно..!!

1. Raspberry Pi

2. MPL3115A2

3. Кабель I²C

4. I²C Shield для Raspberry Pi

5. Кабель Ethernet.

Шаг 2: Подключения:

Подключения
Подключения
Подключения
Подключения
Подключения
Подключения
Подключения
Подключения

Возьмите щит I2C для raspberry pi и осторожно наденьте его на контакты gpio raspberry pi.

Затем подключите один конец кабеля I2C к датчику MPL3115A2, а другой конец - к экрану I2C.

Также подключите кабель Ethernet к Pi, или вы можете использовать модуль Wi-Fi.

Подключения показаны на картинке выше.

Шаг 3: Код:

Код
Код

Код python для MPL3115A2 можно загрузить из нашего репозитория Github - Сообщество магазина DCUBE.

Вот ссылка

Мы использовали библиотеку SMBus для кода Python, шаги по установке SMBus на Raspberry Pi описаны здесь:

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

Вы также можете скопировать код отсюда, он выглядит следующим образом:

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

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

# MPL3115A2

# Этот код предназначен для работы с I2C Mini Module MPL3115A2_I2CS

импортировать 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)

время сна (1)

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

# Считать данные обратно из 0x00 (00), 6 байт

# status, 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 = ((data [4] * 256) + (data [5] & 0xF0)) / 16

высота = tHeight / 16,0

cTemp = темп / 16.0

fTemp = cTemp * 1,8 + 32

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

# Выбрать регистр управления, 0x26 (38)

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

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

время сна (1)

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

# Считать данные обратно из 0x00 (00), 4 байта

# status, нажмите MSB1, нажмите MSB, нажмите LSB

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

# Преобразовать данные в 20-битные

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

давление = (прес / 4,0) / 1000,0

# Выводить данные на экран

print "Давление:%.2f кПа"% давление

print "Altitude:%.2f m"% altitude

print "Температура в градусах Цельсия:%.2f C"% cTemp

print "Температура в градусах Фаренгейта:%.2f F"% fTemp

Шаг 4: Приложения:

Различные приложения MPL3115A2 включают в себя высокоточный альтиметр, смартфоны / планшеты, персональную электронику альтиметрии и т. Д. Он также может быть включен в систему определения точного счета GPS, усовершенствование GPS для аварийных служб, ассистент карты, навигацию, а также оборудование метеостанции.

Рекомендуемые: