Датчики температуры и влажности для Arduino

Сейчас на небезызвестной торговой площадке китайских друзей имеется довольно много моделей датчиков для измерения температуры и влажности воздуха. В этой статье я попытаюсь сравнить характеристики популярных датчиков, дабы можно было проще определить, какой датчик выбрать для той или иной поделки. Все приведенные здесь данные относятся к применению в обычных атмосферных условиях, то есть в метеостанциях, устройствах управления микроклиматом, вентиляцией, теплицами и т.д. Задачи сравнивать и исследовать датчики в специальных газовых смесях здесь не ставилось. Приведенные здесь технические характеристики приборов, по возможности, взяты из официальных datasheet-ов. Отзывы и нюансы использования найдены на форумах и в статьях, список которых Вы сможете найти в конце сего опуса, а так же из личного опыта использования. Статья в первую очередь ориентирована на любителей, а не профессионалов.

Основные характеристики

В таблице ниже приведены лишь основные характеристики, более подробно каждый датчик будет рассмотрен ниже. Таблица служит лишь для более быстрого сравнительного анализа возможностей и допустимых диапазонов измерения. Для быстрого перехода к описанию нужного датчика можно кликать по названию датчика в таблице.

Пояснения к таблице:

  • Пожалуйста, не путайте шаг измерения и погрешность измерения. Это разные характеристики. Шаг измерения зависит от разрядности АЦП датчика и показывает, на какую минимальную величину может изменяться выходное значение. Погрешность – отклонение измеренного значения величины от её истинного (действительного) значения. Погрешность измерения является характеристикой точности измерения, поэтому в таблице так и указано – точность (так как слово короче).
  • Многие датчики умеют программно изменить разрядность внутреннего АЦП, а следовательно изменять шаг измерения. В этом случае в таблице указан минимально возможный шаг измерения. Но за всё нужно платить – обычно он самый длительный по времени.
  • Некоторые датчики имеют встроенный нагреватель для удаления конденсата с сенсора после длительного пребывания в условиях повышенной влажности. Такие модули выделены красным цветом в столбце “Измерение влажности”.
  • Практически у всех датчиков погрешность измерения растет к краям диапазона. Поэтому в таблице она может быть указана как “±0.5~1.0”, то есть “±в середине диапазона ~ на краях диапазона”. Для более детальной информации смотрите графики погрешности, они обычно приведены в datasheet-ах. Ссылки на источники информации приведены в описании, но со временем они могут перестать работать.
  • Если датчик измеряет одновременно температуру и влажность, и при этом допустимый диапазон температур, при которых еще работает измерение влажности, меньше, чем диапазон измерения собственно температуры, то в таблице указан диапазон, при котором работают оба сегмента. Например: диапазон измерения температуры в datasheet-e указан как “от -40° до +125°С”, но при этом измерение влажности возможно лишь при “от -20° до +70°С”, то в таблице будет указан более узкий диапазон и помечен символом *. Сделано это для того, чтобы не загромождать таблицу. Смотрите подробное описание для получения более подробных сведений.
  • Многие датчики склонны к саморазогреву. То есть их показания температуры будут расти, если опрашивать их слишком часто. Там, где мне удалось найти такую информацию, я указал это в описании датчика. В любом случае в своих проектах я стараюсь не опрашивать датчик чаще чем один за в 20-30 секунд, обычно этого достаточно. Если Вам необходимы показания чаще, потребуется более тщательный выбор датчика.
  • Большинство приведенных здесь датчиков представлены не сами по себе, а уже в виде распаянных модулей. Некоторые из них могут иметь на борту стабилизатор и конверторы логических уровней. В этом случае в таблице указан диапазон питающих напряжений с учетом стабилизатора и помечен символом *.
  • Цена указана только справочно – это минимальная цена с первой страницы выдачи Aliexpress при поиске по названию датчика на момент написания статьи. Цена может быть не точной, и тем более, измениться со временем.
Датчик Фото Шина Питание Измерение
температуры
Измерение
влажности
Измерение
давления
Цена
Dallas Semiconductor / Maxim Integrated
DS18B20 DS18B20 1WIRE 3.0-5.5V
1.0-1.5mA
от -55° до +125°С
c шагом до 0.0625°С
точность ±0,5~2.0°С
отсутствует отсутствует ~ 0,3 $
Aosong Electronics Co.,Ltd / ASAIR
DHT11 DHT11 A1W 3.0-5.5V
0.2-1.0mA
от 0° до +50°С
c шагом 1.0°С
точность ±2.0°С
от 20 %RH до 90 %RH
c шагом 1.0 %RH
точность ±5.0 %RH
отсутствует ~ 0,7 $
Mw33 Mw33 A1W 3.3-5.5V от -20° до +60°С
c шагом 1.0°С
точность ±2.0°С
от 5 %RH до 95 %RH
c шагом 1.0 %RH
точность ±5.0 %RH
отсутствует ~ 0,7 $
DHT21 AM2301 AM2301 A1W 3.0-5.5V
0.05-2.1mA
от -40° до +80°С
c шагом 0.1°С
точность ±0.5~1.0°С
от 0 %RH до 99.9 %RH
c шагом 0.1 %RH
точность ±3.0~5.0 %RH
отсутствует ~ 2,2 $
DHT22 AM2302 AM2302 A1W 3.0-5.5V
0.05-1.5mA
от -40° до +80°С
c шагом 0.1°С
точность ±0.5~1.0°С
от 0 %RH до 99.9 %RH
c шагом 0.1 %RH
точность ±2.0~5.0 %RH
отсутствует ~ 2,5 $
AM2320 AM2321 AM2320 A1W, I2C 0xB8 3.1-5.5V
0.01-1.0mA
от -40° до +80°С
c шагом 0.1°С
точность ±0.2~0.5°С
от 0 %RH до 99.9 %RH
c шагом 0.1 %RH
точность ±2.0~3.0 %RH
отсутствует ~ 1,4 $
AHT10 AHT10 I2C 0x38 0x39 1.8-6.0V *
0.25-23µA
от -40° до +85°С
c шагом 0.01°С
точность ±0.3~0.8°С
от 0 %RH до 100 %RH *
c шагом 0.024 %RH
точность ±2.0~3.0 %RH
отсутствует ~ 0,8 $
AHT15 AHT15 I2C 0x38 1.8-3.6V
0.25-23µA
от -40° до +85°С
c шагом 0.01°С
точность ±0.3~0.8°С
от 0 %RH до 100 %RH *
c шагом 0.024 %RH
точность ±2.0~3.0 %RH
отсутствует ~ 1,6 $
AHT20 AHT20 I2C 0x38 2.0-5.5V
0.25-23µA
от -40° до +85°С
c шагом 0.01°С
точность ±0.3~1.0°С
от 0 %RH до 100 %RH *
c шагом 0.024 %RH
точность ±2.0~3.0 %RH
отсутствует ?
Bosch Sensortec
BMP180 BMP180 I2C 0x77 1.8-5.5V *
0.1µA-1mA
от -40° до +85°С
c шагом 0.1°С
точность ±0.5~2.0°С
отсутствует от 300 до 1100 hPa
c шагом 0.01 hPa
точность ±1.0~6.0 hPa
~ 0.3$
BMP280 BMP280 SPI, I2C 0x76 1.8-5.5V *
0.1µA-1mA
от -40° до +85°С
c шагом 0.01°С
точность ±0.5~1.0°С
отсутствует от 300 до 1100 hPa
c шагом 0.0016 hPa
точность ±1.0~1.7 hPa
~ 0.4$
BME280 BME280 SPI, I2C 0x76 1.8-5.5V *
0.1µA-1mA
от -40° до +85°С **
c шагом 0.01°С
точность ±0.5~1.5°С
от 0 %RH до 100 %RH
c шагом 0.008 %RH
точность ±3.0 %RH
от 300 до 1100 hPa
c шагом 0.0016 hPa
точность ±1.0~1.7 hPa
~ 2.7$
BME680 BME680 SPI, I2C 0x76 1.8-5.5V *
0.1µA-1mA
от -40° до +85°С **
c шагом 0.01°С
точность ±0.5~1.0°С
от 0 %RH до 100 %RH
c шагом 0.008 %RH
точность ±3.0 %RH
от 300 до 1100 hPa
c шагом 0.0018 hPa
точность ±0.6 hPa
~ 7.4$
Texas Instruments
HDC1080 HDC1080 I2C 0x40 2.7-5.5V
0.1-1.3µA
от -20° до +85°С *
c шагом 0.1°С
точность ±0.2~0.5°С
от 0 %RH до 100 %RH
c шагом 0.1 %RH
точность ±2.0~4.0 %RH
отсутствует ~ 1,5 $
HDC2080 HDC2080 I2C 0x40 0x41 1.62-3.6V
0.05-0.5µA
от -40° до +85°С *
c шагом 0.1°С
точность ±0.2~0.4°С
от 0 %RH до 100 %RH
c шагом 0.1 %RH
точность ±2.0~3.0 %RH
отсутствует ~ 3,1 $
Measurement Specialties / MEAS
HTU20D HTU20D I2C 0x40 1.5-3.6V
0.02-500µA
от -40° до +125°С
c шагом 0.01°С
точность ±0.3~0.7°С
от 0 %RH до 100 %RH
c шагом 0.04 %RH
точность ±3.0~5.0 %RH
отсутствует ~ 1,2 $
HTU21D HTU21D I2C 0x40 1.5-5.5V *
0.02-500µA
от -40° до +125°С
c шагом 0.01°С
точность ±0.3~0.7°С
от 0 %RH до 100 %RH
c шагом 0.04 %RH
точность ±3.0~5.0 %RH
отсутствует ~ 1,2 $
Silicon Laboratories
Si7021 SI7021 I2C 0x40 1.9-5.5V *
0.06-180µA
от -40° до +125°С
c шагом 0.01°С
точность ±0.3~0.8°С
от 0 %RH до 100 %RH
c шагом 0.025 %RH
точность ±2.0~3.0 %RH
отсутствует ~ 1,8 $
Sensirion
SHT20 SHT20 I2C 0x40 2.1-5.5V *
0.15-300µA
от -40° до +125°С
c шагом 0.01°С
точность ±0.5~2.5°С
от 0 %RH до 100 %RH
c шагом 0.04 %RH
точность ±3.0~5.0 %RH
отсутствует ~ 1,6 $
SHT21 SHT21 I2C 0x40 2.1-5.5V *
0.15-300µA
от -40° до +125°С
c шагом 0.01°С
точность ±0.3~0.8°С
от 0 %RH до 100 %RH
c шагом 0.04 %RH
точность ±2.0~3.0 %RH
отсутствует ~ 1,8 $
SHT25 SHT25 I2C 0x40 2.1-5.5V *
0.15-300µA
от -40° до +125°С
c шагом 0.01°С
точность ±0.2~0.7°С
от 0 %RH до 100 %RH
c шагом 0.04 %RH
точность ±1.8~3.0 %RH
отсутствует ~ 10 $
SHT30 SHT30 I2C 0x44 0x45 2.15-5.5V
0.15-600µA
от -40° до +125°С
c шагом 0.01°С
точность ±0.2~0.6°С
от 0 %RH до 100 %RH
c шагом 0.01 %RH
точность ±2.0~4.0 %RH
отсутствует ~ 2 $
SHT31 SHT31 I2C 0x44 0x45 2.15-5.5V
0.15-600µA
от -40° до +125°С
c шагом 0.01°С
точность ±0.2~0.5°С
от 0 %RH до 100 %RH
c шагом 0.01 %RH
точность ±2.0 %RH
отсутствует ~ 2,8 $
SHT35 SHT35 I2C 0x44 0x45 2.15-5.5V
0.15-600µA
от -40° до +125°С
c шагом 0.01°С
точность ±0.1~0.4°С
от 0 %RH до 100 %RH
c шагом 0.01 %RH
точность ±1.5~2.0 %RH
отсутствует ~ 10 $

Интерфейсы подключения (шины)

Прежде чем перейти к подробному рассмотрению собственно датчиков, стоит определиться со способами их подключения к микроконтроллеру. Я не буду вдаваться здесь в технические подробности и протоколы, в интернете масса информации по этом поводу, в том числе и в datasheet-ах. Итак, если кратко, существуют следующие варианты подключения (для рассмотренных датчиков):

  • 1WIRE ( OneWire ) – протокол передачи данных в обе стороны по одному проводу. Разработан фирмой Dallas Semiconductor (сейчас Maxim Integrated) в далёких 90-х, но активно используется и сейчас. На шине должно быть одно master-устройство (Ваш микроконтроллер) и одно или несколько адресуемых slave-устройств. Для подключения датчика к контроллеру потребуется свободный GPIO вывод, но на один вывод можно подключить несколько датчиков с разными адресами. Адреса у разных экземпляров датчиков различаются, поэтому их можно подключить много. Длина провода ограничена несколькими метрами – этот протокол весьма чувствителен ко времени и к помехам.
  • A1W ( Aosong 1-Wire ) – однопроводная шина Aosong разработана компанией Aosong Electronics Co., она отличается от однопроводной шины Maxim / Dallas, поэтому несовместима с 1-Wire шиной Dallas. Управление шиной A1W происходит «прижиманием к земле» (подачей логического «0») и «отпусканием» шины, тогда в шине появляется логическая «1» через подтягивающий резистор. Соответственно на этой шине может быть только один датчик, то есть для подключения каждого отдельного датчика потребуется свой отдельный GPIO. Зато длина кабеля датчика при отсутствии помех может достигать нескольких десятков метров. При этом «подтягивающий» резистор лучше располагать не около контроллера, а на стороне датчика. А заодно около самого датчика и помехогасящий конденсатор 100нФ на выводы питания не помешает – если на этой шине датчик из-за помехи “вываливается в ошибку”, то вернуть его в работу можно только кратковременным сбросом по питанию.
  • I2C – ( Inter-Integrated Circuit ) — последовательная асимметричная шина для связи между интегральными схемами внутри электронных приборов. Разработана фирмой Philips Semiconductors в начале 1980-х как простая 8-битная шина внутренней связи для создания управляющей электроники. Использует две двунаправленные линии связи: SDA – (DAta) “данные” и SCL (CLock) – “тактовый сигнал”. На одну шину можно “повесить” целую гирлянду датчиков и тем самым можно освободить кучу драгоценных GPIO. Проблема в том, что однотипные датчики имеют одинаковый внутренний адрес, который изменить либо нельзя, либо с бубном (перепаиванием “адресного” резистора на шилде). Адрес обычно напечатан на плате, на которой он распаян. Поэтому и выходит, что к одному контроллеру больше одного-двух одинаковых датчиков не подключить. Как выход можно использовать датчики разных производителей – у них адреса будут разные и можно использовать их одновременно. Длина провода лично у меня достигала более десяти метров, на котором “гирляндой” было подключено несколько разных датчиков. Если необходимо к одной шине I2C подключить одновременно несколько датчиков, то в этом случае желательно отпаять резисторы подтяжки линий SDA и SDC с шилдов датчиков (кроме одного датчика). При сбое датчика из-за помех, он, как правило самостоятельно возвращается в работу через некоторое время.
  • SPI – ( Serial Peripheral Interface ), последовательный периферийный интерфейс иногда называемый 4-х проводным интерфейсом, является последовательным синхронным интерфейсом передачи данных. На Arduino – совместимых устройствах используется не часто, ввиду того, что для нее требуется четыре GPIO, а их всегда не хватает (особенно на ESP8266).


DALLAS DS18B20

DS18B20 цифровой термометр с программируемым разрешением от 9 до 12–bit, которое может сохраняться в EEPROM памяти прибора. DS18B20 обменивается данными по 1-Wire шине и при этом может быть как единственным устройством на линии так и работать в группе. Все процессы на шине управляются центральным микропроцессором. Каждый DS18B20 имеет уникальный 64-битный адрес, который позволяет общаться с множеством датчиков DS18B20 установленных на одной шине. Такой принцип позволяет использовать один микропроцессор, чтобы контролировать множество датчиков DS18B20, распределенных по большому участку. В дополнение, DS18B20 может питаться напряжением линии данных (“parasite power”), при отсутствии внешнего источника напряжения.

Производитель: Dallas Semiconductor, ныне Maxim Integrated
Интерфейс: 1-Wire
Напряжение питания: от +3.0 В до +5.5 В, без нареканий напрямую работает с платами 3.3 В и 5.0 В.
Потребляемый ток: от ~1.0 µA в режиме ожидания до 1~1.5 mA в режиме измерения и передачи данных
Диапазон измерения температуры: от -55 до +125 °C
Шаг измерения температуры (разрешение): 0.5°C (9bit), 0.25°C (10bit), 0.125°C (11bit), 0.0625°C (12bit)
Погрешность измерения температуры (точность):
– в диапазоне от -10 до +85 °C : ±0.5°C (см. график)
– в диапазоне от -30 до +110°C : ±1.0°C
– в диапазоне от -55 до +125°C : ±2.0°C
Возможность измерения влажности: отсутствует
Возможность измерения давления: отсутствует
Библиотека для Arduino: DallasTemperature
Источники информации: Datasheet EN, Datasheet RU

Кривая погрешности измерения

Обращение к датчику может быть по его индексу на шине и по его физическому адресу. При использовании адреса, необходимо его как-то предварительно определить. Как это сделать можно узнать из статьи: “поиск адресов датчиков DS18B20s на шине“.
Этот датчик легко может использоваться в достаточно агрессивных помещениях – погребах, саунах, в емкостях с водой в герметичном исполнении. Подходит для большинства устройств домашней автоматизации. Но не любит длинные провода. При использовании в системах управления отоплением и самогонных аппаратах учтите, что на высокой температуре точность несколько падает.

На Aliexpress можно найти много различных вариантов этого датчика, в том числе на платах и в герметичном исполнении:

В корпусе TO-92
В герметичном корпусе
В герметичном корпусе

 

Следует однако учитывать, что не все йогурты одинаково полезны датчики с Aliexpress оригинальные и имеют заявленные характеристики. Не стоит покупаться на слишком низкую цену, в этом случае легко нарваться на подделку, показания которой могут быть далеко не самыми точными.


DHT11

Mw33DHT11 недорогой цифровой датчик температуры и влажности. В нем используется емкостной датчик влажности и терморезистор для измерения температуры окружающего воздуха. Данные выдаются в цифровой форме по шине типа 1-wire, но это не 1-wire! Однопроводная шина Aosong разработана компанией Aosong Electronics Co. она отличается от 1-проводной шины Maxim / Dallas, поэтому несовместима с 1-Wire шиной Dallas. Для преобразования данных внутри датчика используется 8-битный микроконтроллер. В процессе производства датчики калибруются и калибровочная константа записывается вместе с программой в память микроконтроллера. Производитель обещает передачу данных на расстояние до 20 метров, что делает его привлекательным выбором для различных приложений. Однако его точность измерений относительно невелика.

Производитель: Aosong Electronics Co.,Ltd (сейчас датчики маркируются как ASAIR)
Интерфейс: Aosong 1-Wire
Напряжение питания: от +3.0 В до +5.5 В, без нареканий напрямую работает с платами 3.3 В и 5.0 В.
Потребляемый ток: от ~1.0 µA в режиме ожидания до 1~1.5 mA в режиме измерения и передачи данных
Диапазон измерения температуры: от 0 до +50 °C
Шаг измерения температуры (разрешение): 1.0°C (8bit)
Погрешность измерения температуры (точность): ±2.0°C
Диапазон измерения влажности: от 20 до 90 %RH
Шаг измерения влажности (разрешение): 1.0%RH (8bit)
Погрешность измерения влажности (точность): ±5.0%RH
Возможность измерения давления: отсутствует
Библиотека для Arduino: DHT Sensor Library
Источники информации: Datasheet

Этот датчик можно использовать только в отапливаемых помещениях, из-за его узкого температурного диапазона. Так же не стоит использовать этот датчик и в помещениях с высокой влажностью (погреба, сауны и т.д.), так как после достаточно длительного пребывания (несколько недель и более) в таких условиях конденсатор измерения влажности насыщается влагой и выходит из строя. Измерение температуры при этом продолжает функционировать как обычно, а вот показания влажности будут всегда максимальные.

Устройство датчика влажности, источник

Иногда датчик может “зависнуть” (особенно это актуально на длинных соединительных проводах) и библиотека будет возвращать ошибку TIMEOUT. Чтобы вернуть его в рабочее состояние приходится кратковременно отключать питание датчика (можно без перезагрузки микроконтроллера – для этого можно использовать нормально замкнутые контакты реле или ключ на транзисторе). Для предотвращения подобных ситуаций на форумах рекомендуют устанавливать подтягивающий резистор на шину данных и фильтрующий конденсатор на вывод питания около датчика, а не около микроконтроллера. Поэтому если Вы планируете подключить эти датчики посредством длинных проводов, то имеет смысл купить их уже распаянными на минишилдах, где уже установлены и резистор и конденсатор. Это так же упростит их замену в случае выхода из строя.

Датчик DHT11 на плате


Mw33

Mw33Еще один недорогой цифровой датчик температуры и влажности. Китайцы позиционируют его как “улучшенный DHT11”. Диапазон измеряемой температуры стал шире, начинаясь уже от -20°C, точность не повысилась. Диапазон измеряемой влажности также стал немного шире. Даташита на него найти не удалось, производитель не известен. Судя по всему, используется тот же протокол передачи данных, что и у DHT11.

 

Производитель: неизвестен, возможно тот же AOSONG / ASAIR
Интерфейс: Aosong 1-Wire
Напряжение питания: от +3.3 В до +5.5 В.
Потребляемый ток: ?
Диапазон измерения температуры: от -20 до +60 °C
Шаг измерения температуры (разрешение): 1.0°C (8bit)
Погрешность измерения температуры (точность): ±2.0°C
Диапазон измерения влажности: от 5 до 95 %RH
Шаг измерения влажности (разрешение): 1.0%RH (8bit)
Погрешность измерения влажности (точность): ±5.0%RH
Возможность измерения давления: отсутствует
Библиотека для Arduino: должна подойти та же самая DHT Sensor Library
Источники информации: AliExpress


DHT21 / AM2301

AM2301DHT21, он же Гога, он же Жора, он же AM2301 – это более продвинутый вариант датчика от Aosong. В нем так же используется полимерный емкостной датчик влажности и терморезистор для измерения температуры окружающего воздуха. Данные выдаются в цифровой форме по шине типа 1-wire, но это не 1-wire! Однопроводная шина Aosong разработана компанией Aosong Electronics Co. она отличается от 1-проводной шины Maxim / Dallas, поэтому несовместима с 1-Wire шиной Dallas. Производитель обещает передачу данных на расстояние до 20 метров./p>

Производитель: Aosong Electronics Co.,Ltd (сейчас датчики маркируются как ASAIR)
Интерфейс: Aosong 1-Wire
Напряжение питания: от +3.0 В до +5.5 В, без нареканий напрямую работает с платами 3.3 В и 5.0 В.
Потребляемый ток: от ~40 µA в режиме ожидания до 1.5~2.1 mA в режиме измерения и передачи данных
Диапазон измерения температуры: от -40 до +80 °C
Шаг измерения температуры (разрешение): 0.1°C
Погрешность измерения температуры (точность): ±0.5°C (max ±1.0°C)
Диапазон измерения влажности: от 0 до 99.9 %RH
Шаг измерения влажности (разрешение): 0.1%RH
Погрешность измерения влажности (точность): ±3.0%RH (max ±5.0%RH)
Возможность измерения давления: отсутствует
Библиотека для Arduino: DHT Sensor Library
Источники информации: Datasheet EN

Датчик выпускается в черном корпусе с выводами – проводами.

Датчик AM2301

Не стоит использовать этот датчик и в помещениях с высокой влажностью (погреба, сауны и т.д.), так как после достаточно длительного пребывания (несколько недель и более) в таких условиях конденсатор измерения влажности насыщается влагой и выходит из строя. Измерение температуры при этом продолжает функционировать как обычно, а вот показания влажности будут всегда максимальные.

Устройство датчика влажности, источник

Иногда датчик может “зависнуть” (особенно это актуально на длинных соединительных проводах) и библиотека будет возвращать ошибку TIMEOUT. Чтобы вернуть его в рабочее состояние приходится кратковременно отключать питание датчика (можно без перезагрузки микроконтроллера – для этого можно использовать нормально замкнутые контакты реле или ключ на транзисторе). Для предотвращения подобных ситуаций на форумах рекомендуют устанавливать подтягивающий резистор на шину данных и фильтрующий конденсатор на вывод питания около датчика, а не около микроконтроллера.


DHT22 / AM2302

AM2302DHT22, он же Гога, он же Жора, он же AM2302 – это еще один вариант датчика от Aosong. Немного точнее, чем DHT21. Принцип работы, разумеется не изменился – в нем используется все тот же полимерный емкостной датчик влажности. Данные выдаются в цифровой форме по шине типа 1-wire, но это не 1-wire! Однопроводная шина Aosong разработана компанией Aosong Electronics Co. она отличается от 1-проводной шины Maxim / Dallas, поэтому несовместима с 1-Wire шиной Dallas. Производитель обещает передачу данных на расстояние до 20 метров.

Производитель: Aosong Electronics Co.,Ltd (сейчас датчики маркируются как ASAIR)
Интерфейс: Aosong 1-Wire
Напряжение питания: от +3.0 В до +5.5 В, без нареканий напрямую работает с платами 3.3 В и 5.0 В.
Потребляемый ток: от ~40 µA в режиме ожидания до 1~1.5 mA в режиме измерения и передачи данных
Диапазон измерения температуры: от -40 до +80 °C
Шаг измерения температуры (разрешение): 0.1°C
Погрешность измерения температуры (точность): ±0.5°C (max ±1.0°C)
Диапазон измерения влажности: от 0 до 99.9 %RH (этот датчик не выдает значение 100%, максимум 99.9%)
Шаг измерения влажности (разрешение): 0.1%RH
Погрешность измерения влажности (точность): ±2.0%RH (max ±5.0%RH)
Возможность измерения давления: отсутствует
Библиотека для Arduino: DHT Sensor Library
Источники информации: Datasheet EN

Кривые погрешности измерения

Датчик выпускается в двух вариантах. Точнее в одном, во втором случае тот же самый датчик просто упаковывается еще в один защитный корпус, более удобный для монтажа, но такой вариант и стоит несколько дороже. Второй вариант не предусматривает установку конденсатора и подтягивающего резистора, их нужно установить отдельно.

Датчик AM2302

Не стоит использовать этот датчик и в помещениях с высокой влажностью (погреба, сауны и т.д.), так как после достаточно длительного пребывания (несколько недель и более) в таких условиях конденсатор измерения влажности насыщается влагой и выходит из строя. Измерение температуры при этом продолжает функционировать как обычно, а вот показания влажности будут всегда максимальные. Такой датчик постоянно работает у меня в погребе и зимой при повышении влажности гарантированно выходит из строя (я имею в виду измерение влажности). Но зимой показания влажности не так уж и важны; а летом для управления вентиляцией приходится менять. Впрочем, судя по отзывам на форумах, этот датчик и в нормальных условиях служит относительно недолго.

Устройство датчика влажности, источник

Иногда датчик может “зависнуть” (особенно это актуально на длинных соединительных проводах) и библиотека будет возвращать ошибку TIMEOUT. Чтобы вернуть его в рабочее состояние приходится кратковременно отключать питание датчика (можно без перезагрузки микроконтроллера – для этого можно использовать нормально замкнутые контакты реле или ключ на транзисторе). Для предотвращения подобных ситуаций на форумах рекомендуют устанавливать подтягивающий резистор на шину данных и фильтрующий конденсатор на вывод питания около датчика, а не около микроконтроллера. Поэтому если Вы планируете подключить эти датчики посредством длинных проводов, то имеет смысл купить их уже распаянными на минишилдах, где уже установлены и резистор и конденсатор. Это так же упростит их замену в случае выхода из строя. Но будьте внимательны – не все шилды содержат указанные компоненты.

Датчик DHT22 на плате


AM2320 & AM2321

AM2320AM2320 и AM2321 – современный вариант DHT22 от Aosong. AM2321 отличается от AM2320 только другим корпусом и расположением выводов (насколько я понял). Принцип работы, разумеется, не изменился – в них используется все тот же полимерный конденсатор. Зато данные теперь с них можно получать в двух режимах – по шине I2C или Aosong 1-Wire. В случае использования шины I2C можно освободить один вывод на микроконтроллере (так как выводы под I2C обычно в любом случае используются), но можно подключить только один датчик, так как адрес датчика один и тот же. В случае использования шины Aosong 1-Wire можно подключить несколько датчиков, но каждому необходимо выделить свой вывод GPIO. В последнем случае на датчике вывод SCL необходимо соединить с выводом GND. Диапазоны измерений не отличаются от DHT22, зато точность измерения стала несколько выше. Кроме того, новый датчик заметно дешевле, что так же является его несомненным плюсом. Кроме этого, датчик стал немного экономичнее в плане потребляемого тока. В итоге более нет смысла заказывать AM2302. Оптимальный выбор для использования с шиной Aosong 1-Wire.

Производитель: Aosong Electronics Co.,Ltd (сейчас датчики маркируются как ASAIR)
Интерфейс: Aosong 1-Wire или I2C, адрес на шине: 0xB8
Напряжение питания: от +3.1 В до +5.5 В
Потребляемый ток: от ~10 µA в режиме ожидания до 950 µA (500 µA для AM2321) в режиме измерения и передачи данных
Диапазон измерения температуры: от -40 до +80 °C
Шаг измерения температуры (разрешение): 0.1°C (16bit)
Погрешность измерения температуры (точность): ±0.2°C (max ±0.5°C)
Диапазон измерения влажности: от 0 до 99.9 %RH
Шаг измерения влажности (разрешение): 0.1%RH
Погрешность измерения влажности (точность): ±2.0%RH (max ±3.0%RH)
Возможность измерения давления: отсутствует
Библиотека для Arduino: AM2320
Источники информации: AM2320 Datasheet EN, AM2321 Datasheet EN, Подключение к Arduino

Кривые погрешности измерения

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

Для предотвращения зависания на форумах рекомендуют устанавливать подтягивающий резистор на шину данных и фильтрующий конденсатор на вывод питания около датчика, а не около микроконтроллера. Поэтому если Вы планируете подключить эти датчики посредством длинных проводов, то имеет смысл купить их уже распаянными на минишилдах, где уже установлены и резистор и конденсатор. Это так же упростит их замену в случае выхода из строя. Но будьте внимательны – не все шилды содержат указанные компоненты.

Датчик AM2320 на плате


AHT10

AHT10Новый (ну как новый, относительно… datasheet от 2018 года) сенсор от ASAIR / AOSONG для измерения температуры и влажности. Младшая модель из серии датчиков AHT10/AHT15/AHT20. Судя по результатам вскрытия, проведенного уважаемым elchupanibrei, принцип работы датчика влажности не сильно отличается от серии DHTxx/AMxxxx – в нем используется все тот же конденсатор. Это же подтверждает и datasheet: “AHT10 оснащен недавно разработанными улучшенным полупроводниковым MEMS емкостным датчиком влажности и стандартным датчиком температуры на кристалле. Его производительность была значительно улучшена по сравнению с уровнем надежности датчиков предыдущего поколения, в том числе чтобы сделать их более устойчивыми в суровых условиях”. Сенсор работает с шиной I2C и имеет два адреса, которые можно переключать с помощью перемычке на плате. Таким образом можно подключить к одной шине сразу два датчика одновременно.

Производитель: ASAIR (он же AOSONG)
Интерфейс: I2C, адрес на шине: 0x38 или 0x39 (изменить можно с помощью перемычки на плате)
Напряжение питания: от +1.8 до +6.0 В
Потребляемый ток: от ~0.25 µA в режиме ожидания до 23 µA в режиме измерения
Диапазон измерения температуры: от -40 до +85 °C
Шаг измерения температуры (разрешение): 0.01°C
Погрешность измерения температуры (точность): ±0.3°C (max ~ ±0.8°C)
Диапазон измерения влажности: от 0 до 100 %RH (рекомендуемый диапазон от 0 до 80 %RH)
Шаг измерения влажности (разрешение): 0.024 %RH
Погрешность измерения влажности (точность): ±2.0 %RH (max ±3.0 %RH)
Возможность измерения давления: отсутствует
Библиотека для Arduino: enjoyneering AHTxx Library
Источники информации: Datasheet EN, Обзор от elchupanibrei

Погрешности измерения AHT10

Длительное воздействие на сенсор в течение 60 часов при влажности > 80% может привести к временному дрейфу относительной влажности на +3%. Датчик медленно вернется к паспортной точности ± 2 при нормальных условиях эксплуатации. Рекомендуемая частота опроса не менее 8 секунд (а ещё лучше до 30 секунд), так как датчик склонен к саморазогреву при выполнении измерений. Кроме того, следует учитывать, что этот сенсор имеет некоторую инерционность по сравнению с STU21D / Si7021, то есть гораздо медленнее реагирует на быстрые изменения влажности и температуры. Это может быть и хорошо (своеобразный встроенный фильтр от резких “скачков”), и плохо – когда требуется быстрая реакция на изменения.

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


AHT15

AHT15Средняя модель в новой линейке сенсоров от ASAIR / AOSONG для измерения температуры и влажности. Он имеет те же самые характеристики, что и AHT10, но значительно отличается устройством корпуса. Во-первых, датчик поставляется на заводской плате с разъемом, которая призвана уменьшить паразитный нагрев сенсоров от близкорасположенных элементов. Во-вторых AHT15 имеет защитную водонепроницаемую и пыленепроницаемую мембрану из ПТФЭ, которая не влияет на время отклика при измерении относительной влажности. Это позволяет использовать датчик в суровых условиях окружающей среды (например, к контакте с брызгами воды и сильное запыленность), обеспечивая при этом максимальную точность, что делает AHT15 лучшим выбором в самых сложных условиях эксплуатации.

Производитель: ASAIR (он же AOSONG)
Интерфейс: I2C, адрес на шине: 0x38
Напряжение питания: от +1.8 до +3.6 В
Потребляемый ток: от ~0.25 µA в режиме ожидания до 23 µA в режиме измерения
Диапазон измерения температуры: от -40 до +85 °C
Шаг измерения температуры (разрешение): 0.01°C
Погрешность измерения температуры (точность): ±0.3°C (max ~ ±0.8°C)
Диапазон измерения влажности: от 0 до 100 %RH (рекомендуемый диапазон от 0 до 80 %RH)
Шаг измерения влажности (разрешение): 0.024 %RH
Погрешность измерения влажности (точность): ±2.0 %RH (max ±3.0 %RH)
Возможность измерения давления: отсутствует
Особенности: защитный фильтр от пыли и капель
Библиотека для Arduino: enjoyneering AHTxx Library
Источники информации: Datasheet EN, Обзор от elchupanibrei

Погрешности измерения AHT15

Длительное воздействие на сенсор в течение 60 часов при влажности > 80% может привести к временному дрейфу относительной влажности на +3%. Датчик медленно вернется к паспортной точности ± 2 при нормальных условиях эксплуатации. Рекомендуемая частота опроса не менее 8 секунд (а ещё лучше до 30 секунд), так как датчик склонен к саморазогреву при выполнении измерений.

Плата с датчиком AHT15 не имеет встроенного стабилизатора, поэтому датчик напрямую можно подключать только к 3.3-вольтовым контроллерам. К недостаткам датчика можно отнести высокую цену – стоит он почти в два раза дороже AHT10.


AHT20

AHT20Старшая модель в новой линейке сенсоров от ASAIR / AOSONG для измерения температуры и влажности. Но чем она лучше AHT10 – я так и не понял. Из отличий только более широкий диапазон питающих напряжений (без стабилизатора) и немного худшая погрешность измерения температуры на краях диапазона. Даташит можно скачать на домашней странице продукта, ссылка ниже.

Производитель: ASAIR (он же AOSONG)
Интерфейс: I2C, адрес на шине: 0x38
Напряжение питания: от +2.0 до +5.5 В
Потребляемый ток: от ~0.25 µA в режиме ожидания до 320 µA в режиме измерения
Диапазон измерения температуры: от -40 до +85 °C
Шаг измерения температуры (разрешение): 0.01°C
Погрешность измерения температуры (точность): ±0.3°C (max ~ ±1.0°C)
Диапазон измерения влажности: от 0 до 100 %RH (рекомендуемый диапазон от 0 до 80 %RH)
Шаг измерения влажности (разрешение): 0.024 %RH
Погрешность измерения влажности (точность): ±2.0 %RH (max ±3.0 %RH)
Возможность измерения давления: отсутствует
Библиотека для Arduino: enjoyneering AHTxx Library
Источники информации: Homepage EN, Обзор от elchupanibrei

Погрешности измерения AHT20

Длительное воздействие на сенсор в течение 200 часов при влажности > 80% может привести к временному дрейфу относительной влажности на +3%. Датчик медленно вернется к паспортной точности ± 2 при нормальных условиях эксплуатации. Рекомендуемая частота опроса не менее 5 секунд (а ещё лучше до 30 секунд), так как датчик склонен к саморазогреву при выполнении измерений.

На AliExpress датчик сейчас в основном продается только на платах в паре с BMP280, хотя фотографии в архивах поисковых систем свидетельствуют о том, что существуют платы и в одиночном исполнении.

Сенсор AHT20 + BMP280



BMP180

BMP180BMP180 – дешёвый сенсор от Bosch Sensortec. Этот датчик позволяет измерить атмосферное давление и температуру окружающей среды. Используют данный датчик для определения высоты (чем выше, тем меньше давление), а так же в самодельных метеостанциях. Собственно датчик (металлический прямоугольный модуль с отверстием) включает в себя: пьезо-резистивный датчик (для определения атмосферного давления), термодатчик (для определения температуры), АЦП (аналого-цифровой преобразователь), EEPROM (энергонезависимая электрически стираемая перепрограммируемая память), RAM (энергозависимая память, другими словами ОЗУ), микроконтроллер. Не допускайте попадания на датчик влаги и прямых солнечных лучей.

Производитель: Bosch Sensortec
Интерфейс: I2C, адрес на шине: 0x77
Напряжение питания: без стабилизатора от +1.8 В до 3.6 В, со стабилизатором от +3.3 до +5.5 В
Потребляемый ток: от ~0.1 µA в режиме ожидания до 32 µA в режиме измерения, в пике может достигать 1 mA
Диапазон измерения температуры: от -40 до +85 °C
Шаг измерения температуры (разрешение): 0.1°C
Погрешность измерения температуры (точность):
– при 25°C: ±0.5°C (max ±1.5°C)
– от 0 до +65°C: ±1.0°C (max ±2.0°C)
Возможность измерения влажности: отсутствует
Диапазон измерения давления: от 300 до 1100 hPa (+9000…-500 метров относительно уровня моря)
Шаг измерения давления (разрешение): 0.01 hPa
Погрешность измерения давления (точность):
– от 0 до +65°C: ±1.0 hPa (max -4.0 hPa/+2.0 hPa)
– от -20 до 0°C: ±1.0 hPa (max -6.0 hPa/+4.5 hPa)
Библиотека для Arduino: BMP180 Breakout Arduino Library
Источники информации: Datasheet EN, Datasheet RU, Обзор и подключение к Arduino

Собственно сам датчик очень небольшого размера. В устройствах на Arduino почти всегда используется датчики, уже припаянные на платы (шилды), так их гораздо проще использовать. Как правило, на плате дополнительно распаян стабилизатор с 5.5 В до 3.3В, так как почти у всех плат Arduino напряжение питания составляет 5В. Но существует шилды, на которых есть отдельный вывод 3.3В, такие платы подойдут для ESPx. BMP180 без стабилизатора лично я не встречал, хотя они и могут существовать в природе.

Разновидности плат с BMP180

На плате также распаяны резисторы подтяжки линий SDA и SCL. Если Вы хотите использовать на шине I2C несколько датчиков одновременно (даже разных производителей), то эти резисторы можно выпаять. И чем больше датчиков Вы будете подключать, тем желательнее это сделать. Как это сделать, наглядно это продемонстрировано в статье: обзор и подключение к Arduino


BMP280

BMP280Модуль BMP280 был разработан фирмой Bosch Sensortec как более технологичная модель своего предшественника BMP180. Датчик представляет собой высокоточный цифровой измеритель атмосферного давления и температуры окружающей среды. Его малые размеры, низкое энергопотребление и высокая измерительная способность позволили завоевать популярность среди множества разработчиков Arduino-проектов. Данная модификация, в отличие от своего младшего брата, предоставляет пользователю 3 режима работы:

  • SLEEP – режим максимально пониженного энергопотребления;
  • NORMAL – в данном режиме модуль просыпается с определённой периодичностью, выполняет необходимые измерения и снова засыпает. Частота измерений задаётся программным путём, а результат считывается при необходимости;
  • FORCED – этот режим позволяет будить модуль подачей внешнего управляющего сигнала. После выполнения измерений, модуль автоматически переходит в режим пониженного энергопотребления.

Производитель: Bosch Sensortec
Интерфейс: SPI или I2C, адрес на шине: 0x76 или 0x77 (изменить можно с помощью перемычки на плате)
Напряжение питания: без стабилизатора от +1.71 В до 3.6 В, со стабилизатором от +3.3 до +5.5 В
Потребляемый ток: от ~0.1 µA в режиме ожидания до 720 µA в режиме измерения, в пике может достигать 1.12 mA
Диапазон измерения температуры: от -40 до +85 °C
Шаг измерения температуры (разрешение): 0.01°C
Погрешность измерения температуры (точность):
– при 25°C: ±0.5°C
– от 0 до +65°C: ±1.0°C
Возможность измерения влажности: отсутствует
Диапазон измерения давления: от 300 до 1100 hPa (+9000…-500 метров относительно уровня моря)
Шаг измерения давления (разрешение): 0.0016 hPa
Погрешность измерения давления (точность):
– от 0 до +65°C: ±1.0 hPa
– от -20 до 0°C: ±1.7 hPa
Особенности: автономная работа
Библиотека для Arduino: Adafruit BMP280 Library
Источники информации: Datasheet EN, Обзор и подключение к Arduino

Собственно сам датчик очень небольшого размера. В устройствах на Arduino почти всегда используется датчики, уже припаянные на платы (шилды), так их гораздо проще использовать. На некоторых платах дополнительно установлен стабилизатор 3.3 В для возможности подключения датчика к Arduino, которые имеют напряжение питания 5.0 В. Если же Вы планируете использовать данный датчик с ESP8266 или ESP32, то Вам следует использовать версию без стабилизатора. Интерфейс SPI доступен только на плате 3.3В. На плате также распаяны резисторы подтяжки линий SDA и SCL. Если Вы хотите использовать на шине I2C несколько датчиков одновременно (даже разных производителей), то эти резисторы можно выпаять. И чем больше датчиков Вы будете подключать, тем желательнее это сделать. Как это сделать, наглядно это продемонстрировано в статье: обзор и подключение к Arduino

Разновидности плат с BMP280

Не допускайте попадания на датчик влаги и прямых солнечных лучей.


BME280

BMP280Модуль BME280 предназначен для измерения атмосферного давления, температуры и влажности. Это очередной датчик давления фирмы Bosch Sensortec для измерения атмосферного давления и температуры. По сравнению с первыми датчиками серии (BMP085 и BMP180) он имеет лучшие характеристики и меньшие размеры. Отличие от датчика BMP280 – наличие гигрометра, что позволяет измерять относительную влажность воздуха и создать на его основе маленькую метеостанцию. Увы, но и стоит он заметно дороже BMP280. Этот датчик (так же как и BMP280) имеет 3 режима работы:

  • SLEEP – режим максимально пониженного энергопотребления;
  • NORMAL – в данном режиме модуль просыпается с определённой периодичностью, выполняет необходимые измерения и снова засыпает. Частота измерений задаётся программным путём, а результат считывается при необходимости;
  • FORCED – этот режим позволяет будить модуль подачей внешнего управляющего сигнала. После выполнения измерений, модуль автоматически переходит в режим пониженного энергопотребления.

Производитель: Bosch Sensortec
Интерфейс: SPI или I2C, адрес на шине: 0x76 или 0x77 (изменить можно с помощью перемычки на плате)
Напряжение питания: без стабилизатора от +1.71 В до 3.6 В, со стабилизатором от +3.3 до +5.5 В
Потребляемый ток: от ~0.1 µA в режиме ожидания до 714 µA в режиме измерения
Диапазон измерения температуры: от -40 до +85 °C
Шаг измерения температуры (разрешение): 0.01°C
Погрешность измерения температуры (точность):
– при 25°C: ±0.5°C
– от 0 до +65°C: ±1.0°C
– от -20 до +0°C: ±1.25°C
– от -40 до -20°C: ±1.5°C
Диапазон измерения влажности: от 0 до 100 %RH
Шаг измерения влажности (разрешение): 0.008 %RH
Погрешность измерения влажности (точность): ±3.0 %RH
Рабочий диапазон измерения влажности: смотри график ниже
Диапазон измерения давления: от 300 до 1100 hPa (+9000…-500 метров относительно уровня моря)
Шаг измерения давления (разрешение): 0.0016 hPa
Погрешность измерения давления (точность):
– от 0 до +65°C: ±1.0 hPa
– от -20 до 0°C: ±1.7 hPa
Особенности: автономная работа
Библиотека для Arduino: Adafruit BME280 Library
Источники информации: Datasheet EN, Обзор и подключение к Arduino

Рабочий диапазон измерения влажности

Собственно сам датчик очень небольшого размера. В устройствах на Arduino почти всегда используется датчики, уже припаянные на платы (шилды), так их гораздо проще использовать. На некоторых платах дополнительно установлен стабилизатор 3.3 В для возможности подключения датчика к Arduino, которые имеют напряжение питания 5.0 В. Если же Вы планируете использовать данный датчик с ESP8266 или ESP32, то Вам следует использовать версию без стабилизатора. Интерфейс SPI доступен только на плате 3.3В. На плате также распаяны резисторы подтяжки линий SDA и SCL. Если Вы хотите использовать на шине I2C несколько датчиков одновременно (даже разных производителей), то эти резисторы можно выпаять. И чем больше датчиков Вы будете подключать, тем желательнее это сделать. Как это сделать, наглядно это продемонстрировано в статье: обзор и подключение к Arduino

Этот датчик стабильно работает уже несколько лет подряд в уличной метеостанции, длина провода для шины I2C при этом составляет около 3 метров. В данном конкретном случае использован стандартный 4-х жильный плоский кабель, который обычно применяется для подключения стационарных телефонных аппаратов к телефонной сети.

Некоторые ушлые продаваны на AliExpress пытаются продать более дешевые BMP280 по цене BME280. Распознать их достаточно просто по форме корпуса датчика – у BMP280 она более вытянутая (прямоугольная), а у BME280 – квадратная. Наглядно это продемонстрировано на рисунке:

Разновидности плат с BMЕ280

Не допускайте попадания на датчик влаги и прямых солнечных лучей.


BME680

BME680Модуль BME680 представляет собой целый набором датчиков в едином корпусе. Микросхема BME680 предназначена для измерения параметров окружающей среды. Она позволяет определять не только такие привычные характеристики как давление, температура и влажность, но и оценивать качество воздуха. Если учесть, что данная микросхема отличается весьма компактными габаритами и скромным потреблением, то она может стать идеальным выбором для таких приложений как умные часы, фитнес-браслеты, шагомеры, смартфоны, навигаторы и многих других.

Производитель: Bosch Sensortec
Интерфейс: SPI или I2C, адрес на шине: 0x76 или 0x77
Напряжение питания: без стабилизатора от +1.71 В до 3.6 В, со стабилизатором от +3.3 до +5.5 В
Потребляемый ток: от ~0.15 µA в режиме ожидания до 714 µA в режиме измерения
Диапазон измерения температуры: от -40 до +85 °C
Шаг измерения температуры (разрешение): 0.01°C
Погрешность измерения температуры (точность):
– при 25°C: ±0.5°C
– от 0 до +65°C: ±1.0°C
Диапазон измерения влажности: от 0 до 100 %RH
Шаг измерения влажности (разрешение): 0.008 %RH
Погрешность измерения влажности (точность): ±3.0 %RH
Рабочий диапазон измерения влажности: смотри график ниже
Диапазон измерения давления: от 300 до 1100 hPa (+9000…-500 метров относительно уровня моря)
Шаг измерения давления (разрешение): 0.0018 hPa
Погрешность измерения давления (точность): абсолютная ±0.6 hPa, относительная ±0.12 hPa
Особенности: сенсор качества воздуха
Библиотека для Arduino: Adafruit BME680 Library
Источники информации: Datasheet EN, Обзор

Датчик качества воздуха – главная «изюминка» в рассматриваемом датчике. BME680 имеет встроенный металло-оксидный датчик (Metal Oxide Semiconductor) органических летучих соединений (ЛОС). Это датчик резистивного типа, сопротивление поверхности которого зависит от содержания в воздухе ЛОС (этанол, ацетон, изопрен, угарный газ, продукты дыхания и т.д). Недостаток таких сенсоров заключается в необходимости дополнительного разогрева чувствительного элемента с помощью специального нагревателя, температура которого достигает нескольких сотен градусов. В частности в BME680 она составляет около 320 °С. Сопротивление датчика измеряется, оцифровывается 20-битным АЦП и фильтруется. Затем датчик преобразуют исходные данные в форму, удобную для дальнейшей обработки, а конкретно в баллы качества воздуха IAQ (Indoor air quality) BME680 работает с диапазоном IAQ 0…500 с разрешением 1. По предложенной таблице можно легко принять решение о необходимости проветривания, если речь идет о системе вентиляции, или просто предупредить пользователя, если микросхема BME680 установлена в умных часах.

Уровни качества воздуха



HDC1080

HDC1080Сенсор для измерения температуры и влажности от Texas Instruments. Данный датчик обладает не слишком высоким разрешением, зато может похвастаться низким энергопотреблением – в режиме измерения температуры и влажности потребляемый ток не превышает 1.3 µA, что делает его незаменимым для устройств сбора данных, работающих от батарей и аккумуляторов. А напряжение питания от 2.7 В до 5.5 В позволяет подключать датчик напрямую к большинству микроконтроллеров без использования стабилизаторов и преобразователей уровней. На плате с датчиком имеются перемычки, с помощью которых можно отключить резисторы подтяжки линий SCL и SDA при необходимости, что очень удобно при параллельном подключении нескольких датчиков. Погрешность измерений вполне соответствует современным требованиям.

Производитель: Texas Instruments
Интерфейс: I2C, адрес на шине: 0x40
Напряжение питания: от +2.0 до +5.5 В
Потребляемый ток: от ~0.1 µA в режиме ожидания до 1.3 µA в режиме измерения
Диапазон измерения температуры: от -40 до +125 °C
Шаг измерения температуры (разрешение): 0.1°C
Погрешность измерения температуры (точность): ±0.2°C (max ±0.5°C)
Диапазон измерения влажности: от 0 до 100 %RH
Рабочий диапазон температур для сенсора влажности: от -20 до +85 °C
Шаг измерения влажности (разрешение): 0.1 %RH
Погрешность измерения влажности (точность): ±2.0 %RH (max ±4.0 %RH)
Возможность измерения давления: отсутствует
Особенности: нагреватель
Библиотека для Arduino: HDC1080 Library, ClosedCube HDC1080 Arduino
Источники информации: Datasheet EN

Погрешности измерения HDC1080

HDC1080 включает в себя встроенный нагревательный элемент, который помогает уменьшить накопившееся смещение после длительного пребывания в условиях высокой влажности. Это особенно актуально, если Вы собираетесь постоянно использовать датчик в помещениях с повышенной влажностью (банях, теплицах, погребах, подвалах и т.д.). Кроме того, нагреватель можно использовать для функциональной проверки встроенного датчика температуры.


HDC2080

HDC2080HDC2080 – это еще один датчик влажности и температуры от Texas Instruments, который обеспечивает высокоточные измерения с очень низким энергопотреблением в небольшом корпусе. По сравнению с предшественником, точность измерения осталась практически неизменной, но зато он обладает еще более низким энергопотреблением, что делает его идеальным для систем с батарейным питанием. Он так же, как и HDC1080, содержит встроенный нагревательный элемент для испарения конденсата и влаги, что позволяет использовать его в помещениях с повышенной влажностью. Но самое вкусное в этой модели не это, а встроенные функции для автоматического измерения без необходимости включения микроконтроллера на постоянный мониторинг и программируемые пороги прерывания для выдачи предупреждений и пробуждения микроконтроллера из глубокого сна.

Производитель: Texas Instruments
Интерфейс: I2C, адрес на шине: 0x40 или 0x41 (переключение с помощью вывода ADR)
Напряжение питания: от +1.62 до +3.6 В
Потребляемый ток: от 0.05 µA в режиме ожидания до 0.55 µA в режиме измерения (1 раз в секунду) или 0.105 µA (1 раз в 10 секунд)
Диапазон измерения температуры: от -40 до +125 °C
Шаг измерения температуры (разрешение): 0.1°C
Погрешность измерения температуры (точность): ±0.2°C (max ±0.4°C)
Диапазон измерения влажности: от 0 до 100 %RH
Рабочий диапазон температур для сенсора влажности: от -40 до +85 °C
Шаг измерения влажности (разрешение): 0.1 %RH
Погрешность измерения влажности (точность): ±2.0 %RH (max ±3.0 %RH)
Возможность измерения давления: отсутствует
Особенности: нагреватель, автономная работа, прерывания при выходе за указанные границы
Библиотека для Arduino: HDC2080 Breakout, HDC2080 Lime-labs
Источники информации: Homepage EN, Datasheet EN

Погрешности измерения HDC2080

На плате HDC2080 нет стабилизатора, поэтому использовать с пятивольтовыми платами Arduino запросто не получится. Да это и не имеет особого смысла – не для этого сегмента он предназначен. Его целевая ниша – экономичные автономные устройства с питанием от батарей. Если Вы все-таки решитесь подключить его к Arduino Uno, то придется приколхозить еще и преобразователи уровней – максимальное напряжение на SCL / SDA не должно превышать 3.9 В. Этот датчик имеет вывод для изменения адреса на шине, что позволяет к одному контроллеру подключить параллельно два датчика. А вот резисторы подтяжки SCL /SDA отключить уже не получится (только выпаять полностью), видимо производитель (справедливо) решил, что другие датчики на шину подключаться не будут.

HDC2080 включает в себя встроенный нагревательный элемент, который можно включить на короткое время, чтобы предотвратить или удалить конденсат, который может накапливаться в среде с высокой влажностью. Для этого используются функции enableHeater() и disableHeater(). Это особенно актуально, если Вы собираетесь постоянно использовать датчик в помещениях с повышенной влажностью (банях, теплицах, погребах, подвалах и т.д.). Кроме того, нагреватель можно использовать для функциональной проверки встроенного датчика температуры. Рабочий диапазон нагревателя должен быть ограничен от –40 °C до 85 °C. При работе 3.3 В нагреватель будет потреблять ток 90 мА, а при работе 1.8 В – 55 мА. Измерения при этом, разумеется, придется на время приостановить.

На этот датчик можно легко переложить все процесс измерения и контроля заданных диапазонов температуры и влажности, отправив центральный процессор в глубокий сон для экономии энергии батарей. HDC2080 позволяет задать разрешение и временной интервал для периодического автономного измерения, настроить верхние и нижние границы для контроля температуры и влажности, а затем перевести основной микроконтроллер в режим пониженного энергопотребления. При выходе показаний датчика за заданные рамки датчик сгенерирует сигнал прерывания на выводе INT, чтобы вывести основной микроконтроллер из сна и запустить выполнение какие-либо действий. Разумеется, придется почитать мануалы и программа Вашего устройства немного усложнится, но это стоит того. Например: на основе этого сенсора можно собрать миниатюрное устройство и поместить его в слой базальтового утеплителя холодного чердака дома. Датчик будет мониторить температуру и влажность внутри утеплителя не чаще одного раза в две минуты (максимальный интервал), и только при превышении заданных пользователем параметров “будить” контроллер, который отправит сигнал тревоги.


HTU20D

HTU20DМладшая модель в линейке сенсоров от Measurement Specialties. В дикой природе (читай – AliExpress) практически не встречается, ибо смысла его продавать особого нет – стоит он ровно столько же, как и HTU21D. Плата с припаянным датчиком отличается от HTU21D более желтым цветом. Стабилизатора для питания от 5В и согласования уровней нет, только отключаемые резисторы подтяжки и конденсатор. Модификация с буковкой F на конце имеет PTFE-мембрану (фильтр) для защиты от пыли и капель воды.

Производитель: Measurement Specialties, Inc – MEAS France
Интерфейс: I2C, адрес на шине: 0x40
Напряжение питания: от +1.5 до +3.6 В
Потребляемый ток: от ~0.02 µA в режиме ожидания до 500 µA в режиме измерения
Диапазон измерения температуры: от -40 до +125 °C
Шаг измерения температуры (разрешение): 0.01°C
Погрешность измерения температуры (точность): ±0.3°C (max ~ ±0.8°C)
Диапазон измерения влажности: от 0 до 100 %RH
Шаг измерения влажности (разрешение): 0.04 %RH
Погрешность измерения влажности (точность): ±3.0 %RH (max ±5.0 %RH)
Возможность измерения давления: отсутствует
Особенности: встроенный нагреватель 1.5°C
Библиотека для Arduino: HTU20D
Источники информации: Datasheet EN

Погрешности измерения HTU20D

Производитель обещает измерение влажности в диапазоне температур от -40 до +85 °C, а с некоторыми ограничениями и до +125 °C. В спецификации указано, что оптимальные условия измерения – от 5% до 95%RH, но измерения возможны от 0% до 100%, включая конденсацию капель воды. Для удаления конденсата в датчике предусмотрен нагреватель, который потребляет около 5,5 мВт и обеспечивает повышение температуры примерно на 0,5–1,5 °C.

Рабочая область сенсора влажности HTU20D

Адрес на шине I2C совпадает с адресом HDC1080 / HDC2080 / Si7021 / SHT2x, а это означает что совместно их использовать не получится (без дополнительной коммутации). На плате с датчиком имеются запаянные перемычки, с помощью которых можно отключить резисторы подтяжки линий SCL и SDA при необходимости, что очень удобно при параллельном подключении нескольких датчиков.


HTU21D

HTU21DСледующая модель в линейке сенсоров от Measurement Specialties. По диапазонам, точности и времени измерения эта модель не отличается от предыдущей модели HTU20D. В продаже можно найти две модификации платы HTU21D – 3.3 В (красная) и 5.0 В (синяя). На синей плате имеется стабилизатор и модуль согласования логических уровней. В сенсоре имеется встроенный 5mW для удаления росы или после длительного воздействия влажности больше 80%. Модификация с буковкой F на конце имеет PTFE-мембрану (фильтр) для защиты от пыли и капель воды.

Производитель: Measurement Specialties, Inc – MEAS France
Интерфейс: I2C, адрес на шине: 0x40
Напряжение питания: от +1.5 до +3.6 В (красная плата) / 5.5 В (синяя плата)
Потребляемый ток: от ~0.02 µA в режиме ожидания до 500 µA в режиме измерения
Диапазон измерения температуры: от -40 до +125 °C
Шаг измерения температуры (разрешение): 0.01°C
Погрешность измерения температуры (точность): ±0.3°C (max ~ ±0.8°C)
Диапазон измерения влажности: от 0 до 100 %RH
Шаг измерения влажности (разрешение): 0.04 %RH
Погрешность измерения влажности (точность): ±3.0 %RH (max ±5.0 %RH)
Возможность измерения давления: отсутствует
Особенности: встроенный нагреватель 1.5°C
Библиотека для Arduino: Adafruit HTU21D, HTU21D enjoyneering
Источники информации: Datasheet EN, Обзор от elchupanibrei

Погрешности измерения HTU21D

Производитель обещает измерение влажности в диапазоне температур от -40 до +85 °C, а с некоторыми ограничениями и до +125 °C. В спецификации указано, что оптимальные условия измерения влажности – от 5% до 95%RH, но измерения возможны от 0% до 100%, включая конденсацию капель воды. Для удаления конденсата с поверхности датчика в нем имеется нагреватель 5mW, datasheet рекомендует использовать его для удаления росы или после длительного воздействия влажности больше 80%.

Рабочая область сенсора влажности HTU21D

Адрес на шине I2C совпадает с адресом HDC1080 / HDC2080 / Si7021 / SHT2x, а это означает что совместно их использовать не получится (без дополнительной коммутации). На красной плате с датчиком имеются запаянные перемычки, с помощью которых можно отключить резисторы подтяжки линий SCL и SDA при необходимости, что очень удобно при параллельном подключении нескольких датчиков. На синей плате имеется стабилизатор и преобразователь уровней, но стабилизатор слишком близко расположен к самому датчику (хотя и на противоположной стороне), из-за чего происходит смещение температуры до 1°C после часа работы.

Синяя ( 5 В ) и красная плата ( 3.3 В )

Не рекомендуется опрашивать датчик слишком часто из-за его нагрева и низкой скорости реакции на изменения влажности. Минимальный рекомендуемый интервал между измерениями 10..18 секунд.


Si7021

SI7021Si7021 это более продвинутый аналог SHT21 и HTU21D от компании Silicon Labs. Из заметных внешних отличий имеет защитную пластинку от пыли. Если сравнить его с датчиками хх21 других производителей, то окажется, что все они имеют идентичные габариты (3×3 мм), примерно аналогичные параметры по точности, и совместимы по системе команд и выводам корпуса, на AliExpress они продаются на одних и тех же платах. Соответственно, можно применять одну и ту же библиотеку для считывания данных с датчика. Однако Si70XX имеют больше возможностей, чем собратья от других производителей, поэтому система команд более широкая, это следует учитывать. Серия Si70xx имеет в своем составе еще два датчика: Si7013 и Si7020, но они не сильно распространены, поэтому здесь не рассматриваются. Легко можно найти как 3.3-вольтовые варианты, так и 5-вольтовые со стабилизатором и преобразователем уровней.

Производитель: Silicon Laboratories
Интерфейс: I2C, адрес на шине: 0x40
Напряжение питания: от +1.9 до +3.6 В (фиолетовая плата) / 5.5 В (синяя плата)
Потребляемый ток: от ~0.06 µA в режиме ожидания до 180 µA в режиме измерения
Диапазон измерения температуры: от -40 до +125 °C
Шаг измерения температуры (разрешение): 0.01°C
Погрешность измерения температуры (точность): ±0.3°C (max ±0.8°C)
Диапазон измерения влажности: от 0 до 100 %RH
Шаг измерения влажности (разрешение): 0.025 %RH
Погрешность измерения влажности (точность): ±2.0 %RH (max ±3.0 %RH)
Возможность измерения давления: отсутствует
Особенности: встроенный нагреватель 1.5°C
Библиотека для Arduino: Adafruit Si7021, HTU21D enjoyneering
Источники информации: Datasheet EN, Обзор от elchupanibrei

Погрешности измерения Si7021

Как и ближайшие конкуренты, этот датчик так же способен к длительной работе в условиях повышенной влажности, включая конденсацию капель воды. Si7021 содержит встроенный резистивный нагревательный элемент, который можно использовать для повышения температуры датчика на 1.5°C. Этот элемент можно использовать для тестирования датчика, для предотвращения конденсации или для измерения точки росы, когда Si7021 используется вместе с отдельным датчиком температуры. Ток нагревательного элемента можно регулировать от ~3 до ~95 mA, соответственно будет изменяться и рассеиваемая нагревателем мощность.

В отличии от собратьев (HTU21D / SHT2x) Si70XX измеряет температуру и влажность одновременно. То есть измерения происходят гораздо быстрее и экономичнее. Вначале отсылаем команду на измерение влажности, а после необходимой паузы получаем измерянные влажность и температуру. Кроме того, сам по себе датчик Si7021 гораздо быстрее выполняет измерения, что может быть важно в некоторых применениях. Во вторых, датчик выдает уже термокомпенсированное значение влажности, а на HTU21D скомпенсированное значение придется считать отдельно. В третьих, Si70XX позволяет регулировать мощность нагревателя.

Адрес на шине I2C совпадает с адресом HDC1080 / HDC2080 / HTU21D / SHT2x, а это означает что совместно их использовать на Arduino без танцев с бубном не получится. На ESP32 + ESP-IDF это возможно, так как ESP32 имеет две шины I2C. На фиолетовой плате с датчиком имеются запаянные перемычки, с помощью которых можно отключить резисторы подтяжки линий SCL и SDA при необходимости, что очень удобно при параллельном подключении нескольких датчиков. На синей плате (CY-21) имеется стабилизатор и преобразователь уровней.

Платы 5 В и 3.3 В

Не рекомендуется опрашивать датчик слишком часто из-за его нагрева и низкой скорости реакции на изменения влажности. Минимальный рекомендуемый интервал между измерениями 10..18 секунд.


SHT20

SHT20SHT20 – это младшая модель в серии датчиков SHT2x от Sensirion. Серия SHT2x состоит из недорогой версии с датчиком влажности SHT20, стандартной версии с датчиком влажности SHT21 и высококачественной версии с датчиком влажности SHT25. Серия датчиков влажности SHT2x содержит датчик влажности емкостного типа и датчик температуры с запрещенной зоной. Рассматриваемый сенсор можно найти как в виде микросхемы, распаянной на плате (как в случае с Si7021 / HDC1080 / HTU21D) с напряжением питания до 3.6 В, так и в виде микромодуля в пластиковом корпусе (чем-то похож на DHT22) с напряжением питания до 5.5 В.

Производитель:Sensirion
Интерфейс: I2C, адрес на шине: 0x40
Напряжение питания: от +2.1 до +3.6 В (фиолетовая плата) / 5.5 В (белый / черный модуль)
Потребляемый ток: от ~0.15 µA в режиме ожидания до 300 µA в режиме измерения
Диапазон измерения температуры: от -40 до +125 °C
Шаг измерения температуры (разрешение): 0.01°C
Погрешность измерения температуры (точность): ±0.5°C (max ±2.5°C)
Диапазон измерения влажности: от 0 до 100 %RH
Шаг измерения влажности (разрешение): 0.04 %RH
Погрешность измерения влажности (точность): ±3.0 %RH (max ±5.0 %RH)
Возможность измерения давления: отсутствует
Особенности: встроенный нагреватель 1.5°C
Библиотека для Arduino: DFRobot SHT20, uFire SHT20
Источники информации: Datasheet EN

Погрешности измерения SHT20

Нормальный рабочий диапазон сенсора влажности: 0–80% относительной влажности, за пределами этого предела датчик может иметь обратимое смещение с медленной кинетикой (<3% относительной влажности через 200 часов при 90% относительной влажности). SHT20, так же как и конкуренты, содержит встроенный резистивный нагревательный элемент, который можно использовать для тестирования датчика (температура повышается на 1.5°C), для предотвращения конденсации или для измерения точки росы. Мощность нагревательного элемента не регулируется.

Рабочий диапазон измерения влажности SHT20

Адрес на шине I2C совпадает с адресом HDC1080 / HDC2080 / HTU21D / Si7021, а это означает что совместно их использовать без танцев с бубном не получится. На фиолетовой плате с датчиком имеются запаянные перемычки, с помощью которых можно отключить резисторы подтяжки линий SCL и SDA при необходимости, что очень удобно при параллельном подключении нескольких датчиков. В микромодуле имеется встроенный стабилизатор, поэтому его легко можно подключать к 5-вольтовым платам Arduino.

Датчик на плате ( 3.3 В ) и в виде модуля ( 5 В )

Модуль удобнее использовать, так как он имеет готовый корпус с отверстием для крепления, нужно только аккуратно “упаковать” подключаемые провода. Можно также найти этот сенсор в промышленном исполнении с интерфейсом Modbus RS485, но стоит он заметно дороже:

Датчик с интерфейсом Modbus RS485


SHT21

SHT21SHT21 – это следующая модель в серии датчиков SHT2x от Sensirion. Серия SHT2x состоит из недорогой версии с датчиком влажности SHT20, стандартной версии с датчиком влажности SHT21 и высококачественной версии с датчиком влажности SHT25. Серия датчиков влажности SHT2x содержит датчик влажности емкостного типа и датчик температуры с запрещенной зоной. Как и в предыдущем случае, его легко можно найти в продаже как в 3.3-вольтовом исполнении, так и в пятивольтовом (ну разумеется я говорю о уже распаянных на платках датчиках). На мой взгляд, из серии SHT2x это оптимальный выбор – точность выше SHT20, а цена не намного больше.

Производитель:Sensirion
Интерфейс: I2C, адрес на шине: 0x40
Напряжение питания: от +2.1 до +3.6 В (фиолетовая плата) / 5.5 В (GY-21)
Потребляемый ток: от ~0.15 µA в режиме ожидания до 300 µA в режиме измерения
Диапазон измерения температуры: от -40 до +125 °C
Шаг измерения температуры (разрешение): 0.01°C
Погрешность измерения температуры (точность): ±0.3°C (max ±0.8°C)
Диапазон измерения влажности: от 0 до 100 %RH
Шаг измерения влажности (разрешение): 0.04 %RH
Погрешность измерения влажности (точность): ±2.0 %RH (max ±3.0 %RH)
Возможность измерения давления: отсутствует
Особенности: встроенный нагреватель 1.5°C
Библиотека для Arduino: SHT21 markbeee, SHT21 e-radionicacom
Источники информации: Datasheet EN, Обзор от elchupanibrei

Погрешности измерения SHT21

Нормальный рабочий диапазон сенсора влажности: 0–80% относительной влажности, за пределами этого предела датчик может иметь обратимое смещение с медленной кинетикой (<3% относительной влажности через 200 часов при 90% относительной влажности). SHT21, так же как и конкуренты, содержит встроенный резистивный нагревательный элемент, который можно использовать для тестирования датчика, для предотвращения конденсации или для измерения точки росы. Мощность нагревательного элемента не регулируется.

Рабочий диапазон измерения влажности SHT21

Адрес на шине I2C совпадает с адресом HDC1080 / HDC2080 / HTU21D / Si7021, а это означает что совместно их использовать без танцев с бубном не получится. На фиолетовой плате с датчиком имеются запаянные перемычки, с помощью которых можно отключить резисторы подтяжки линий SCL и SDA при необходимости, что очень удобно при параллельном подключении нескольких датчиков. Фиолетовая плата отлично согласуется с ESP8266, ESP32 или другими 3.3 В микроконтроллерами. На GY-21 кроме собственно датчика смонтирован стабилизатор и преобразователи уровней, его удобнее использовать с Arduino.

Платы с SHT21

Не рекомендуется опрашивать датчик слишком часто из-за его нагрева и низкой скорости реакции на изменения влажности. Минимальный рекомендуемый интервал между измерениями 10..18 секунд.


SHT25

SHT25SHT25 – высококачественная модель в серии датчиков SHT2x от Sensirion. Серия SHT2x состоит из недорогой версии с датчиком влажности SHT20, стандартной версии с датчиком влажности SHT21 и высококачественной версии с датчиком влажности SHT25. Серия датчиков влажности SHT2x содержит датчик влажности емкостного типа и датчик температуры с запрещенной зоной. В дикой природе На AliExpress можно найти только в виде чипов по неадекватной цене, готовых модулей на момент написания статьи я не нашёл. Есть в продаже платы-подложки для распайки этих датчиков, но паять придется самому.

Производитель:Sensirion
Интерфейс: I2C, адрес на шине: 0x40
Напряжение питания: от +2.1 до +3.6 В
Потребляемый ток: от ~0.15 µA в режиме ожидания до 300 µA в режиме измерения
Диапазон измерения температуры: от -40 до +125 °C
Шаг измерения температуры (разрешение): 0.01°C
Погрешность измерения температуры (точность): ±0.2°C (max ±0.7°C)
Диапазон измерения влажности: от 0 до 100 %RH
Шаг измерения влажности (разрешение): 0.04 %RH
Погрешность измерения влажности (точность): ±1.8 %RH (max ±3.0 %RH)
Возможность измерения давления: отсутствует
Особенности: встроенный нагреватель 1.5°C
Библиотека для Arduino: SHT2x Arduino Library, SHT25 WickedDevice
Источники информации: Datasheet EN

Погрешности измерения SHT25

Нормальный рабочий диапазон сенсора влажности: 0–80% относительной влажности, за пределами этого предела датчик может иметь обратимое смещение с медленной кинетикой (<3% относительной влажности через 200 часов при 90% относительной влажности). SHT25, так же как и конкуренты, содержит встроенный резистивный нагревательный элемент, который можно использовать для тестирования датчика, для предотвращения конденсации или для измерения точки росы.

Рабочий диапазон измерения влажности SHT25

Адрес на шине I2C совпадает с адресом HDC1080 / HDC2080 / HTU21D / Si7021, а это означает что совместно их использовать без танцев с бубном не получится. На AliExpress можно найти только в виде чипов по большой цене, готовых модулей на момент написания статьи я не нашёл. Но имеются в продаже пустые платы-подложки для распайки этих датчиков, паять модули придется самому, причем очень осторожно. Как вариант можно использовать готовую платку от любого SHTxx / HTUxx / HDCxx, аккуратно выпаяв более дешевый (ну или например поврежденный) чип, а затем аккуратно припаяв на нее новый. Пары спирта могут повредить датчик, поэтому следует использовать безспиртовые флюсы при пайке.


SHT30

SHT30SHT30 – это бюджетная модель в следующей серии датчиков SHT3x от Sensirion. Серия датчиков влажности SHT3x состоит из недорогой версии с датчиком SHT30, стандартной версии с датчиком SHT31 и высокопроизводительной версии с датчиком SHT35. В отличии от SHT2x, новая линейка сенсоров имеет более широкий диапазон питающих напряжений – от 2.15 до 5.5 В, поэтому не нуждается в дополнительном стабилизаторе для подключения к различным платам. Кроме этого, SHT3x предлагает ряд новых функций, таких как улучшенная обработка сигналов; два различных адреса I2C, выбираемых пользователем; режим оповещения с программируемыми пределами влажности и температуры; а также скорость передачи данных до 1 МГц.

Производитель:Sensirion
Интерфейс: I2C, адрес на шине: 0x44 или 0x45.
Напряжение питания: от +2.15 до +5.5 В
Потребляемый ток: от ~0.2 µA в режиме ожидания до 600~1500 µA в режиме измерения
Диапазон измерения температуры: от -40 до +125 °C
Шаг измерения температуры (разрешение): 0.01°C
Погрешность измерения температуры (точность): ±0.2°C (max ±0.6°C)
Диапазон измерения влажности: от 0 до 100 %RH
Шаг измерения влажности (разрешение): 0.01 %RH
Погрешность измерения влажности (точность): ±2.0 %RH (max ±4.0 %RH)
Возможность измерения давления: отсутствует
Особенности: встроенный нагреватель 33mW
Библиотека для Arduino: SHT3x, ClosedCube SHT3xD
Источники информации: Homepage EN, Datasheet EN, Небольшой обзор

Погрешности измерения SHT30

Датчик показывает наилучшие характеристики при эксплуатации в рекомендованном диапазоне нормальной температуры и влажности от 5 до 60 °C и от 10 %RH до 90 %RH соответственно. Долгосрочное воздействие условий, выходящих за пределы нормы, особенно при высоких значениях влажности, может временно увеличивать погрешность измерения относительной влажности на +3% (например при воздействии относительной влажности >80% более 60 часов). После возвращения в нормальное состояние диапазон температуры и влажности, датчик сам медленно вернется в состояние калибровки. Длительное воздействие экстремальные условия могут ускорить старение.

Типичный допуск относительной влажности SHT30

SHT30 оснащен внутренним нагревателем, который предназначен только для проверки достоверности. Увеличение температуры, достигаемое нагревателем, зависит от различных параметров и лежит в диапазоне нескольких градусов по Цельсию. Его можно включать и выключать по команде. После сброса подогреватель отключается (состояние по умолчанию).

Наконец-то производитель изменил адрес датчика на шине, и теперь его можно комбинировать с другими датчиками, например BMP280. Этим немедленно воспользовались китайские производители, на Aliexpress без труда можно найти платы с несколькими сенсорами одновременно. Если рассматривать платы только с этим датчиком “в одиночестве”, то можно найти как минимум три варианта: SHT30-DIS без возможности изменения адреса (синяя), SHT30 с выводами ADDR (изменение адреса) и ALARM (сигнал появляется при выходе за настроенные диапазоны) (фиолетовая), и шилд для D1MINI как с возможностью изменения адреса, так и с возможностью отключения подтягивающих резисторов.

Разновидности плат с SHT30

Фиолетовая плата функционально похожа HDC2080. SHT30 может работать независимо, без Arduino или другого микроконтроллера. В таком варианте он действует как своего рода автоматический термометр и гигрометр и может управлять другим устройством, например вентилятором или нагревателем, либо “будить” микроконтроллер по прерыванию. Но на синей SHT30-DIS таких выводов просто нет.


SHT31

SHT31SHT31 – это средняя модель в серии датчиков SHT3x от Sensirion. Серия датчиков влажности SHT3x состоит из недорогой версии с датчиком SHT30, стандартной версии с датчиком SHT31 и высокопроизводительной версии с датчиком SHT35. В отличии от SHT2x, новая линейка сенсоров имеет более широкий диапазон питающих напряжений – от 2.15 до 5.5 В, поэтому не нуждается в дополнительном стабилизаторе для подключения к различным платам. Кроме этого, SHT3x предлагает ряд новых функций, таких как улучшенная обработка сигналов; два различных адреса I2C, выбираемых пользователем; режим оповещения с программируемыми пределами влажности и температуры; а также скорость передачи данных до 1 МГц.

Производитель:Sensirion
Интерфейс: I2C, адрес на шине: 0x44 или 0x45.
Напряжение питания: от +2.15 до +5.5 В
Потребляемый ток: от ~0.2 µA в режиме ожидания до 600~1500 µA в режиме измерения
Диапазон измерения температуры: от -40 до +125 °C
Шаг измерения температуры (разрешение): 0.01°C
Погрешность измерения температуры (точность): ±0.2°C (max ±0.5°C)
Диапазон измерения влажности: от 0 до 100 %RH
Шаг измерения влажности (разрешение): 0.01 %RH
Погрешность измерения влажности (точность): ±2.0 %RH
Возможность измерения давления: отсутствует
Особенности: встроенный нагреватель 33mW
Библиотека для Arduino: SHT3x, ClosedCube SHT3xD
Источники информации: Homepage EN, Datasheet EN, Небольшой обзор

Этот датчик в отличии от бюджетной модели имеет более “ровные” графики погрешности измерений. Я так понимаю, что на производстве выпускается один и тот же датчик, а разделение на SHT30 / SHT31 / SHT35 происходит на этапе калибровки – самые точные датчики маркируют как SHT35, явные середнячки попадают в группу SHT31, ну а “третий сорт не брак” – SHT30.

Погрешности измерения SHT31

Датчик показывает наилучшие характеристики при эксплуатации в рекомендованном диапазоне нормальной температуры и влажности от 0 до 90 °C и от 0 %RH до 100 %RH соответственно. Долгосрочное воздействие высоких значениях влажности, может временно увеличивать погрешность измерения относительной влажности на +3% (например при воздействии относительной влажности >80% более 60 часов). После возвращения в нормальное состояние диапазон температуры и влажности, датчик сам медленно вернется в состояние калибровки. Длительное воздействие экстремальные условия могут ускорить старение.

Типичный допуск относительной влажности SHT31

SHT31 оснащен внутренним нагревателем, который предназначен только для проверки достоверности. Увеличение температуры, достигаемое нагревателем, зависит от различных параметров и лежит в диапазоне нескольких градусов по Цельсию. Его можно включать и выключать по команде. После сброса подогреватель отключается (состояние по умолчанию).

Наконец-то производитель изменил адрес датчика на шине, и теперь его можно комбинировать с другими датчиками, например BMP280. Этим немедленно воспользовались китайские производители, на Aliexpress без труда можно найти платы с несколькими сенсорами одновременно. Если рассматривать платы только с этим датчиком “в одиночестве”, то можно найти как минимум три варианта: SHT31-DIS без возможности изменения адреса (ярко-красная), SHT31 с выводами ADDR (изменение адреса) и ALARM (сигнал появляется при выходе за настроенные диапазоны) (фиолетовая), и еще попадается синяя от RTrobot.

Разновидности плат с SHT31

Фиолетовая плата функционально похожа HDC2080. SHT31 может работать независимо, без Arduino или другого микроконтроллера. В таком варианте он действует как своего рода автоматический термометр и гигрометр и может управлять другим устройством, например вентилятором или нагревателем, либо “будить” микроконтроллер по прерыванию. Но на красной SHT31-DIS таких выводов просто нет.


SHT35

SHT35SHT35 – это самая точная и самая дорогая модель в серии датчиков SHT3x от Sensirion. Серия датчиков влажности SHT3x состоит из недорогой версии с датчиком SHT30, стандартной версии с датчиком SHT31 и высокопроизводительной версии с датчиком SHT35. В отличии от SHT2x, новая линейка сенсоров имеет более широкий диапазон питающих напряжений – от 2.15 до 5.5 В, поэтому не нуждается в дополнительном стабилизаторе для подключения к различным платам. Кроме этого, SHT3x предлагает ряд новых функций, таких как улучшенная обработка сигналов; два различных адреса I2C, выбираемых пользователем; режим оповещения с программируемыми пределами влажности и температуры; а также скорость передачи данных до 1 МГц.

Производитель:Sensirion
Интерфейс: I2C, адрес на шине: 0x44 или 0x45.
Напряжение питания: от +2.15 до +5.5 В
Потребляемый ток: от ~0.2 µA в режиме ожидания до 600~1500 µA в режиме измерения
Диапазон измерения температуры: от -40 до +125 °C
Шаг измерения температуры (разрешение): 0.01°C
Погрешность измерения температуры (точность): ±0.1°C (max ±0.4°C)
Диапазон измерения влажности: от 0 до 100 %RH
Шаг измерения влажности (разрешение): 0.01 %RH
Погрешность измерения влажности (точность): ±1.5 %RH (max ±2.0 %RH)
Возможность измерения давления: отсутствует
Особенности: встроенный нагреватель 33mW
Библиотека для Arduino: SHT3x, ClosedCube SHT3xD
Источники информации: Homepage EN, Datasheet EN, Небольшой обзор

Этот датчик в отличии от SHT30 и SHT31 имеет ещё более высокие показатели точности измерений. Я так понимаю, что на производстве выпускается один и тот же датчик, а разделение на SHT30 / SHT31 / SHT35 происходит на этапе калибровки – самые точные датчики маркируют как SHT35, явные середнячки попадают в группу SHT31, ну а “третий сорт не брак” – SHT30.

Погрешности измерения SHT35

Датчик показывает наилучшие характеристики при эксплуатации в рекомендованном диапазоне нормальной температуры и влажности от 0 до 80 °C и от 20 %RH до 60 %RH соответственно. Долгосрочное воздействие высоких значениях влажности, может временно увеличивать погрешность измерения относительной влажности на +3% (например при воздействии относительной влажности >80% более 60 часов). После возвращения в нормальное состояние диапазон температуры и влажности, датчик сам медленно вернется в состояние калибровки. Длительное воздействие экстремальные условия могут ускорить старение.

Типичный допуск относительной влажности SHT35

SHT35 оснащен внутренним нагревателем, который предназначен только для проверки достоверности. Увеличение температуры, достигаемое нагревателем, зависит от различных параметров и лежит в диапазоне нескольких градусов по Цельсию. Его можно включать и выключать по команде. После сброса подогреватель отключается (состояние по умолчанию).

Наконец-то производитель изменил адрес датчика на шине, и теперь его можно комбинировать с другими датчиками, например BMP280. Этим немедленно воспользовались китайские производители, на Aliexpress без труда можно найти платы с несколькими сенсорами одновременно. Если рассматривать платы только с этим датчиком “в одиночестве”, то можно найти как минимум три варианта: SHT35-DIS без возможности изменения адреса (темно-фиолетовая или ярко-зеленая), SHT31 с выводами ADDR (изменение адреса) и ALARM (сигнал появляется при выходе за настроенные диапазоны) (фиолетовая), и еще попадается синяя от RTrobot.

Разновидности плат с SHT35

Фиолетовая плата функционально похожа HDC2080. SHT35 может работать независимо, без Arduino или другого микроконтроллера. В таком варианте он действует как своего рода автоматический термометр и гигрометр и может управлять другим устройством, например вентилятором или нагревателем, либо “будить” микроконтроллер по прерыванию. Но на зеленой SHT35-DIS таких выводов просто нет.


Продолжение следует…

Систематизация информации занимает очень много времени, поэтому статья будет дополняться новыми датчиками постепенно. Рекомендую заглянуть сюда вновь.

Если Вы заметили в таблице или описании какую либо-неточность, либо хотите дополнить информацию – напишите мне на почту или в комментариях. Думаю, это будет полезно всем.


Использованные источники

1 комментарий для “Датчики температуры и влажности для Arduino”

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

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