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

SHTC3: сверхмалое энергопотребление, высокая точность и компактность. Подробные характеристики, распиновка, схемы подключения к ESP32, datasheet и примеры кода для Arduino, ESP-IDF, ESPHome.

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

Обзор

SHTC3 от Sensirion — это один из самых энергоэффективных цифровых датчиков температуры и влажности на рынке. Разработанный специально для носимой электроники и систем интернета вещей (IoT) с батарейным питанием, он сочетает в себе компактный форм-фактор DFN и запатентованную технологию CMOSens®, обеспечивающую исключительную долговременную стабильность и точность измерений.

SHTC3 — это эволюция популярного чипа SHTC1. Главная особенность модуля — сверхнизкое напряжение питания (от 1.62В), что позволяет использовать его с Li-Po аккумуляторами напрямую без лишних стабилизаторов. Датчик полностью откалиброван на заводе и готов к работе «из коробки» по протоколу I2C.

Датчик SHTC3
<!-- Platform micro-cards -->
<div class="rounded-2xl border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900 p-5">
  <h3 class="text-sm font-semibold text-slate-900 dark:text-white mb-4 mt-0 uppercase tracking-wider">Готовые библиотеки</h3>
  <div class="space-y-2">
    <a href="#arduino" class="flex items-center gap-3 p-2 rounded-lg hover:bg-slate-50 dark:hover:bg-slate-800 transition-colors group !no-underline">
      <div class="w-8 h-8 rounded-md bg-teal-100 dark:bg-teal-900/30 flex items-center justify-center shrink-0">
        <img src="/img/UacrygeoB1-40.png" class="w-5 h-5 !my-0" alt="Arduino" />
      </div>
      <div>
        <div class="text-xs font-bold text-slate-900 dark:text-white">Arduino</div>
        <div class="text-[10px] text-slate-500 uppercase">Adafruit SHTC3</div>
      </div>
    </a>
    <a href="#esp-idf" class="flex items-center gap-3 p-2 rounded-lg hover:bg-slate-50 dark:hover:bg-slate-800 transition-colors group !no-underline">
      <div class="w-8 h-8 rounded-md bg-red-100 dark:bg-red-900/30 flex items-center justify-center shrink-0">
        <img src="/img/32WN7tz--V-40.png" class="w-5 h-5 !my-0" alt="ESP-IDF" />
      </div>
      <div>
        <div class="text-xs font-bold text-slate-900 dark:text-white">ESP-IDF</div>
        <div class="text-[10px] text-slate-500 uppercase">Sensirion Native</div>
      </div>
    </a>
  </div>
</div>
Где купить

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

Технические данные

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

SHTC3 обеспечивает профессиональную точность при исключительно малых затратах энергии.

Диапазон точности
±2% RH (влажность) / ±0.2°C (темп)
Энергопотребление
Сон: < 0.3 мкА | Измерение: 430 мкА
Широкий диапазон
-40 ... +125°C | 0 ... 100% RH
I2C Адрес
Статический зарезервированный 0x70
Параметр Рабочее значение
Напряжение (VDD) 1.62В – 3.6В (стандарт 3.3В)
Точность ( RH) ±2.0 %RH (при 20..80 %RH)
Точность ( Temp) ±0.2 °C (при 0..60 °C)
Время измерения ~12.1 мс (макс. точность)
Устойчивость К конденсации влаги (после осушки)

Распиновка модуля

Схема выводов SHTC3

Модуль SHTC3 подключается по 4-проводной схеме I2C. Благодаря сверхмалому размеру чипа (2x2мм), на готовых платах обычно выведены удобные пины с шагом 2.54мм.

Распиновка SHTC3

Интерфейс I2C

Линии SDA и SCL требуют внешних подтягивающих (pull-up) резисторов (обычно 4.7кОм - 10кОм), если они не установлены на модуле.

<div class="p-5 rounded-2xl border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900 shadow-sm relative overflow-hidden">
  <div class="absolute top-0 right-0 w-16 h-16 bg-emerald-500/5 rounded-full -mr-8 -mt-8"></div>
  <h4 class="text-sm font-bold text-slate-900 dark:text-white uppercase mb-3 flex items-center gap-2 italic">
    <span class="w-1.5 h-6 bg-emerald-500 rounded-full"></span> Питание 3.3В
  </h4>
  <p class="text-slate-600 dark:text-slate-400 text-sm leading-relaxed mb-0 font-medium">
    Модуль безопасно работает от 3.3В, что делает его напрямую совместимым с ESP32 без делителей напряжения.
  </p>
</div>
Pin Имя Тип Функция
1 VDD Power Питание модуля (1.62 - 3.6В)
2 GND Ground Общий минус/земля
3 SDA I2C Data Линия последовательных данных
4 SCL I2C Clock Линия последовательного тактирования

Подключение

Подключение SHTC3 к ESP32

Схема соединения SHTC3 с микроконтроллером ESP32 предельно проста благодаря использованию стандартной шины I2C.

Схема подключения SHTC3 к ESP32
Интерфейс
I2C Std.
Напряжение
3.3V
Совет по питанию

Для батарейных проектов (Deep Sleep) питание датчика можно подавать через свободный GPIO пин ESP32, чтобы полностью обесточивать его между измерениями.

Pin SHTC3 Arduino / ESP32 Описание
VDD 3.3V Напряжение 3.3 вольта
GND GND Общая земля
SDA GPIO 21 Шина данных I2C
SCL GPIO 22 Шина тактирования I2C

Отладка и ошибки

Решение проблем с SHTC3

Наиболее частые затыки при работе с датчиками Sensirion.

Ошибка: Communication with SHTCx failed!

Эта ошибка в ESPHome часто означает, что датчик «завис» после рестарта контроллера. В SHTC3 нет аппаратного пина Reset. Решение: сбросьте питание чипа или убедитесь, что в коде перед инициализацией идет команда программного сброса (Soft Reset).

Завышенные показания температуры

SHTC3 очень чувствителен к нагреву от самой платы (самонагрев). Решение: делайте прорези в текстолите вокруг датчика или размещайте его как можно дальше от греющегося ESP32. Не опрашивайте датчик чаще, чем раз в 2 секунды.

Примеры программирования

Код для работы с SHTC3

Готовые решения для быстрой интеграции в ваши проекты.

Arduino IDE

Arduino (Adafruit Library)

C++ / Framework

Самый простой способ — использовать библиотеку от Adafruit, которая берет на себя все математические расчеты из Datasheet.

#include <Wire.h>
#include "Adafruit_SHTC3.h"

// Создаем объект датчика
Adafruit_SHTC3 shtc3 = Adafruit_SHTC3();

void setup() {
  Serial.begin(115200);
  while (!Serial) delay(10); // Ждем открытия порта

  Serial.println("Тест датчика SHTC3...");

  // Инициализация шины I2C и датчика
  if (!shtc3.begin()) {
    Serial.println("Датчик SHTC3 не найден!");
    while (1) delay(1);
  }
  Serial.println("SHTC3 готов к работе.");
}

void loop() {
  sensors_event_t humidity, temp;
  
  // Считываем данные
  shtc3.getEvent(&humidity, &temp);

  Serial.print("Температура: "); 
  Serial.print(temp.temperature); 
  Serial.println(" °C");

  Serial.print("Влажность: "); 
  Serial.print(humidity.relative_humidity); 
  Serial.println(" %\n");

  delay(2000); // Опрос раз в 2 секунды для избежания самонагрева
}
</div>
ESP-IDF

ESP-IDF Native

C / Driver API

```c #include "esp_log.h" #include "driver/i2c.h"

// Команда пробуждения и измерения из даташита static esp_err_t shtc3_read() { uint8_t write_buf[] = {0x7C, 0xA2}; uint8_t read_buf[6];

// Запись команды измерения
i2c_master_write_to_device(I2C_NUM_0, 0x70, write_buf, 2, 100 / portTICK_PERIOD_MS);
vTaskDelay(pdMS_TO_TICKS(15)); // Время на замер

// Чтение 6 байт (2 Temp + 1 CRC + 2 Hum + 1 CRC)
i2c_master_read_from_device(I2C_NUM_0, 0x70, read_buf, 6, 100 / portTICK_PERIOD_MS);

// Формулы из datasheet
uint16_t t_raw = (read_buf[0] << 8) | read_buf[1];
float temp = -45 + 175 * ((float)t_raw / 65535.0);
ESP_LOGI("SHTC3", "Температура: %.2f C", temp);

return ESP_OK;

}

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

<div id="summary"></div>

## Итоги использования

SHTC3 — это великолепный выбор, если ваша цель — создать миниатюрное устройство с питанием от одной «таблетки» (CR2032) или маленького Li-Po аккумулятора. Он точнее многих конкурентов (например, DHT11/22) и значительно надежнее при длительной эксплуатации.

<div class="not-prose grid grid-cols-1 md:grid-cols-2 gap-4 mb-10">
  <div class="p-6 rounded-2xl border border-slate-200 dark:border-slate-800 bg-slate-50 dark:bg-slate-800/50 shadow-inner">
    <div class="w-10 h-10 rounded-xl bg-orange-100 dark:bg-orange-900/40 text-orange-600 dark:text-orange-300 flex items-center justify-center mb-4 leading-none">
      <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="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>
    </div>
    <div class="font-bold text-slate-900 dark:text-white mb-2 italic tracking-tighter uppercase">Главный плюс</div>
    <p class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-0 font-medium">
      Минимальное рабочее напряжение 1.62В. Это позволяет датчику работать даже тогда, когда другие модули уже выключились из-за разряда батареи.
    </p>
  </div>
  
  <div class="p-6 rounded-2xl border border-slate-200 dark:border-slate-800 bg-slate-50 dark:bg-slate-800/50 shadow-inner">
    <div class="w-10 h-10 rounded-xl bg-emerald-100 dark:bg-emerald-900/40 text-emerald-600 dark:text-emerald-300 flex items-center justify-center mb-4 leading-none">
      <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="m9 18 6-6-6-6"/></svg>
    </div>
    <div class="font-bold text-slate-900 dark:text-white mb-2 italic tracking-tighter uppercase">Рекомендация</div>
    <p class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-0 font-medium">
      Всегда используйте функции программного сна (`Sleep` / `Wakeup`), чтобы снизить потребление в простое до невероятных 0.3 мкА.
    </p>
  </div>
</div>

<div class="not-prose rounded-2xl border border-slate-200 dark:border-slate-800 bg-gradient-to-br from-indigo-50/50 to-white dark:from-slate-800/50 dark:to-slate-900 p-8 flex flex-col md:flex-row items-center justify-between gap-6 mb-12 shadow-sm border-l-4 border-l-indigo-500">
  <div>
    <h3 class="text-xl font-black text-slate-900 dark:text-white mb-2 italic tracking-tight">Готовы к сборке метеостанции?</h3>
    <p class="text-slate-600 dark:text-slate-400 text-sm max-w-md mb-0 font-medium">
      SHTC3 — это золотой стандарт для малых метеостанций. Подключайте его к ESP32 и начинайте собирать данные о климате уже сегодня.
    </p>
  </div>
  <div class="flex flex-wrap gap-3 shrink-0">
    <a href="#code-examples" class="px-6 py-3 rounded-xl bg-indigo-600 hover:bg-indigo-700 text-white font-bold text-sm transition-all shadow-md shadow-indigo-200 dark:shadow-none !no-underline">Код примера</a>
    <a href="#specs" class="px-6 py-3 rounded-xl bg-white dark:bg-slate-800 border border-slate-200 dark:border-slate-700 hover:bg-slate-50 dark:hover:bg-slate-700 text-slate-700 dark:text-slate-200 font-bold text-sm transition-all !no-underline shadow-sm">Спецификации</a>
  </div>
</div>

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

<div class="not-prose grid grid-cols-1 md:grid-cols-3 gap-6">
  <a href="/sensors/sht31/" class="group flex flex-col rounded-2xl border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900 overflow-hidden hover:border-indigo-300 dark:hover:border-indigo-800 hover:shadow-xl transition-all duration-300 !no-underline shadow-sm">
    <div class="aspect-video bg-slate-50 dark:bg-slate-800/50 flex items-center justify-center p-6 border-b border-slate-100 dark:border-slate-800">
      <img src="/img/8nAHbmBKo5-200.png" alt="SHT31 / SHT30" class="w-full h-full object-contain group-hover:scale-110 transition-transform duration-500 !my-0" />
    </div>
    <div class="p-4">
      <div class="text-[10px] font-bold text-indigo-500 uppercase mb-1 tracking-widest leading-none">Precision I2C</div>
      <h4 class="text-base font-bold text-slate-900 dark:text-white mb-2 group-hover:text-indigo-600 transition-colors italic">SHT31 / SHT30</h4>
      <p class="text-xs text-slate-500 dark:text-slate-400 line-clamp-2 !my-0 font-medium leading-relaxed">Средний класс от Sensirion. Высокая точность при чуть больших габаритах.</p>
    </div>
  </a>

  <a href="/sensors/sht40/" class="group flex flex-col rounded-2xl border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900 overflow-hidden hover:border-indigo-300 dark:hover:border-indigo-800 hover:shadow-xl transition-all duration-300 !no-underline shadow-sm">
    <div class="aspect-video bg-slate-50 dark:bg-slate-800/50 flex items-center justify-center p-6 border-b border-slate-100 dark:border-slate-800">
      <img src="/img/8RNl_RgXf9-200.png" alt="SHT40 / SHT41" class="w-full h-full object-contain group-hover:scale-110 transition-transform duration-500 !my-0" />
    </div>
    <div class="p-4">
      <div class="text-[10px] font-bold text-indigo-500 uppercase mb-1 tracking-widest leading-none">Ultra Precision</div>
      <h4 class="text-base font-bold text-slate-900 dark:text-white mb-2 group-hover:text-indigo-600 transition-colors italic">SHT40 / SHT4x</h4>
      <p class="text-xs text-slate-500 dark:text-slate-400 line-clamp-2 !my-0 font-medium leading-relaxed">Флагманская линейка. Максимальная защита от перегрева и феноменальная стабильность.</p>
    </div>
  </a>
</div>