Подключение датчика AHT20 + BMP280 к Arduino UNO

Введение

Сегодня расскажу о комбинированном датчике AHT20 + BMP280, позволяющем одновременно измерять температуру, влажность воздуха и атмосферное давление (Дешевая замена BME280). Этот модуль широко применяется в метеорологических станциях, экологическом мониторинге, интеллектуальных системах управления домом и зданиями.

Технические характеристики

  • Напряжение питания: 3,3В;
  • Ток потребления: 1мА;
  • Диапазон измерения и погрешность измерения: 0 — 100 % влажности (погрешность ±2%); — 40…+8585°C (погрешность ±0.3°C), 300…1100 гПа (погрешность ±1 гПа);
  • Максимальная частота I2C: 400кГц;
  • Габаритные размеры: 15 х 15 х 2 мм;
  • Вес: 2 грамма

Описание

Модуль оснащен двумя датчиками: AHT20 и BMP280. Первый датчик, AHT20, обеспечивает точное измерение относительной влажности воздуха в диапазоне от 0% до 100%, а также фиксирует температуру окружающей среды в пределах от −40°C до +85°C. Второй датчик, BMP280, позволяет измерять атмосферное давление в интервале от 300 гПа до 1100 гПа и дополнительно определяет температуру в аналогичном температурном диапазоне.

Обмен данными с модулем осуществляется посредством протокола I²C, который позволяет подключать модуль к микроконтроллеру Arduino или другим контроллерам.

Контакт Описание
VCC Питание модуля 3.3В
SDA Линия данных I²C
GND Земля
SDA Линия тактирования I²C

Подключение модуля AHT20 и BMP280 к Arduino UNO

Приведу пример схемы подключения модуля AHT20+BMP280 к плате Arduino UNO, а также напишу простейший скетч, позволяющий выводить значения температуры, влажности и атмосферного давления непосредственно в последовательный интерфейс Arduino.

Необходимые детали

Компонент Количество Купить
1 Arduino UNO R3 1 шт Авито | AliExpress | RobotChip
2 Провода DuPont 4 шт Авито | AliExpress | RobotChip
3 Модуль BMP280 и AHT20 1 шт Авито | AliExpress | RobotChip

Подключение

Подключение довольно простое и осуществляется посредством протокола I²C. Для этого соедините контакты A5 и A4 платы Arduino UNO соответственно с выводами SCL и SDA обоих датчиков AHT20 и BMP280. Далее обеспечьте подачу питания, подключив выводы VCC и GND модуля к соответствующим контактам +5В и GND Arduino UNO. Обратите внимание, что уровень напряжения выхода логики Arduino UNO составляет 5В, тогда как сам модуль рассчитан на работу от 3,3В. Желательно применять преобразователь логических уровней, однако в данном примере мы пренебрегаем этим требованием. Проверяем еще раз схему и приступаем к загрузке скетча.

Установка библиотеки

Для работы, будем использовать библиотеки «Adafruit_BMP280» и «Adafruit_AHTX0» скачать можно используя интегрированную среду разработки Arduino IDE», для этого откройте «Скетч → Подключение библиотеки → Менеджер библиотек…», так же выложу библиотеки в конце статьи.

Установка «Adafruit_BMP280»

Для работы библиотеки необходимо установить зависимые библиотеки, нажимаем «Установить все»

Установка «Adafruit_AHTX0»

Для работы библиотеки необходимо установить зависимые библиотеки, нажимаем «Установить все»

Программа

Открываем среду разработки Arduino IDE и загружаем первую программу в Arduino UNO.

Если все правильно сделали при открытия мониторинга порта увидим показания с датчиков

Описание программы:

Сначала подключаются необходимые библиотеки для работы с датчиками BMP280 и AHT20.

Создаются объекты для работы с датчиками.

В функции setup, инициализируем последовательного порта со скорость 9600 бит/с., затем производим проверку доступности датчиков BMP280 и AHT20. Если датчик не найден, выводится сообщение об ошибке.

В основном цикле программы (loop) данные температуры и влажности запрашиваются методом aht.getEvent() и помещаются в структуру типа sensors_event_t. Полученные значения сохраняются в переменных temperature и humidity. Далее считываются показания давления, которые затем делятся на коэффициент 133.3 для перевода полученных показаний в миллиметры ртутного столба (мм рт. ст.).

Далее, все показания отправляем в последовательный порт.

Полезные ссылки

Описание Скачать
1 Библиотека Adafruit_AHTX0 v.2.0.5 Adafruit_AHTX0_2.0.5.zip
2 Библиотека Adafruit_BMP280 v.3.0.0 Adafruit_BMP280_3.0.0.zip

О нас Сергей

Посмотреть также

Обзор модуля GSM, GPRS на чипе SIM800C

Обзор модуля GSM, GPRS на чипе SIM800C

В статье расскажу о плате разработке на чипе SIM800C, который поддерживает GSM, GPRS b Bluetooth с управлением AT командам.

Один комментарий

  1. sensors_event_t tempEvent, humidEvent;

    aht.getEvent(&tempEvent, &humidEvent);

    Температура и влажность перепутаны местами. Но за примерчик — спасибо!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *