Как измерить частоту сердечных сокращений с помощью датчика сердцебиения?

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

Измерение пульса

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Как датчик сердечного ритма измеряет частоту пульса?

Поскольку мы знаем, что будем делать, давайте приступим к работе над этим проектом.

Шаг 1: Сбор компонентов

Составление списка компонентов и изучение работы этих компонентов – лучший подход перед началом любого проекта. Ниже приведены компоненты, которые будут использоваться в нашем проекте:

Шаг 2: Знание используемых компонентов

Так как у нас есть список аппаратов, которые мы собираемся использовать. Теперь давайте посмотрим, как работают эти компоненты.

Arduino Uno – это плата микроконтроллера, которая используется для управления различными цепями. Он использует код C, который дает ему инструкции для выполнения задачи. Другими заменителями этой платы микроконтроллера, доступными на рынке, являются Arduino Nano, Node MCU, ESP32 и т. Д.

SEN-11574 – это датчик частоты пульса «включай и работай», который интегрирован с Arduino. У этого есть две стороны. С одной стороны расположен светодиод, который излучает свет. Этот светодиод должен быть помещен непосредственно на вершине вены. Поскольку мы знаем, что объем крови в вене больше, когда сердце закачивается, поэтому, когда в вене больше крови, больше света будет отражаться на датчик. Это изменение в свете, полученном датчиком, анализируется с течением времени, и измеряется частота сердечных сокращений. На другой стороне датчика имеется цепь, которая отвечает за усиление и удаление шума принимаемого сигнала.

Шаг 3: Сборка компонентов

  1. Поскольку мы знаем, что кожа человеческого тела, иногда влажная или жирная. Это может привести к короткому замыканию датчика, которое дает ложные измерения. Лучше нанести слой виниловой наклейки на светодиодную сторону сенсора, чтобы предотвратить попадание влаги на кожу.
  2. После этого возьмите кусок черной векторной ленты и приклейте его на другую сторону датчика. Это предотвратит попадание света из окружающей среды на датчики.
  3. Теперь подключите Vcc и вывод заземления датчика к Arduino, а аналоговый вывод датчика – к A0 Arduino.

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

Шаг 4: Начало работы с Arduino

Если вы раньше не работали с Arduino IDE, не беспокойтесь, потому что процедура записи кода на плате микроконтроллера с использованием Arduino IDE приведена ниже.

  1. После подключения платы Arduino к ПК перейдите в Панель управления> Оборудование и звук> Устройства и принтеры, чтобы проверить имя порта, к которому подключен Arduino. Это отличается на разных компьютерах.Поиск порта
  2. Откройте Arduino IDE и установите доску как Arduino / Genuino UNO.Настольная доска
  3. Теперь установите порт, который вы наблюдали ранее в панели управления.Настройка порта
  4. Загрузите приведенный ниже код и откройте его. Запишите код на вашей плате микроконтроллера, нажав кнопку Загрузить.Загрузить

щелчок Вот скачать код.

Шаг 5: Код

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

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

2. void setup () – это функция, в которой выводы определены как INPUT или OUTPUT. Скорость передачи данных также устанавливается в этой функции. Скорость в бодах – это скорость, с которой микроконтроллер связывается с другими компонентами. ISR также вызывается в этой функции.

3. void loop () – это функция, которая работает непрерывно в цикле. Здесь определяется частота пульса, и он решает, когда погаснет светодиод, когда будет обнаружено сердцебиение.

void loop () {
serialOutput ();
if (QS == true) {// Обнаружено сердцебиение
// Определены BPM и IBI
// Квантифицированный Self “QS” true, когда arduino обнаруживает сердцебиение
fadeRate = 255; // Создает эффект затухания светодиода
// Устанавливаем переменную ‘fadeRate’ в 255, чтобы погас светодиод с импульсом
serialOutputWhenBeatHappens (); // Удар случился, Выведи это в сериал.
QS = ложь; // сбрасываем флаг Quanified Self для следующего раза
}
ledFadeToBeat (); // Создает эффект затухания светодиода
задержка (20); // сделать перерыв
}

4. void serialOutput () – это функция, которая решает, как отображать вывод на последовательном мониторе.

void serialOutput () {
Переключатель (OutputType) {
case PROCESSING_VISUALIZER:
sendDataToSerial (‘S’, Сигнал); // переходит в функцию sendDataToSerial
перемена;
case SERIAL_PLOTTER: // открыть последовательный плоттер Arduino для визуализации этих данных
Serial.print (BPM);
Serial.print ( “”);
Serial.print (IBI);
Serial.print ( “”);
Serial.println (сигнал);
перемена;
дефолт:
перемена;
}
}

5. ISR – это прерывание, которое генерируется аппаратным обеспечением и отправляется в ЦПУ для обработки. когда генерируется прерывание, процесс, который уже идет, останавливается и прерывание обрабатывается. после обработки прерывания предыдущий процесс возобновляется.

void interruptSetup () {// ПРОВЕРИТЬ ТАБЛИЦУ Timer_Interrupt_Notes ДЛЯ БОЛЬШЕ НА ПРЕРЫВАНИЯХ
#ifndef ESP32
// Инициализирует Timer2 для выдачи прерывания каждые 2 мс.
TCCR2A = 0x02; // ОТКЛЮЧЕНИЕ ШИМ НА ЦИФРОВЫХ ПИН 3 И 11, И ПЕРЕХОД В РЕЖИМ CTC
TCCR2B = 0x06; // НЕ СРАВНИТЕ СИЛУ, 256 ПРЕДКАЛЕР
OCR2A = 0X7C; // УСТАНАВЛИВАЕМ ВЕРХ СЧЕТА НА 124 ДЛЯ ОБРАЗЦОВ 500 Гц
TIMSK2 = 0x02; // ВКЛЮЧИТЬ ПРЕРЫВАНИЕ В МАТЧЕ МЕЖДУ ТАЙМЕРОМ 2 И OCR2A
SEI (); // УБЕДИТЕСЬ, ЧТО ГЛОБАЛЬНЫЕ ПРЕРЫВАНИЯ ВКЛЮЧЕНЫ
// Создать семафор, чтобы сообщить нам, когда таймер сработал
#else
timerSemaphore = xSemaphoreCreateBinary ();

// Использовать 1-й таймер из 4 (отсчитывается от нуля).
// Установка делителя 80 для прескалера (подробнее см. Техническое справочное руководство ESP32)
// Информация).
timer = timerBegin (0, 80, true);

// Присоединяем функцию onTimer к нашему таймеру.
timerAttachInterrupt (timer, & onTimer, true);

// Установка будильника для вызова функции onTimer каждую секунду (значение в микросекундах).
// Повторить сигнал тревоги (третий параметр)
timerAlarmWrite (timer, 2000, true);

// Запустить тревогу
timerAlarmEnable (таймер);
#endif
}

Приложения:

Теперь, когда мы знаем, как измерить частоту пульса с помощью датчика сердечного ритма. Теперь мы можем использовать его для создания различных проектов, например

  1. Группы здоровья.
  2. Монитор тревожности.
  3. Отслеживание сна.
  4. Удаленный мониторинг пациента / сигнализация.
  5. Усовершенствованные игровые приставки

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *