Оглавление:
Видео: Raspberry Pi - Учебное пособие по Python для датчика точного высотомера MPL3115A2: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
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 для аварийных служб, ассистент карты, навигацию, а также оборудование метеостанции.
Рекомендуемые:
Visuino - получение точного времени с сервера NIST в Интернете с помощью NodeMCU: 8 шагов
Visuino - получение точного времени с сервера NIST в Интернете с помощью NodeMCU: в этом руководстве мы будем использовать NodeMCU Mini, OLED Lcd и Visuino для отображения реального времени в Интернете с сервера NIST на ЖК-дисплее. Посмотрите демонстрационное видео. Заслуга за вдохновение принадлежит пользователю YouTube «Чиприан Балалау»
Создание оповещений по электронной почте для беспроводного датчика температуры и влажности NCD с помощью Node-Red: 22 шага
Создание оповещений по электронной почте о беспроводном датчике температуры и влажности NCD с использованием Node-Red: мы используем здесь датчик температуры и влажности NCD, но шаги остаются одинаковыми для любого продукта ncd, поэтому, если у вас есть другие беспроводные датчики ncd, вы можете наблюдайте рядом кроме того. Путем остановки этого текста вам нужно
IOT123 - СОЕДИНИТЕЛЬНЫЙ КОНТРОЛЬ ДАТЧИКА: ОБЩАЯ ОБОЛОЧКА ICOS10 (ПРОВОД ДЛЯ ПОДКЛЮЧЕНИЯ) Сборка: 4 шага
IOT123 - СОЕДИНИТЕЛЬНЫЙ КОНТРОЛЬ ДАТЧИКА: ОБЩАЯ ОБОЛОЧКА ICOS10 (ПРОВОД ДЛЯ ПОДКЛЮЧЕНИЯ) Сборка: ОБНОВЛЕНИЕ Для большей надежности мы рекомендуем использовать схему IDC (не ПОДКЛЮЧЕНИЕ). Этот узел HOOKUP подходит для некритичной работы, если у вас есть время проверить цепь. Я нашел несколько проводов (верхний слой панелей: красный / желтый) недолго
Методы определения уровня воды Arduino с помощью ультразвукового датчика и датчика воды Funduino: 4 шага
Методы определения уровня воды Arduino с помощью ультразвукового датчика и датчика воды Funduino: в этом проекте я покажу вам, как создать недорогой датчик воды, используя два метода: 1. Ультразвуковой датчик (HC-SR04) 2. Датчик воды Funduino
Кронштейн для 3,5-дюймового жесткого диска для отсека для дисковода 5,25 дюйма: 3 шага
Кронштейн для 3,5-дюймового жесткого диска для отсека для дисковода 5,25 дюйма: у большинства из нас все еще есть старые CD / DVD-диски, которые вам уже не нужны, но вам жаль выбрасывать. Это инструкция, как дать вашим старым CD / DVD-ROMам вторую жизнь