AHT20 – датчик температуры и относительной влажности от ASAIR Microelectronics и датчик атмосферного давления BMP280 от подразделения Bosch.

Оба датчика подключаются по интерфейсу I2C и находятся на одной шине. Они имеют превосходные параметры стабильности в долгосрочной перспективе, откалиброваны на заводе. На плате также имеются отверстия для крепления модуля к корпусу.

Датчик BMP280 – преемник популярных BMP085 и BMP180, имеет высокое разрешение и скорость реакции. Кроме данных об атмосферном давлении, также имеет температурный датчик.

AHT20 работает по технологии MEMS, выдающей лучшие показатели, чем ранее популярные емкостные датчики. Встроенный АЦП высокого разрешения обеспечивает достаточную точность измерения.

Напряжение питания модуля от 3,3 до 5,5 Вольт


AHT20_BMP20_Test.ino



/* Dev by Artron Shop Co.,Ltd. */

#include <Wire.h>
#include <Adafruit_BMP280.h>
#include <AHT10.h>

Adafruit_BMP280 bmp;
AHT10 myAHT20(AHT10_ADDRESS_0X38, AHT20_SENSOR);

void setup() {
  Serial.begin(115200);
  Serial.println(F("AHT20+BMP280 test"));

  while (myAHT20.begin() != true) {
    Serial.println(F("AHT20 not connected or fail to load calibration coefficient")); //(F()) save string to flash & keeps dynamic memory free
    delay(5000);
  }
  Serial.println(F("AHT20 OK"));
  
  if (!bmp.begin()) {
    Serial.println(F("Could not find a valid BMP280 sensor, check wiring!"));
    while (1);
  }

  /* Default settings from datasheet. */
  bmp.setSampling(Adafruit_BMP280::MODE_NORMAL,     /* Operating Mode. */
                  Adafruit_BMP280::SAMPLING_X2,     /* Temp. oversampling */
                  Adafruit_BMP280::SAMPLING_X16,    /* Pressure oversampling */
                  Adafruit_BMP280::FILTER_X16,      /* Filtering. */
                  Adafruit_BMP280::STANDBY_MS_500); /* Standby time. */
}

void loop() {
  Serial.printf("Temperature: %.02f *C\n", myAHT20.readTemperature());
  Serial.printf("Humidity: %.02f %RH\n", myAHT20.readHumidity());
  Serial.printf("Pressure: %.02f hPa\n", bmp.readPressure());

  delay(1000);
}