Меню

Ардуино подключение датчика пульса

Пульсометр KY-039. Датчики. Ардуино

Привет! Сегодня сделаем обзор на датчик сердцебиения или пульсометр KY-039. Соберем простую схему для отображения пульса на графике плоттера.

В прошлый раз мы рассматривали еще один интересный датчик, датчик наклона KY-027. И собрали с ним интересную схему. Посмотрите тот пост, если пропустили или уже забыли.

А сегодня попробуем собрать простую схему для отображения пульса и немного поэкспериментируем с датчиком сердцебиения или пульсометром.

Для выполнения этого урока нам понадобятся

Пульсометр KY-039

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

Для более точных показаний датчика, следует закрыть фототранзистор от солнечного или искусственного света.

Принципиальная схема

Датчик KY-039 работает от 5 вольт. которые подаются на центральный контакт. Данные с выхода S нужно считать на аналоговом пине Ардуино. А оставшийся контакт соединим с землей.

Принципиальная схема подключения Пульсометра

Простейший скетч позволит нам снять показания с аналогового пина Ардуино. И проверить работоспособность датчика.

Просто выведем на плоттер показания пина A0.

Откроем кно плоттера, чтобы увидеть примерно такую картину.

Вывод данных с датчика сердцебиения KY-039

Измерения происходят слишком быстро. И обработать их пока что трудно. Но мы можем изменить программу для более точной обработки данных.

Попробуем сделать более плавное отображение данных. Возьмем среднее значение от нескольких измерений и выведем уже его.

Заполним этими данными массив.

Удаляем старые данные из массива и заменяем их новыми.

С усредняющей программой мы можем увидеть настоящий сердечный ритм.

Сердечный ритм от пульсометра KY-039 Измеряем сердцебиение датчиком KY-039

Полный текст программы

Заключение

Мы рассмотрели пульсометр KY-039 и его подключение к Ардуино. Использовали простую программу для просмотра данных с датчика. Написали скетч для более удобного считывания данных с датчика. И посмотрели на плоттере Ардуино сердечный ритм.

Источник

Датчик сердцебиения KY-039 Ардуино

Датчик Arduino KY-039 служит для измерения пульса (сердцебиения) на пальце. Данный сенсор реагирует на изменение прозрачности пальца для инфракрасного излучения от светодиода при колебаниях кровяного давления. Рассмотрим, как правильно подключить KY-039 к Arduino Uno и вывести показания на монитор порта. Но сразу предупредим, что не стоит ожидать от сенсора большого качества показаний.

Характеристики датчика сердцебиения KY-039

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

Для стабильности показаний датчика, фототранзистор следует закрывать от попадания солнечного или искусственного света, чтобы исключить дополнительные помехи. На среднюю ножку модуля KY-039 подается питание +5V, на «–» подключается земля (GND). S – это аналоговый выход, который подключается к пину A1. Данные с модуля передаются на компьютер через аппаратный монитор порта Arduino IDE.

Читайте также:  Дэл 150 руководство по настройке датчика гидроключа

Как подключить датчик KY-039 к Ардуино

Для этого занятия нам потребуется:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • KY-039 датчик для измерения пульса в пальце;
  • макетная плата;
  • светодиод и резистор 220 Ом;
  • провода «папа-папа», «папа-мама».

Как подключить датчик сердцебиения KY-039 к Ардуино

KY-039 Arduino Uno Arduino Nano Arduino Mega
GND GND GND
+ 5V 5V 5V
S A1 A1 A1

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

Счетч для датчика сердцебиения KY-039

Пояснения к коду:

  1. код имеет много лишних строчек и глобальных переменных Ардуино.

Схема подключения датчика KY-039 к плате Ардуино Уно

Следующий код выводит на монитор порта пульс (количество ударов сердца в минуту). Данные намного достовернее, чем в предыдущем примере, кроме того мы добавили светодиод в схему. Напоминаем, что на датчик влияет внешнее излучение (солнечный свет, лампа и т.д.), а данные выводятся на монитор порта Arduino IDE с небольшой задержкой. Подключите датчик и загрузите следующий скетч в Ардуино.

Счетч измерения пульса датчиком KY-039

Заключение. Датчик для измерения пульса в пальце ky-039 Arduino можно использовать в проектах. Мы рассмотрели, как подключить к микроконтроллеру Ардуино модуль и получить вполне достоверные данные о пульсе человека. Если у вас остались вопросы по рассматриваемой теме или есть предложения по улучшению программы для Arduino и KY039 — оставляйте их в комментариях к этой записи.

Источник

Урок 27. Пульсометр

В этом уроке мы научимся получать данные с датчика пульса и выводить их на TFT дисплей в виде графика и среднего значения пульсаций в минуту.

Нам понадобится:

Для реализации проекта нам необходимо установить библиотеки:

  • Библиотека iarduino_SensorPulse для работы с датчиком пульса.
  • Библиотека UTFT для работы с цветными TFT дисплеями
    (в данную библиотеку нами добавлена поддержка текущего дисплея)

О том как устанавливать библиотеки, Вы можете ознакомиться на странице Wiki — Установка библиотек в Arduino IDE .

Видео:

Принцип действия датчика пульса:

Pulse Sensor — это аналоговый датчик позволяющий фиксировать пульс.

На датчике установлены светодиод и фотоприемник, расположенные так, что луч света излучаемый светодиодом, попадает на фотоприёмник только отразившись от препятствия, которым должна выступать подушечка пальца или мочка уха.

Сосуды, наполняясь кровью, меняют свою оптическую плотность, что влияет на изменение количества отражённого света. Следовательно, при постоянном уровне светового потока, излучаемого светодиодом, интенсивность света регистрируемая фотоприемником, будет зависеть от наполняемости сосудов кровью.

Электрическая схема датчика устроена так, чтобы регистрировать только динамическое изменение интенсивности принимаемого светового потока. При неизменном световом потоке (независимо от его интенсивности), напряжение на выходе датчика находится в районе половины напряжения питания. При изменении интенсивности светового потока, напряжение на выходе датчика отклоняется от среднего значения, в сторону уменьшения или увеличения, пропорционально изменению светового потока. Таким образом датчик не нуждается в подстройке под каждого человека.

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

TFT дисплей реализован в виде shield и использует следующие выводы arduino Uno: A0-A4 (управление), 2-9 (данные), 10-13 (SD-карта), питание. Датчик пульса подключается к аналоговому входу A5. Trema зуммер подключается к цифровому выводу 1.

Так как цифровой вывод 1 является линией TX шины UART, то при загрузке скетча будет слышен звук.

Код программы:

Алгоритм работы:

В начале кода:

  • подключаются библиотеки: iarduino_SensorPulse и UTFT;
  • подключаются шрифты: SmallFont и BigFont для вывода текста на TFT дисплей;
  • создаются константы: colorBG, colorGR, colorCD, colorER, которым присваиваются цвета в формате RGB565;
  • создаются переменные, для вывода графика: graphY0, graphY, graphX, screenW и screenH;
  • создаются объекты библиотек: myGLCD — для работы с дисплеем и Pulse — для работы с датчиком пульса.

В функции setup:

  • инициируем дисплей и датчик пульса;
  • стираем всю информацию с дисплея;
  • сохраняем ширину и высоту дисплея в переменные screenW и screenH, вычитая по единице из каждого параметра, так как координаты для графических функций начинаются с 0, а не с 1.

В функции loop:

  • определяем координаты конечной точки графика: graphX, graphY;
  • если сенсор подключен, то выводим график и показания пульса;
  • если сенсор отключен, то выводим сообщение «DISCONNECTED»;
  • если сенсор изменил своё состояние (с подключен на отключен или наоборот), то стираем всю информацию с дисплея;
  • в конце кода устанавливается задержка на 5 мс., чем больше значение задержки, тем больше пульсаций уместится на графике.

Получение данных:

Данные датчика пульса возвращает функция check() библиотеки iarduino_SensorPulse, которая принимает в качестве аргумента 1 из 4 параметров: ISP_ANALOG, ISP_PULSE , ISP_BEEP , ISP_VALID .

  • Pulse.check(ISP_ANALOG); — возвращает число от 0 до 1024 — данные с аналогового входа, к которому подключён датчик;
  • Pulse.check(ISP_PULSE); — возвращает число от 0 до 999 — пульс (количество пульсаций в минуту);
  • Pulse.check(ISP_BEEP); — возвращает число от 0 до 2621 — количество десятых долей секунды, прошедшее после последнего пика пульса;
  • Pulse.check(ISP_VALID); — возвращает состояние датчика — ISP_CONNECTED, ISP_DISCONNECTED, ISP_CHANGED:
    • ISP_CONNECTED — подключён (данные похожи на пульс);
    • ISP_DISCONNECTED — отключён (данные не соответствуют пульсу);
    • ISP_CHANGED — состояние сенсора изменилось (с подключён на отключён или наоборот).

Вывод данных:

С функциями библиотеки UTFT, для вывода данных на TFT дисплей, можно ознакомиться в разделе wiki — Работа с цветным графическим дисплеем .

Источник

Ардуино: датчик пульса

В этом уроке мы разберём, как подключить датчик пульса к Arduino и измерять сердечный ритм. Для работы воспользуемся оптическим датчиком Pulse Sensor.

Принцип работы датчика пульса

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

Фотоплетизмограмма — метод регистрации кровяного потока с использованием источника инфракрасного или светового излучения и фоторезистора или фототранзистора.

Фоторезистор меняет сопротивление в зависимости от количества поглощённого света. Чем больше кровяной поток, тем меньше света поглощается в тканях организма, следовательно, больше света приходит на фоторезистор.

Фотоплетизмограмма позволяет измерять объёмный пульс крови, вызванный периодическим изменением кровяного объёма при каждом ударе сердца, частоту сердцебиения, вариабельность сердечного ритма.

Принцип действия фотоплетизмограммы:

Сигнал сердечного пульса, который выходит из фотоплетизмографа имеет форму волны.

ЭКГ — сверху, ФПГ — снизу

Импульсный датчик Pulse Sensor реагирует на относительные изменения интенсивности света. Если количество света, падающего на датчик, остается постоянным, значение сигнала останется на (или близко к) 512 (средняя точка 10-разрядного диапазона АЦП Arduino). Больше света и сигнал поднимается. Меньше света — падает.

Подключение датчика к Ардуино

Для соединения с микроконтроллером у Pulse Sensor имеется три вывода. Подключаем их к Ардуино по следующей схеме:

Pulse Sensor GND VCC OUT
Arduino Uno GND +5V A0

Принципиальная схема:

Внешний вид макета:

Для того, чтобы наша Ардуино подружилась с датчиком пульса, нужно установить PulseSensor Playground Library.

Заходим в меню Эскиз > Include Library > Manage Library, вбиваем в поиске PulseSensor и устанавливаем последнюю версию среди найденных результатов.

После того, как библиотека успешно установилась, выбираем в меню Файл > Образцы > PulseSensor Playground > GettingStartedProject.

Компилируем проект и прошиваем в Ардуино.

В результате мы должны увидеть мигающий диод в такт нашему пульсу, когда подносим руку или палец к датчику пульса.

Аппарат для наблюдения сердечного ритма

Теперь немного усложним нашу схему и сделаем аналог прибора, который используют в больницах, чтобы отслеживать пульс пациента. Для этого добавим зуммер и светодиод, о которых рассказывалось в предыдущих уроках (Ардуино: динамик и Ардуино: управление светодиодом). Принцип действия нашего устройства будет следующим: при подключении датчика пульса должны срабатывать световой и звуковой сигналы в такт сердцебиению, при отсутствии пульса звучит непрерывный сигнал с зуммера.

Примерный вид модели прибора:

График пульса, полученный по показаниям с нашего прибора:

Следует отметить, что значение для данных сенсора (переменная Threshold) равно 550 в нашем примере, но оно может изменяться при использовании прибора разными людьми.

Источник

Adblock
detector