Обзор
AHT10 — это первый датчик в серии AHT от компании AOSONG. Он обеспечивает надежные измерения температуры и влажности при крайне низкой стоимости. Благодаря интерфейсу I2C и компактному исполнению, он стал популярным выбором для массовых IoT-устройств, систем умного дома и любительских метеостанций.
AHT10 — цифровой датчик температуры и влажности нового поколения. Он оснащен специализированным ASIC-чипом и улучшенным емкостным чувствительным элементом, что гарантирует высокую стабильность и точность даже в сложных условиях эксплуатации.
Приобретите Датчик температуры и влажности AHT10
Технические характеристики AHT10
Датчик AHT10 выделяется высокой стабильностью и низким энергопотреблением.
Распиновка AHT10
Распиновка стандартного модуля AHT10 максимально проста и включает всего 4 вывода.
У большинства модулей уже распаяны подтягивающие резисторы (4.7кОм) на линиях SDA и SCL, что упрощает подключение.
| Название | Тип | Описание | ESP32 Pin |
|---|---|---|---|
| VIN / VCC | Power | Питание (рекомендуется 3.3В) | 3V3 |
| GND | Ground | Общий провод | GND |
| SCL | Input | Тактовый сигнал I2C | GPIO22 |
| SDA | I/O | Линия данных I2C | GPIO21 |
Подключение AHT10 к ESP32
Для классического подключения используйте стандартную шину I2C на выводах GPIO21 и GPIO22.
Всегда соединяйте GND датчика и микроконтроллера для общей опорной земли.
| Вывод AHT10 | Микроконтроллер | Рекомендуемый пин (ESP32) |
|---|---|---|
| VIN / VCC | 3.3V | 3V3 |
| GND | Ground | GND |
| SCL | I2C SCL | GPIO22 |
| SDA | I2C SDA | GPIO21 |
Устранение неполадок AHT10
Столкнулись с проблемами? Попробуйте решения из списка ниже.
Ошибка инициализации датчика
Датчик не определяется на шине I2C
Решение: Проверьте адрес I2C с помощью I2C Scanner. По умолчанию адрес AHT10 — 0x38. Убедитесь, что питание 3.3В подано и провода SDA/SCL не перепутаны местами.
Показания влажности застыли на 0% или 100%
Некорректные данные или ошибки чтения
Решение: Датчику требуется время на инициализацию. Попробуйте добавить небольшую задержку (delay) после старта I2C. Также проверьте, не попала ли влага непосредственно на чувствительный элемент.
Примеры программирования AHT10
Arduino IDE
Используя библиотеку Adafruit AHT10
C++
Arduino IDE
Используя библиотеку Adafruit AHT10
#include <Adafruit_AHT10.h>
Adafruit_AHT10 aht;
void setup() {
Serial.begin(115200);
Serial.println("Тест датчика AHT10");
if (!aht.begin()) {
Serial.println("Датчик не найден!");
while (1);
}
Serial.println("AHT10 готов к работе");
}
void loop() {
sensors_event_t humidity, temp;
aht.getEvent(&humidity, &temp); // получение данных
Serial.print("Температура: ");
Serial.print(temp.temperature);
Serial.println(" C");
Serial.print("Влажность: ");
Serial.print(humidity.relative_humidity);
Serial.println(" %");
delay(2000); // пауза 2 сек
}
Для работы кода установите библиотеку Adafruit AHT10 в менеджере библиотек Arduino IDE.
ESP-IDF
Прямое управление через I2C мастер
C
ESP-IDF
Прямое управление через I2C мастер
#include "driver/i2c.h"
// Краткая инициализация I2C для AHT10 (0x38)
void aht10_init() {
uint8_t init_data[] = {0xE1, 0x08, 0x00};
i2c_master_write_to_device(I2C_NUM_0, 0x38, init_data, 3, 100 / portTICK_PERIOD_MS);
}
Полный пример требует настройки драйвера I2C. Используйте i2c_master_write_read_device для получения 6 байт данных датчика.
ESPHome
Интеграция в Home Assistant без кода
YAML
ESPHome
Интеграция в Home Assistant без кода
sensor:
- platform: aht10
temperature:
name: "Комнатная температура"
humidity:
name: "Комнатная влажность"
update_interval: 60s
ESPHome имеет встроенную поддержку этого датчика, достаточно указать платформу.
MicroPython
С использованием библиотеки ahtx0
Python
MicroPython
С использованием библиотеки ahtx0
import machine
import ahtx0
i2c = machine.I2C(0, scl=machine.Pin(22), sda=machine.Pin(21))
sensor = ahtx0.AHT10(i2c)
print("Температура: %0.2f C" % sensor.temperature)
print("Влажность: %0.2f %%" % sensor.relative_humidity)
Загрузите файл ahtx0.py на контроллер перед использованием.
Итоги AHT10
Датчик AHT10 — это идеальный выбор, когда бюджет проекта сильно ограничен, но требуется цифровая точность и стабильность. Он выигрывает у классических DHT11/DHT22 за счёт использования более современного чипа и работы по шине I2C.
Рекомендации
Для метеостанций на улице используйте защитный колпак, чтобы избежать образования конденсата на сенсоре. При питании от батареек не забывайте использовать спящий режим ESP32 вместе с отключением питания датчика.
Совет по точности
Не располагайте датчик вплотную к горячим чипам (ESP32) или блокам питания. Тепло от платы может завышать показания температуры на 1-2 градуса.
Готовы собрать проект?
Используйте этот датчик в своем следующем проекте для измерения параметров воздуха. Если нужна еще более высокая точность, обратите внимание на SHT31.
Изучите альтернативные датчики
Возможно, один из этих датчиков лучше подойдет для вашего конкретного сценария.

SHT31 / SHT31-D
Высокоточный сенсор от Sensirion с отличной помехоустойчивостью и защитой от пыли.

AHT20
Улучшенная версия AHT10: меньший размер, более высокая стабильность и точность.

BME280
Комбинированный датчик температуры, влажности и атмосферного давления (3-в-1).