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

SHT85: промышленная точность ±0.1°C, мембранный фильтр IP67 и I2C интерфейс. Подробные характеристики, распиновка, схемы подключения к ESP32 и Arduino, datasheet и примеры кода.

Окружающая среда I2C

Обзор

SHT85 — это венец инженерной мысли Sensirion в области измерения параметров воздуха. Этот высокоточный цифровой датчик спроектирован для самых требовательных измерений в промышленности, медицине и научных исследованиях. В отличие от бескорпусных решений, SHT85 поставляется со встроенным мембранным фильтром IP67, который защищает чувствительный элемент от пыли и капель воды, не препятствуя воздухообмену.

SHT85 построен на базе чипа SHT35, но в уникальном корпусе с штырьковыми разъемами, что облегчает его монтаж и замену в готовых устройствах. За счет отсутствия прямого теплового контакта с основной платой через стандартные SMD-площадки, датчик обеспечивает на порядок меньшую погрешность малых температурных колебаний.

Датчик SHT85

Особенности

Точность по температуре ±0.1°C
Защита IP67 от пыли и брызг
Интерфейс I2C (0x44 / 0x45)
<!-- Quick Links -->
<div class="rounded-2xl border border-slate-200 dark:border-slate-800 bg-indigo-600 p-5 text-white">
  <h3 class="text-xs font-bold uppercase tracking-widest mb-3 text-indigo-200 mt-0 italic">Индустриальный класс</h3>
  <p class="text-[11px] leading-relaxed text-indigo-50 mb-0 italic">
    Широкий диапазон питания (до 5.5В) делает его совместимым со старыми 5В системами и современными 3.3В ESP32.
  </p>
</div>
Где купить

Приобретите Датчик температуры и влажности SHT85

Спецификации

Характеристики SHT85

Высокая точность и стабильность подтверждены сертификатами калибровки Sensirion.

Погрешность T
±0.1°C
(при +20...+50°C)
Погрешность RH
±1.5%
(при 0...80% RH)
Питание
2.15-5.5В
Подходит для 3.3В и 5В
Интерфейс
I2C Std.
Скорость до 1 МГц
Характеристика Значение
Диапазон температуры -40°C ... +105°C
Диапазон влажности 0% ... 100% RH
Время отклика (t63%) 2 сек (Temp) / 8 сек (RH)
Ток потребления (измер.) ~600 мкА (тип.) / 1500 мкА (макс.)
Защитный фильтр Мембрана из ПТФЭ (IP67)

Распиновка

Пин-код SHT85

SHT85 имеет нестандартный для чипов Sensirion конструктив — это небольшая печатная плата с 4-мя металлическими штырьками.

Распиновка SHT85

Коннектор

Штырьки под пайку или разъем типа «мама». Шаг между пинами — стандартные 1.27мм (между пинами 1-2 и 3-4) и 2.54мм (между группами).

Адресация

По умолчанию адрес I2C — 0x44. Некоторые версии модуля позволяют менять его на 0x45 через конфигурационный регистр (см. PDF).

PIN ИМЯ ТВИСТ ОПИСАНИЕ
1 SCL I2C BUS Линия тактирования I2C Serial Clock
2 VDD POWER Питание модуля (от 2.15В до 5.5В)
3 VSS / GND GROUND Общий провод (земля)
4 SDA I2C BUS Линия данных I2C Serial Data

Подключение

Схема подключения к ESP32

SHT85 идеально подключается к шине I2C. Поскольку датчик требует 2.15-5.5В, его можно питать как от 3.3В, так и от 5В пина ESP32.

Типовая схема
Используйте ESP32 GPIO 21 (SDA) и GPIO 22 (SCL).
SHT85 VDD 3.3V / 5V
SHT85 GND GND
SHT85 SDA GPIO 21
SHT85 SCL GPIO 22

Резисторы Pull-up

Для надежной работы на длинных проводах (>20 см) добавьте резисторы 2.2кОм - 4.7кОм между SDA/SCL и VDD.

Проблемы и решения

Отладка SHT85

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

Ошибка: SHT sensor failed to initialize

Проверьте правильность I2C адреса. Библиотеки часто ищут 0x44, но если вы используете модули сомнительного происхождения, попробуйте просканировать шину I2C-сканером. Обязательно убедитесь в чистоте контактов разъема.

Медленное изменение показаний влажности

Это нормальное поведение из-за защитной мембраны. Она защищает от влаги, но замедляет скорость диффузии. Не пытайтесь продувать датчик феном — горячий воздух может повредить мембрану или перегреть элемент.

Программирование

Примеры кода для SHT85

Используйте специализированные библиотеки для получения данных с максимальной разрядностью.

Arduino IDE

Arduino Framework (Wire)

библиотека: SHTSensor / Sensirion

```cpp /* * SHT85 / ESP32 Code Example * Библиотека: SHTSensor by Sensirion */ #include #include "SHTSensor.h"

// Датчик автоматически определяется на шине SHTSensor sht(SHTSensor::SHT3X);

void setup() { Serial.begin(115200); Wire.begin(); // Стандартные SDA=21, SCL=22

if (sht.init()) { Serial.println(“Датчик SHT85 успешно инициализирован.”); } else { Serial.println(“ОШИБКА: SHT85 не найден!”); while (1) delay(100); } }

void loop() { if (sht.readSample()) { Serial.print(“Температура: ”); Serial.print(sht.getTemperature(), 2); Serial.print(” °C | Влажность: ”); Serial.print(sht.getHumidity(), 2); Serial.println(” %”); } else { Serial.println(“Ошибка чтения данных.”); }

delay(2000); // Опрос раз в 2 секунды }

    </div>
  </div>
</details>

<div id="esp-idf"></div>

<details class="group rounded-2xl border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900 overflow-hidden mb-4 shadow-sm">
  <summary class="flex items-center justify-between p-6 cursor-pointer list-none bg-slate-50/50 dark:bg-slate-900">
    <div class="flex items-center gap-4">
      <div class="w-10 h-10 rounded-xl bg-orange-100 dark:bg-orange-900/30 flex items-center justify-center shrink-0">
        <img src="/img/32WN7tz--V-40.png" class="w-6 h-6 !my-0" alt="ESP-IDF" />
      </div>
      <div>
        <h4 class="text-sm font-black text-slate-900 dark:text-white mb-0 italic tracking-tight uppercase leading-none tracking-tighter">ESP-IDF Native API</h4>
        <p class="text-[10px] text-slate-500 uppercase font-black leading-none mt-1.5 opacity-60 italic whitespace-nowrap overflow-hidden italic">Для профессиональной разработки</p>
      </div>
    </div>
    <div class="text-slate-400 group-open:rotate-180 transition-transform duration-500">
      <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>
    </div>
  </summary>
  <div class="px-6 pb-6 pt-0 border-t border-slate-100 dark:border-slate-800/50">
    <div class="mt-5">
      <p class="text-xs text-slate-500 mb-4 italic font-medium italic">В ESP-IDF необходимо напрямую слать команду `0x2400` (высокая точность) и ждать 15мс.</p>
```c
// Краткий фрагмент для ESP-IDF v5.0+
static esp_err_t measure_sht85() {
    uint8_t cmd[] = {0x24, 0x00}; // Command: High Repeatability
    i2c_master_write_to_device(I2C_NUM_0, 0x44, cmd, sizeof(cmd), pdMS_TO_TICKS(100));
    vTaskDelay(pdMS_TO_TICKS(16)); // Ждем конвертации
    
    uint8_t data[6]; // Read Data
    i2c_master_read_from_device(I2C_NUM_0, 0x44, data, 6, pdMS_TO_TICKS(100));
    
    // Формула перевода
    uint16_t t_raw = (data[0] << 8) | data[1];
    float t_deg_c = -45 + 175 * ((float)t_raw / 65535);
    return ESP_OK;
}
</div>

Итоги

SHT85 — это датчик для тех, кто не ищет компромиссов. Если вам нужно точное измерение климата в серверной, лаборатории или дорогой оранжерее, этот модуль полностью оправдает свою цену за счет многолетней стабильности и защиты IP67.

Когда выбирать SHT85?
  • ⚠️ Требуется точность выше ±0.5°C
  • ⚠️ Высокая влажность и запыленность (IP67)
  • ⚠️ Необходима долговременная стабильность (Sensirion)
Минусы

Прежде всего — цена. Датчик в 10-15 раз дороже популярного SHTC3 или AHT10. Также корпус SHT85 требует пайки или спец-разъема.

Нужен датчик попроще?

Если такая точность не критична, обратите внимание на бюджетные модели в списке ниже.

Похожие варианты