Датчик пульса

Содержание:


Обзор датчика пульса Arduino

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

Рассмотрим доступный датчик для измерения сердечного ритма – Pulse Sensor  (рисунок 1,2).

Датчик пульса Arduino

Рисунок 1. Датчик пульса

Сенсор измерения пульса Arduino

Рисунок 2. Датчик пульса

 

 

 

 

 

 

 

 

 

 

 

Это аналоговый датчик, основанный на методе фотоплетизмографии — изменении оптической плотности объема крови в области, на которой проводится измерение (например, палец руки или мочка уха), вследствие изменения кровотока по сосудам в зависимости от фазы сердечного цикла. Датчик содержит источник светового излучения (светодиод зеленого цвета) и фотоприемник (рис. 3), напряжение на котором изменяется в зависимости от объема крови во время сердечных пульсаций. Это график (фотоплетизмограмма или ППГ-диаграмма) имеет форму, представленную на рис. 4.

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

Рисунок 3.

Фотоплетизмограмма

Рисунок 4. Фотоплетизмограмма

Датчик пульса усиливает аналоговый сигнал и нормализует  относительно точки среднего значения напряжения питания датчика ( V/2 ). Датчик пульса реагирует на относительные изменения интенсивности света. Если количество света, падающего на датчик остается постоянным, величина сигнала будет оставаться вблизи середины диапазона АЦП. Если регистрируется большая интенсивность изучения, то кривая сигнала идет вверх, если меньше интенсивность, то, наоборот, кривая идет вниз.

Регистрация удара пульса

Рисунок 5. Регистрация удара пульса

Наш датчик пульса мы будем использовать для измерения частоты пульса, фиксируя промежуток между точками графика, когда сигнал имеет значение 50% от амплитуды волны во время начала импульса.


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

  • Напряжение питания — 5 В;
  • Ток потребления — 4 мА;

Подключение к Arduino

Датчик имеет три вывода:

  • VCC — 5 В;
  • GND — земля;
  • S — аналоговый выход.

Для подключения датчика пульса к плате Арудино необходимо контакт S датчика подсоединить к аналоговому входу Arduino (рисунок 6).

Подключение датчика пульса к плате Arduino

Рисунок 6. Подключение датчика пульса к плате Arduino

Рисунок 7. Схема в сборе


Пример использования

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

Нам понадобятся следующие детали:

Сначала подключим датчик пульса к плате Arduino согласно рис. 6. Загрузим на плату Arduino скетч из листинга 1. В данном скетче мы используем библиотеку iarduino_SensorPulse.

Листинг 1

//makerplus.ru
// подключение библиотеки
#include <iarduino_SensorPulse.h>
// создание экземпляра объекта
// подключение к контакту A0
iarduino_SensorPulse Pulse(A0);

void setup() {
  // запуск последовательного порта
  Serial.begin(9600);   
  // запуск датчика пульса
  Pulse.begin();   
}

void loop() {
  // если датчик подключен к пальцу
  if(Pulse.check(ISP_VALID)==ISP_CONNECTED){
    // печать аналогового сигнала
    Serial.print(Pulse.check(ISP_ANALOG));
    Serial.print("  ");
    // печать значения пульса
    Serial.print(Pulse.check(ISP_PULSE));
    Serial.println();    
  } 
  else
    Serial.println("error");
  
}

Вывод данных в монитор последовательного порта Arduino (рис. 8).

Вывод данных аналогового значения и частоты пульса в монитор последовательного порта.

Рисунок 8. Вывод данных аналогового значения и частоты пульса в монитор последовательного порта.

Для получения графика фотоплетизмограммы  на экране компьютера будем использовать хорошо знакомую Ардуинщикам среду программирования Processing, похожую на Arduino IDE. Загрузим на плату Arduino скетч (PulseSensorAmped_Arduino_1dot1.zip), а на компьютере из Processing загрузим скетч (PulseSensorAmpd_Processing_1dot1.zip). Передаваемые с платы Arduino в последовательный порт данные, мы будем получать в Processing и строить график (рис. 10).

Визуализация данных в Processing

Рисунок 9. Визуализация данных в Processing.

Еще один вариант визуализации (для компьютеров Mac) – программа Pulse Sensor. Она также получает данные, приходящие в последовательный порт от Arduino (скачать скетч PulseSensorAmped_Arduino_1dot1.zip) и выводит график, уровень сигнала и значение пульса (рис. 10).

Визуализация данных с датчика пульса в программе Pulse Sensor

Рисунок 10. Визуализация данных с датчика пульса в программе Pulse Sensor.


Часто задаваемые вопросы FAQ

   1. Не горит зеленый светодиод датчика пульса

  • Проверьте правильность подключения датчика пульса.

   2. Выводимые значения с датчика пульса «скачут»

  • Для создания постоянного (неменяющегося) внешнего фона освещения оберните датчик с одной стороны черной лентой.

Датчик пульса   3. Явно неверные показания с датчика пульса

  • Прикладывать датчик пульса следует правильно  –  между центром подушечки и изгибом пальца.