Датчик пульса KY-039

Узнайте всё о датчике пульса KY-039: характеристики, распиновка, схемы подключения, документация и примеры кода для ESP32, Arduino, Raspberry Pi

KY-0xx модуль Аналоговый

Обзор

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

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

Датчик пульса KY-039
Быстрая навигация
Основные разделы

О датчике пульса KY-039

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

Где купить

Приобретите Датчик пульса KY-039

Технические характеристики

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

Технические параметры модуля датчика сердцебиения KY-039:

Рабочее напряжение
3.3В – 5В
Рабочая температура
-40°C до 85°C
Габариты
19мм x 15мм
Выход
Аналоговый
Скачать полный даташит
Конфигурация пинов

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

KY-039 — это 3-контактный оптический модуль датчика сердцебиения:

Распиновка KY-039
Всего пинов
3
Интерфейс
Аналог S
Советы
  • ❤️ Нужен палец между ИК и фототранзистором.
  • 🔌 3.3В для ESP32, 5В для Arduino.
  • 📊 Аналоговый сигнал требует фильтрации в коде.
Описание пинов
Имя Тип Описание
1 VCC POWER Питание (3.3В - 5В)
2 GND GROUND Земля (0В)
3 S SIGNAL Аналоговый выход (пульсовая волна)
Подключение

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

Для сопряжения KY-039 с ESP32 для обнаружения сердцебиения:

Здесь должна быть схема подключения

На заметку
  • Рекомендуется 3.3В для работы с ESP32.
  • 🎯 Используйте АЦП пины (GPIO 32-39).
  • 🤲 Нажимайте на датчик плавно и стабильно.
Таблица соединений
KY-039 Pin ESP32 Pin Описание
VCC 3.3V Питание
GND GND Земля
S (Signal) GPIO34 Аналоговый вход
Отладка и ошибки

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

Распространенные проблемы и их решения для датчика KY-039:

❌ Сигнал не обнаружен
  • Проверьте подачу питания (3.3В или 5В).
  • Убедитесь в надежности всех соединений.
  • Фоторезистор очень чувствителен к внешнему свету — накройте датчик пальцем плотнее или используйте в полумраке.
⚠️ Нестабильные или шумные показания

Аналоговый сигнал с KY-039 требует программной фильтрации. Попробуйте усреднение по 10-20 выборкам или использование библиотек для выделения пиков пульса.

Примеры кода

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

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

Arduino
Arduino
Универсальный скетч
C++
#define SENSOR_PIN A0

void setup() {
    Serial.begin(9600);
    pinMode(SENSOR_PIN, INPUT);
    Serial.println("KY-039 Heartbeat Sensor Test");
}

void loop() {
    int sensorValue = analogRead(SENSOR_PIN);
    Serial.println(sensorValue);
    delay(10);
}

Этот код считывает аналоговое значение с датчика каждые 10 мс. Используйте «Serial Plotter» в Arduino IDE для визуализации графика пульса.

ESP-IDF
ESP-IDF
Native C++ Framework
C++
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/adc.h"

#define SENSOR_CHANNEL ADC1_CHANNEL_6 // GPIO34

void app_main(void) {
    adc1_config_width(ADC_WIDTH_BIT_12);
    adc1_config_channel_atten(SENSOR_CHANNEL, ADC_ATTEN_DB_11);
    printf("KY-039 Heartbeat Sensor Test\n");
    while (1) {
        int raw = adc1_get_raw(SENSOR_CHANNEL);
        float voltage = raw * (3.3 / 4095.0);
        printf("Analog Voltage: %.2f V\n", voltage);
        vTaskDelay(pdMS_TO_TICKS(10));
    }
}
MicroPython
MicroPython
Python for esp32
Python
import machine
import time

SENSOR_PIN = machine.ADC(machine.Pin(34))
SENSOR_PIN.atten(machine.ADC.ATTN_11DB)

while True:
    sensor_value = SENSOR_PIN.read()
    voltage = (sensor_value / 4095) * 3300  # мВ
    print("Analog Voltage:", voltage, "mV")
    time.sleep(0.01)

Итоги

KY-039 — это простой и недорогой датчик для базового мониторинга пульса. Несмотря на чувствительность к помехам, он отлично подходит для обучения и DIY-проектов.

Применение

Идеально для прототипирования фитнес-устройств и изучения работы АЦП.

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

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

Готовы начать сборку?

Интегрируйте KY-039 в свой проект сегодня!