Датчик температуры, давления, влажности BMP280/BME280.
|
Содержание
Общие данные
Общие данныеМодуль представляет собой высокоточный цифровой измеритель атмосферного давления на базе микро-чипа BMP280 от фирмы BOSH. После изготовления каждый датчик проходит индивидуальную калибровку в заводских условиях. Его малые размеры, низкое энергопотребление и высокая измерительная способность позволили завоевать популярность среди множества разработчиков Arduino-проектов. Модуль BMP280 был разработан фирмой как более технологичная модель своего предшественника BMP180. Данная модификация, в отличие от своего младшего брата, предоставляет пользователю целых 2 последовательных интерфейса обмена данными (SPI и I2C). Отличие датчика BME280 от датчика BMP280 – наличие гигрометра, что позволяет измерять относительную влажность воздуха и создать на его основе маленькую метеостанцию. Отличие датчика BME280 от датчика BMP280 Характеристики
Датчик имеет три режима работы: Sleep mode, Forced mode, Normal mode.
Описание датчиков (datasheet):
Параметры действия «sens_BMx280()»Действие «sens_BMx280()» предназначено для работы с датчиками температуры и влажности серии AHTxx (AHT10/AHT15/AHT20/AHT21/AHT25). Параметры действия «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» в процентах. Схема подключенияПодключение датчика 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мс), значение переменной события «Vx15» изменяется из «0» в «1», и наоборот, при этом генерируются следующие события:
Соответственно, используя событие «Rising», получаем период опроса датчика равным 3000мс (3сек). Действие «sens_BMx280()»Настройку действия «sens_BMx280()» производить в соответствии с инструкцией «Параметры действия «sens_BMx280()».
В качестве параметра «Начало выходных данных» указываем переменную «V10».
Список действийВ конечном итоге получаем следующий список действий (см. рис. ниже). Список действий По завершении настройки действий, необходимо выполнить перезагрузку модуля. СценарииВ сценариях указываем вызов действия «sens_BMx280()» по событию «Rising» от переменной «V15». Сценарии Для корректной работы сценариев, необходимо включить выполнение сценариев. В дальнейшем, полученное значение температуры и влажности можно использовать в других сценариях, например, для реализации проекта термостата. |
Программы
Прошивка «Smacont-ESP»:
«Программа Настройки»:
Телеграм каналНовостиЭнергонезависимая память (EEPROM) Переменные «Vx» (карта переменных «Vx») Действие «wifi_CheckConn()». После подключения к WiFi-сети, выполнить действие с задержкой Обмен данными. Open Monitoring Датчики температуры и влажности AHT10/AHT15/AHT20/AHT21/AHT25 Датчик температуры и влажности SHT30 (SHT31/SHT35) Действие «valueToVx()», «valueToArrVx()». Отслеживание заданного уровня в диапазоне значений Действие «termostat()». Термостат ESP-NOW. Датчик температуры и влажности с питанием от батареек Последовательные интерфейсы (UART, I2C, SPI) Управление одноканальным модулем реле |