Последние комментарии
-
09.03.2023 10:51
Спасибо!Драйвер установил,и все заработало.
-
25.01.2023 16:05
Спасибо. Хорошая статья. Хотелось бы увидеть как ...
-
21.01.2023 22:58
Доброго дня! Як можна замовити? І чи є схема або ...
-
05.05.2022 19:14
Спасибо автору, понял почему блинк не работал
-
21.04.2022 13:18
В моём случае он используется совместно с AGP ...
Самое читаемое
- Многофункциональный программатор на CH341A
- Переходник USB to TTL (RS232) YP-01 на чипе PL2303HX
- Знакомство с Arduino Pro mini на примере китайского аналога
- Подключаем мощную нагрузку к Arduino, через реле модуль
- Твердотельное реле из симистора для коммутации мощной нагрузки через Ардуино
- Знакомство с Arduino Micro (ATmega32U4) на примере китайского аналога Pro Micro
- Знакомство с Arduino Nano на примере китайского аналога
- Знакомство с Arduino UNO на примере китайского аналога
- Обход блокировки Одноклассников, Вконтакте, Яндекс и Маил.ру с помощью OpenVPN
- Управляем Arduino через Bluetooth HC-06, с компьютера или смартфона
Датчик температуры и влажности AHT10, подключение к Arduino
AHT10 - это высокоточный, полностью откалиброванный датчик температуры и влажности. Быстрый отклик, сильная защита от помех, низкое энергопотребление и низкая стоимость, делают его лучшим выбором на рынке, среди подобных сенсоров. Данный датчик может быть легко подключен к Arduino и на примере аналога Zirka PB Nano мы в этом убедимся.
Для того что бы датчик было удобно подключать к своим проектам, он смонтирован на плате, в виде не большого модуля.
Вид модуля с обеих сторон, размер 15х11мм.
Свой модуль я купил на Aliexpress
Датчик производится по технологии MEMS (микроэлектромеханические системы) китайской компанией «ASAIR» - первым производителем датчиков влажности с независимой конструкцией микросхем в Китае.
Каждый датчик калибруется и тестируется на заводе.
Диапазон питающего напряжения AHT10 от 1,8 до 3,6 В, но на модуле установлен преобразователь напряжения поэтому напряжение питания может быть до 6 вольт. Так же сам датчик не толерантен к 5-вольтовой логике, но наличие конвертера уровней, позволяет подключать модуль к 3,3 и 5-вольтовой логике.
Характеристика AHT10:
- Измерение относительной влажности (нормальный рабочий диапазон): 0 - 80%, разрешение: 0.024%, точность измерения ± 2%
- Измерение температуры: -40°C - + 85°C, разрешение: 0.01 °C, точность измерения ± 0,3°C
Датчик стабильно работает в рекомендуемом рабочем диапазоне, при длительном пребывании в условиях, выходящих за рамки нормы, особенно при влажности >80%, может наблюдаться временный дрейф сигнала. При возвращении в нормальные рабочие условия, датчик медленно самовосстановится до состояния калибровки.
При длительном контакте с высокой концентрацией химических паров, показания датчика дрейфуют. Если датчик подвергся воздействию экстремальных условий или химических паров, его можно восстановить до состояния калибровки методом сушки, при температуре 80-85 °C и относительной влажности <5% на протяжении 10 часов.
Подключение AHT10 к Arduino
К микроконтроллеру датчик подключается по I2C интерфейсу, адрес устройства 0x38.
Несмотря на то, что некоторые сайты пишут, что у датчика можно сменить адрес на 0х39, это не правда, адрес у него фиксированный, 0x38 для записи и 0x39 для чтения. Только один AHT10 может быть подключен к шине I2C.
Подключение модуля не должно вызвать проблем, все контакты датчика, подключаются к соответствующим контактам на плате Arduino. Вывод VIN подключается к 5V или 3,3V, в зависимости от версии платы Arduino.
В моём случае это Arduino совместимая плата Zirka PB Nano. На плате Nano, вывод 5V может быть обозначен как VCC.
Для работы с датчиком нужно установить библиотеку: скачать библиотеку AHT10.
После этого в Arduino IDE из примеров выбираем скетч: Файл - Примеры - AHT10 - example - AHT10_Serial_Test
После загрузки скетча, открываем монитор последовательного порта и видим показания датчика.
Комментарии
Исходно он сидит на земле, значит притянут к 0.
А то место, куда предлагается перепаять - там +питания - то есть логическая 1.
Я проанализировал файлы AHT10.cpp и AHT10.h
Нет там никакого чтения-записи по разным адресам.
Там зарезервировано два адреса
typedef enum {
eAHT10Address_d efault = 0x38,
eAHT10Address_L ow = 0x38,
eAHT10Address_H igh = 0x39,
} HUM_SENSOR_T;
И всё обращение происходит по адресу 0x38
_AHT10_address = eAHT10Address_d efault
AHT10_address = _AHT10_address;
Так что перепаиваем...
RSS лента комментариев этой записи