Содержание
Обзор датчика пульса Arduino
Пульс — это ритмичные колебания стенок кровеносных сосудов, происходящие во время сокращений сердца. Измерения пульса очень важны для диагностики сердечно-сосудистых заболеваний. Важно следить за изменениями сердечного ритма, чтобы не допустить перегрузки организма, особенно во время занятий спортом. Один из понятных параметров пульса – частота пульса. Измеряется в количестве ударов в минуту.
Рассмотрим доступный датчик для измерения сердечного ритма – Pulse Sensor (рисунок 1).
Рисунок 1. Датчик пульса
Это аналоговый датчик, основанный на методе фотоплетизмографии — изменении оптической плотности объема крови в области, на которой проводится измерение (например, палец руки или мочка уха), вследствие изменения кровотока по сосудам в зависимости от фазы сердечного цикла. Датчик содержит источник светового излучения (светодиод зеленого цвета) и фотоприемник (рис. 2), напряжение на котором изменяется в зависимости от объема крови во время сердечных пульсаций. Это график (фотоплетизмограмма или ППГ-диаграмма) имеет форму, представленную на рис. 3.
Рисунок 2.
Рисунок 3. Фотоплетизмограмма
Датчик пульса усиливает аналоговый сигнал и нормализует относительно точки среднего значения напряжения питания датчика ( V/2 ). Датчик пульса реагирует на относительные изменения интенсивности света. Если количество света, падающего на датчик остается постоянным, величина сигнала будет оставаться вблизи середины диапазона АЦП. Если регистрируется большая интенсивность изучения, то кривая сигнала идет вверх, если меньше интенсивность, то, наоборот, кривая идет вниз.
Рисунок 4. Регистрация удара пульса
Наш датчик пульса мы будем использовать для измерения частоты пульса, фиксируя промежуток между точками графика, когда сигнал имеет значение 50% от амплитуды волны во время начала импульса.Технические характеристики датчика
- Напряжение питания - 5 В;
- Ток потребления - 4 мА;
Подключение к Arduino
Датчик имеет три вывода:- VCC — 5 В;
- GND — земля;
- S — аналоговый выход.
Рисунок 5. Подключение датчика пульса к плате Arduino
Пример использования
Рассмотрим пример определения значения частоты импульса и визуализации данных сердечного цикла. Нам понадобятся следующие детали:- плата Arduino Uno
- датчик пульса
Листинг 1
// подключение библиотеки #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 (рис. 6).Рисунок 6. Вывод данных аналогового значения и частоты пульса в монитор последовательного порта.
Для получения графика фотоплетизмограммы на экране компьютера будем использовать хорошо знакомую Ардуинщикам среду программирования Processing, похожую на Arduino IDE. Загрузим на плату Arduino скетч (PulseSensorAmped_Arduino_1dot1.zip), а на компьютере из Processing загрузим скетч (PulseSensorAmpd_Processing_1dot1.zip). Передаваемые с платы Arduino в последовательный порт данные, мы будем получать в Processing и строить график (рис. 7).Рисунок 7. Визуализация данных в Processing.
Еще один вариант визуализации (для компьютеров Mac) – программа Pulse Sensor. Она также получает данные, приходящие в последовательный порт от Arduino (скачать скетч PulseSensorAmped_Arduino_1dot1.zip) и выводит график, уровень сигнала и значение пульса (рис. 8).Рисунок 8. Визуализация данных с датчика пульса в программе Pulse Sensor.
Часто задаваемые вопросы FAQ
1. Не горит зеленый светодиод датчика пульса- Проверьте правильность подключения датчика пульса.
- Для создания постоянного (неменяющегося) внешнего фона освещения оберните датчик с одной стороны черной лентой.
- Прикладывать датчик пульса следует правильно – между центром подушечки и изгибом пальца.