KY-039 — учебный оптический датчик пульса

Производитель партии не подтверждён · KY-039, прямоугольная плата с маркировкой Keyes и разнесёнными ИК-элементами

Улавливает пульсацию крови в пальце.

Автор: SLDV LAB

Опубликовано · Обновлено

СложностьЛегко
Проекты с компонентом

О МОДУЛЕ

Что делает KY-039, прямоугольная плата с маркировкой Keyes и разнесёнными ИК-элементами

Описан классический прямоугольный KY-039 с маркировкой Keyes, двумя разнесёнными оптическими элементами и тремя контактами S, +, −. ИК-свет проходит через палец; изменение светового потока изменяет аналоговый сигнал. Модуль позволяет изучать принцип фотоплетизмографии и обработку слабых сигналов.

Это учебный модуль, не медицинский прибор. Он не предназначен для диагностики, принятия решений о здоровье или контроля опасных состояний. Движение, прижим пальца и внешний свет сильно влияют на результат. Сырые отсчёты не являются частотой пульса или насыщением крови кислородом; численная точность здесь не заявляется.

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

Фотографический образец имеет маркировку Keyes; фактический изготовитель партии не подтверждён. Подключение выполняйте по S, + и −, проверив исполнение вашей платы.

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

Выход
Аналоговое напряжение
Плата примера
Arduino Uno R3 (ATmega328P)
Питание классического исполнения по руководству
3.3–5 В
Чувствительный узел
ИК-светодиод и фотоприёмник
Интерфейс
Аналоговый
Питание модуля
Питание документированного исполнения 3,3–5 В; в примере Uno R3 — 5 В. С ESP32 этот модуль можно питать от 3,3 В при общей земле, чтобы сигнал оставался в 3,3-вольтовом диапазоне. При питании от 5 В не подключайте S/AO/DO напрямую к GPIO или ADC ESP32: требуется соответствующее согласование уровней.

ПРАКТИКА

Подключение

Схема подключения
Контакт модуляКонтакт платыНазначение
+ / VCC5VПодключать при полностью обесточенной схеме; проверить маркировку. Arduino Uno R3.
− / GNDGNDОбщая земля модуля и Arduino Uno R3.
SA0Arduino Uno R3; ориентируйтесь по S, а не по положению контакта на другой плате.

Подходит для Arduino, ESP32. Выберите контакты по документации своей платы.

ВАШ ПРОЕКТ · ВАШ ДАТЧИК

Интегрируйте модуль с ChatGPT

Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.

Помоги интегрировать KY-039 в мой проект. Сначала уточни точную плату и её ревизию, среду разработки, задачу и фотографию/маркировку модуля. Базовый пример в карточке: Arduino Uno R3, Arduino AVR Boards 1.8.6, питание 5 В, S → A0. Подготовь согласованную распиновку, необходимые зависимости и полный минимальный пример. Не переноси номера выводов Uno на ESP32. Для 3,3-вольтовой платы проверь допустимое питание модуля и исключи подачу 5 В на GPIO/ADC; предложи безопасное согласование. Объясни ограничения измерения, диагностику постоянного уровня и способ проверки результата. Начните с просмотра сырых отсчётов в Serial Plotter. Удерживайте палец неподвижно, без сильного давления, и экранируйте внешний свет. Изменение сигнала при движении не доказывает обнаружение пульса. При насыщении АЦП или отсутствии повторяемого сигнала проверьте проводку и оптическое положение; не выдавайте случайные пики за удары сердца. Для классической прямоугольной платы используйте первично только сырой аналоговый сигнал. Не копируйте распиновку круглого проводного сенсора. Не обещайте медицинскую точность, не рассчитывайте SpO2 и не выдавайте нестабильные пики за достоверный пульс.

Библиотеки

Установите библиотеку для своей среды и откройте пример из её документации.

Что именно прописать

Плата и API
Arduino Uno R3 / Arduino AVR Boards 1.8.6

Выберите Arduino Uno в Arduino IDE; это 5-вольтовая плата ATmega328P.

Монитор порта
115200

Установите такую же скорость в Serial Monitor / Serial Plotter.

Выводы примера
S=A0

A0 в скетче означает аналоговый вход Arduino Uno R3.

Arduino Uno R3 — проверка сигнала

cpp
const byte SIGNAL_PIN = A0;

void setup() {
  Serial.begin(115200);
}

void loop() {
  const int raw = analogRead(SIGNAL_PIN);
  Serial.println(raw);
  delay(20);
}

Полный скетч для Arduino Uno R3 и API Arduino AVR Boards 1.8.6. Специальная библиотека не нужна. Физический тест с модулем не проводился. Выводятся сырые коды 10-битного АЦП Uno 0–1023, без перевода в физические единицы. Начните с просмотра сырых отсчётов в Serial Plotter. Удерживайте палец неподвижно, без сильного давления, и экранируйте внешний свет. Изменение сигнала при движении не доказывает обнаружение пульса. При насыщении АЦП или отсутствии повторяемого сигнала проверьте проводку и оптическое положение; не выдавайте случайные пики за удары сердца.

Проекты с этим компонентом

Все проекты

Связанные проекты пока не опубликованы.

Связанные материалы и компоненты