Главная  /  On-line руководство  /  Датчик температуры, давления, влажности BMP280/BME280. Действие «sens_BMx280()»

Датчик температуры, давления, влажности BMP280/BME280.
Действие «sens_BMx280()»


Содержание

Общие данные
Параметры действия «sens_BMx280()»
Схема подключения
Подготовка модуля к работе
Конфигурация модуля



Общие данные

Smacont. Датчик температуры, давления, влажности BMP280/BME280

Модуль представляет собой высокоточный цифровой измеритель атмосферного давления на базе микро-чипа BMP280 от фирмы BOSH. После изготовления каждый датчик проходит индивидуальную калибровку в заводских условиях. Его малые размеры, низкое энергопотребление и высокая измерительная способность позволили завоевать популярность среди множества разработчиков Arduino-проектов. Модуль BMP280 был разработан фирмой как более технологичная модель своего предшественника BMP180. Данная модификация, в отличие от своего младшего брата, предоставляет пользователю целых 2 последовательных интерфейса обмена данными (SPI и I2C).

Отличие датчика BME280 от датчика BMP280 – наличие гигрометра, что позволяет измерять относительную влажность воздуха и создать на его основе маленькую метеостанцию.


Smacont. Отличие датчика BME280 от датчика BMP280

Отличие датчика BME280 от датчика BMP280

Характеристики


• Диапазон измерения давления: 300 – 1100 hPa (±1.0 hPa, 0 . . . 65 °C )
• Диапазон измерения температуры: от -40 до 85 °C ( ±0.5 °C)
• Диапазон измерения влажности: 0 — 100 % (20…80 %, 25 °C, ± 3%) (в BMP280 отсутствует)
• Напряжение питания 3.3 В (5,0 B).
• Пиковое потребление 714 µA, в режиме сна 0.3 µA
• Время старта модуля: 2 ms

Датчик имеет три режима работы: Sleep mode, Forced mode, Normal mode.
• SLEEP – режим сна,
• FORCED – режим аналогичен BMP085 и BMP180. То есть, дали команду на измерение, подождали, считали значения, датчик перешел в спящий режим.
• NORMAL – этот режим наиболее интересен и загоняет датчик в циклическую работу. То есть, он самостоятельно через определенное время, которое можно задать, выходит из режима сна и выполняет измерения, сохраняет данные в регистры памяти и вновь засыпает на указанное время.

Описание датчиков (datasheet):
BMP280;
BME280.



Параметры действия «sens_BMx280()»

Действие «sens_BMx280()» предназначено для работы с датчиками температуры и влажности серии AHTxx (AHT10/AHT15/AHT20/AHT21/AHT25).


Параметры действия «sens_BMx280()»     Параметры действия «sens_BMx280()»

Параметры действия «sens_BMx280()»

«Начало входных данных»

Начальная переменная «Vx», которая определяет следующие параметры: «Значение начальной высоты «AltitudeSet», «Значение поправочного коэфф. «CorrP», «Значение поправочного коэфф. «CorrT», «Значение поправочного коэфф. «CorrH».

«Значение начальной высоты «AltitudeSet»

Параметр задает значение высоты устройства, над уровнем моря. Необязательный параметр.

«Значение поправочного коэфф. «CorrP»

Переменная, которая содержит поправочный коэффициент для корректировки полученного значения давления. Необязательный параметр.

«Значение поправочного коэфф. «CorrT»

Переменная, которая содержит поправочный коэффициент для корректировки полученного значения температуры. Необязательный параметр.

«Значение поправочного коэфф. «CorrH»

Переменная, которая содержит поправочный коэффициент для корректировки полученного значения влажности. Необязательный параметр.

«Тип датчика»

Параметр определяет тип датчика.

«Адрес датчика»

Адрес датчика при подключении по интерфейсу «I2C»: 0x76 (по умолчанию) или 0x77.

«Значения при неисправности»

Параметр определяет, какое значение будет устанавливаться в параметрах «Значение текущей ...» при неисправности датчика.

«Начало выходных данных»

Начальная переменная «Vx», которая определяет следующие параметры: «Значение текущего давления «P», «Значение рассчитанной высоты «AltitudeCulc», «Значение текущей температуры «T» и «Значение текущей влажности «H».

«Значение текущего давления «P»

Текущее значение давления «P».

«Значение рассчитанной высоты «AltitudeCulc»

Текущее значение рассчитанной высоты «AltitudeCulc», м. над ур. моря.

«Значение текущей температуры «T»

Текущее значение температуры «T» в градусах Цельсия.

«Значение текущей влажности «H».

Текущее значение влажности «H» в процентах.



Схема подключения


Smacont. Подключение датчика BME280/BMP280

Подключение датчика BME280/BMP280

WiFi-модуль и датчик BME280 установлены на макетной плате для проектирования (Breadboard), позволяющей собирать проекты без пайки.

В качестве внешнего источника используется адаптер питания для зарядки сотовых телефонов, смартфонов, планшетов, с выходным током не менее 500мА. Для автономного питания контроллера можно использовать портативные аккумуляторы (Power Bank) емкостью от 2000мА*ч и выше. В качестве соединительного кабеля между макетной платой (Breadboard) и адаптером используется кабель для зарядки сотовых телефонов.



Подготовка модуля к работе

Подготовка модуля к работе заключается в выполнении следующих шагов.

Шаг 1. Программирование модуля

Программирование модуля (запись программы (прошивки) «Smacont-ESP») осуществляется в соответствии с инструкцией «Программирование модулей ESP и отладочных плат».

Шаг 2. Настройка сетевого соединения с модулем

Выполнить настройку сетевого соединения с модулем в соответствии с инструкцией «Первое включение».

Шаг 3. Настройка WiFi-сети (при необходимости)

При необходимости выполнить настройку WiFi-сети в соответствии с инструкцией «Настройки WiFi-сети».



Конфигурация модуля

Интерфейсы

Так как обмен информацией с датчиком осуществляется по интерфейсу «I2C», необходимо разрешить работу интерфейса и выбрать порты WIFI-модуля, которые будут использоваться в качестве линий «SCL» и «SDA».

Настройку интерфейса «I2C» производить в соответствии с инструкцией «Последовательные интерфейсы (UART, I2C, SPI)».

TIMER

Для периодического опроса датчика будем использовать «TMR0».

Настройку таймера «TMR0» производить в соответствии с инструкцией «Таймеры (TIMER)».

В качестве параметра «Событие» указываем переменную «V15».
В качестве параметра «Период, мс» указываем значение «1500» (опция «10...2550»), что соответствует 1500мс.

При каждом переполнении (каждые 1500мс), значение переменной события «Vx15» изменяется из «0» в «1», и наоборот, при этом генерируются следующие события:
• «UpDate» - при каждом событии переполнения (событие происходит каждые 1500мс);
• «Change» - при каждом событии переполнения (событие происходит каждые 1500мс);
• «Rising» - при изменении переменной «Vx» из «0» в «1» (событие происходит каждые 3000мс);
• «Falling» - при изменении переменной «Vx» из «1» в «0» (событие происходит каждые 3000мс).

Соответственно, используя событие «Rising», получаем период опроса датчика равным 3000мс (3сек).

Действие «sens_BMx280()»

Настройку действия «sens_BMx280()» производить в соответствии с инструкцией «Параметры действия «sens_BMx280()».

В качестве параметра «Начало выходных данных» указываем переменную «V10».
Соответственно, получаем список наших выходных данных:
• «V10» - Значение текущего давления «P»;
• «V11» - Значение текущей температуры «T», °С;
• «V12» - Значение текущей влажности «H», %.

Список действий

В конечном итоге получаем следующий список действий (см. рис. ниже).


Smacont. Список действий

Список действий

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

Сценарии

В сценариях указываем вызов действия «sens_BMx280()» по событию «Rising» от переменной «V15».


Smacont. Сценарии

Сценарии

Для корректной работы сценариев, необходимо включить выполнение сценариев.

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



Программы

Прошивка «Smacont-ESP»:
скачать

«Программа Настройки»:
запусить (только браузер Firefox)
скачать zip-архив

Телеграм канал

Новости

Энергонезависимая память (EEPROM)

Переменные «Vx» (карта переменных «Vx»)

WEB-интерфейс

Действие «wifi_CheckConn()». После подключения к WiFi-сети, выполнить действие с задержкой

Обмен данными. Open Monitoring

Датчики температуры и влажности AHT10/AHT15/AHT20/AHT21/AHT25

Датчик температуры и влажности SHT30 (SHT31/SHT35)

Действие «valueToVx()», «valueToArrVx()». Отслеживание заданного уровня в диапазоне значений

Действие «termostat()». Термостат

ESP-NOW. Датчик температуры и влажности с питанием от батареек

Последовательные интерфейсы (UART, I2C, SPI)

Управление одноканальным модулем реле

Протокол MQTT

Обмен данными. NarodMon

Обмен данными. ioControl



Программы для модулей ESP     Программы     Применения     Справочник         Контакты     SMACONT. Напишите нам smacont@ya.ru