Цифровой датчик температуры KY-028

Полное руководство по модулю KY-028: характеристики, распиновка, схемы подключения, документация и примеры кода для ESP32, Arduino и MicroPython.

Окружающая среда Аналоговый Цифровой

Где купить

Приобретите Цифровой датчик температуры KY-028

Обзор

KY-028 — это модуль цифрового датчика температуры, оснащенный NTC-термистором. Модуль предоставляет как аналоговый, так и цифровой выходы.

KY-028 оснащен NTC-термистором и компаратором LM393. Он позволяет измерять температуру в аналоговом виде или получать цифровой сигнал при превышении заданного порога, который настраивается с помощью встроенного потенциометра.

Цифровой датчик температуры KY-028
<div class="rounded-2xl border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900 p-6 text-sm">
  <h3 class="text-sm font-semibold text-slate-900 dark:text-white uppercase tracking-wider mb-4">Примеры кода</h3>
  <div class="space-y-2">
    <a href="#arduino" class="flex items-center gap-3 p-2 rounded-xl hover:bg-slate-50 dark:hover:bg-slate-800/50 transition-colors !no-underline group">
      <img src="/img/UacrygeoB1-40.png" alt="Arduino" class="w-8 h-8 rounded-lg !my-0" />
      <div>
        <span class="block font-medium text-slate-900 dark:text-white group-hover:text-indigo-600 dark:group-hover:text-indigo-400 transition-colors">Arduino</span>
        <span class="text-xs text-slate-500 dark:text-slate-400 italic">C++ Framework</span>
      </div>
    </a>
    <a href="#micropython" class="flex items-center gap-3 p-2 rounded-xl hover:bg-slate-50 dark:hover:bg-slate-800/50 transition-colors !no-underline group">
      <img src="/img/U_FT8ja_jJ-40.png" alt="MicroPython" class="w-8 h-8 rounded-lg !my-0" />
      <div>
        <span class="block font-medium text-slate-900 dark:text-white group-hover:text-indigo-600 dark:group-hover:text-indigo-400 transition-colors">MicroPython</span>
        <span class="text-xs text-slate-500 dark:text-slate-400 italic">Python Framework</span>
      </div>
    </a>
    <a href="#esphome" class="flex items-center gap-3 p-2 rounded-xl hover:bg-slate-50 dark:hover:bg-slate-800/50 transition-colors !no-underline group">
      <img src="/img/CvS9ia05Te-40.png" alt="ESPHome" class="w-8 h-8 rounded-lg !my-0" />
      <div>
        <span class="block font-medium text-slate-900 dark:text-white group-hover:text-indigo-600 dark:group-hover:text-indigo-400 transition-colors">ESPHome</span>
        <span class="text-xs text-slate-500 dark:text-slate-400 italic">YAML Config</span>
      </div>
    </a>
  </div>
</div>

Где купить

KY-028
Ориентировочная цена
~ $2.00
Цены могут меняться в зависимости от продавца и региона.
Спецификации

Характеристики KY-028

Ниже приведены основные технические параметры цифрового датчика температуры KY-028.

Интерфейс
Аналог + Дискрет
Напряжение
3.3В — 5.5В
Диапазон
-55°C — +125°C
Точность
±0.5°C
Скачать DataSheet (PDF) Конфигурация

Распиновка KY-028

Датчик имеет 4 вывода для подключения питания и снятия данных.

Распиновка KY-028
Питание Данные
4
Всего выводов
GND, VCC, AO, DO. Это стандартная 4-пиновая конфигурация.
Совет: Аналоговый выход (AO) выдает напряжение, пропорциональное температуре, а цифровой (DO) переходит в HIGH при достижении порога.
Таблица выводов
Pin Название Тип Описание
1 GND Питание Земля (0В)
2 +V Питание Питание 3.3В / 5В
3 A0 Аналоговый Напряжение, пропорциональное температуре
4 D0 Цифровой Высокий уровень при срабатывании порога
Схема подключения

Подключение KY-028 к ESP32

Для использования KY-028 с ESP32 можно подключить либо аналоговый выход для точных измерений, либо цифровой для пороговых уведомлений.

Схема подключения KY-028 к ESP32
Статус подключения
Готов к работе

Схема протестирована и подтверждена.

<div class="p-6 rounded-2xl border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900">
  <div class="text-sm text-slate-500 dark:text-slate-400 uppercase font-bold tracking-tight mb-3">Протокол передачи</div>
  <div class="flex flex-wrap gap-2">
    <span class="px-3 py-1 rounded-full bg-slate-100 dark:bg-slate-800 text-slate-700 dark:text-slate-300 text-xs font-bold uppercase tracking-wider border border-slate-200 dark:border-slate-700">Аналоговый</span>
    <span class="px-3 py-1 rounded-full bg-slate-100 dark:bg-slate-800 text-slate-700 dark:text-slate-300 text-xs font-bold uppercase tracking-wider border border-slate-200 dark:border-slate-700">Цифровой</span>
  </div>
</div>
Соединения ESP32
Вывод KY-028 Связь Вывод ESP32 Описание
GND --- GND Общий минус
+V --- 3.3V Питание 3.3В
A0 --- GPIO36 Вход АЦП
D0 --- GPIO17 Вход GPIO
Решение проблем

Устранение неполадок KY-028

Ниже перечислены распространенные проблемы с модулем KY-028 и способы их решения.

Аналоговый выход не меняется
Проверьте правильность подключения к пину A0. Убедитесь, что напряжение питания в пределах 3.3В–5В. Визуально осмотрите термистор на наличие повреждений.
Цифровой выход не срабатывает
Отрегулируйте потенциометр на плате, чтобы установить нужный порог температуры. Убедитесь, что встроенные светодиоды загораются при превышении порога.
Примеры программирования

Примеры кода KY-028

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

Arduino

Arduino Core

C++

Чтение аналогового и цифрового сигналов.

Этот пример считывает значения с обоих выходов. При превышении порога включается встроенный светодиод.
// Определяем пины
int led = 13;          // Пин встроенного светодиода
int digitalPin = 2;    // DO подключен к цифровому пину 2
int analogPin = A0;    // AO подключен к аналоговому пину A0

void setup() {
  pinMode(led, OUTPUT);
  pinMode(digitalPin, INPUT);
  Serial.begin(9600); // Инициализация монитора порта
}

void loop() {
  // Чтение цифрового сигнала
  int digitalVal = digitalRead(digitalPin);
  if (digitalVal == HIGH) { // Если порог превышен
    digitalWrite(led, HIGH);
  } else {
    digitalWrite(led, LOW);
  }

  // Чтение аналогового сигнала
  int analogVal = analogRead(analogPin);
  Serial.print("Analog: ");
  Serial.print(analogVal);
  Serial.print(" | Digital: ");
  Serial.println(digitalVal);
  
  delay(100);
}
</div>
MicroPython

MicroPython

Python

Использование ADC и GPIO на ESP32.

import machine
import time

# Настройка аналогового входа (GPIO36)
adc = machine.ADC(machine.Pin(36))
adc.atten(machine.ADC.ATTN_11DB) # Для диапазона до 3.3В

# Настройка цифрового входа и светодиода
digital_pin = machine.Pin(17, machine.Pin.IN)
led = machine.Pin(16, machine.Pin.OUT)

while True:
    analog_val = adc.read()
    digital_val = digital_pin.value()
    
    if digital_val:
        led.on()
        print("Порог превышен! Аналог:", analog_val)
    else:
        led.off()
        print("Норма. Аналог:", analog_val)
        
    time.sleep(1)
</div>
ESPHome

ESPHome

YAML

Конфигурация для Home Assistant.

sensor:
  - platform: adc
    pin: GPIO36
    name: "KY-028 Analog Temperature"
    update_interval: 1s

binary_sensor:
  - platform: gpio
    pin: GPIO17
    name: "KY-028 Temperature Threshold"
</div>

Итоги и рекомендации

Как использовать

Используйте AO для мониторинга динамики температуры и DO для систем аварийного охлаждения или оповещения о перегреве.

Безопасность

Не превышайте напряжение питания 5.5В и избегайте прямого контакта датчика с водой без дополнительной герметизации.

Готовы собрать проект?

Используйте примеры кода выше, чтобы быстро интегрировать KY-028 в ваше устройство на базе ESP32 или Arduino.

Похожие датчики

Посмотрите другие датчики из серии KY или аналогичные термометры.