Андрей Смирнов
Время чтения: ~7 мин.
Просмотров: 19

Датчик пульса «CJMCU» для Ардуино

Содержание

  • Обзор
  • Технические характеристики модуля
  • Подключение
  • Пример использования
  • Часто задаваемые вопросы FAQ

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

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

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

datchik-izmerenija-pulsa.jpg

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

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

datchik-pulsa-princip.jpg

Рисунок 2.

Fotopletizmogramma.jpg

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

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

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

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

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

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

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

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

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

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

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

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

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

  • плата Arduino Uno
  • датчик пульса

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

//3d-diy.ru  // подключение библиотеки  #include   // создание экземпляра объекта  // подключение к контакту 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. Не горит зеленый светодиод датчика пульса

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

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

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

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

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

На основании пульса можно, в некоторой мере, определять состояние здоровья человека и, с определённой вероятностью, прогнозировать способность или неспособность его переносить те или иные нагрузки. А также, нормировать их в реальном времени. Было интересно, как работает эта штуковина. Данный модуль проходил по тому же «мокрому» делу, что и FM-передатчик из предыдущего обзора: Но признаков проникновения жидкости внутрь пакета обнаружено не было. Сама плата небольшого размера, в комплекте идут три штыревые контакта, которые можно припаять к площадкам, к которым я припаял проводки ATA-шлейфа: Также, на плате имеется три отверстия, но они не дублируют упомянутые контакты, поэтому их предназначение ещё предстоит выяснить. Принцип действия кардио-модуля для Ардуино схож с работой датчика мышки: рядом с излучателем — в данном случае — зелёным светодиодом, расположен сканер, улавливающий изменение яркости и транслирующий их в осязаемой аналоговой величине на вывод «S». Со стороны, которую следует прикладывать к сканируемой поверхности, расположено изображение сердечка: Датчик чувствительный и его желательно прикладывать через прозрачную плёнку: Не смотря на довольно развитое сообщество с множеством проектов, простую схему подключения пришлось рисовать самому: Светодиод не обязателен, встроенный светодиод (13) загорается резко при импульсах, подключённый к выводу 5 — плавно вспыхивает. Код можно скачать отсюда:Arduino — скетч для Ардуино,Visualizer — программа, запускающаяся из среды Processing. Устройство оказалось довольно чувствительным и лично я сомневаюсь, что смогу сделать из него подобие браслета для смартфона: Прикладывать его следует «не абы как», а между центром подушечки и изгибом — www.youtube.com/watch?v=cM_Y7dkBDSk&t=148 Для улучшения показаний, решил повысить яркость светодиода, ток через него составлял 1.3мА, резистор, ограничивающий ток, имел маркировку «471»:Калькулятор маркировки SMD-резисторов подсказывает 470 Ом. Другой калькулятор(понаходил онлайн-«калькуляторов» — сам уже не соображаю) и здравый смысл подсказывают, что для увеличения тока до ~10мА, нужен резистор 100 Ом. Стоковый светодиод нормально выдерживает ток, однако ни увеличение яркости, ни применение красного светодиода, сколь-либо заметного эффекта не оказали. Герой этого видео наглядно демонстрирует, куда можно прислонять датчик, чтобы уловить пульс. У него, правда, не такая программа, как по ссылке выше, но суть одинакова:А так выглядел один из вариантов моей поделки — самый простой. Товар предоставлен для написания обзора магазином. Обзор опубликован в соответствии с п.18 Правил сайта.

Этот простой и недорогой проект основан на плате анализатора MAX30100 , для визуализации использован  0,91-дюймовый OLED-дисплей, чтобы сообщать о частоте сердечных сокращений и уровне оксигенации.

Оба используемых устройства имеют двухпроводной интерфейс I2C что сокращает количество проводов для подключения и так же упрощает схему .

Используемые детали  + ссылки на алиэкспресс с лучшей ценой 

Ардуино Нано     http://ali.pub/1imsc4

0.91 «OLED-дисплей с интерфейсом I2C  http://ali.pub/1imse2

Частота сердечных сокращений MAX30100  http://ali.pub/1imsgl

Провода для соединения 

fkyafh4iz6ck8vu.medium-228x228.jpg

Похожие статьи

sunsaluter-low-cost-solar-tracker-8-200x200.jpg

Солнечный трекер на ардуино и сервоприводе (+код для DIY)

Сегодня мы рассмотрим схему и код для создания солнечного трекера 

  • Любая плата Arduino (Uno на данном примере)
  • Конструкция поворотного трекера
  • 2 x 4.7K подтягивающие резисторы 
  • 2 x фоторезисторы 
  • Сервопривод SG -90 

103-10-200x200.jpg

Автономная «смарт» машина на Arduino + код

Основная идея проекта — создать недорогую автономную четырехколесную подвижную платформу. В проекте используется логика на базе Arduino, недорогая радиоуправляемая машина, источник питания 9 вольт. В качестве датчиков обратной связи используется инфракрасный передатчик.

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

adafruit-ssd1306-library-200x200.jpg

Подключение OLED I2C дисплея с размером экрана 0,96″ и разрешением 128*64 точек к плате Arduino UNO.

Сегодня мы рассмотрим подключение OLED I2C дисплея с размером экрана 0,96″ и разрешением 128*64 точек к плате Arduino UNO.

7zozypypc00-200x200.jpg

Подключение электроники для 3д принтера rapms 1.4 и arduino mega 2560 Graber i3 принтер из фанеры

Сборка 3д принтера , а в особенности одна из самых важных частей , подключение всех компонентов к плате ардуино мега и рампс 1.4 .</h4>

RAMPS 1.4 это шилд (надстройка) для Arduino Mega 2560. Ардуино преобразует G-коды в сигналы и управляет 3D принтером посредством силовой части — RAMPS 1.4.101-1-200x200.jpg

Модуль NRF24L01 2.4 ГГц радио/беспроводные передатчики и Arduino

Давайте начнем с тех возможностей, которые откроются перед вами, если вы обеспечите беспроводной обмен данными между двумя платами Arduino:

  • Удаленное снятие показаний с датчиков температуры, давления, систем сигнализации на основе пироэлектрических датчиков движения и т.п.

  • Беспроводное управление и мониторинг состояния роботов на расстоянии от 50 2000 футов.

  • Беспроводное управление и мониторинг помещений в соседних домах.

  • И т.д. и т.п. В общем, практически все, что требует беспроводных систем управления и мониторинга…

Теги: Подключаем к ардуино датчик сердечного ритма и Oled дисплей Arduino Heart Rate Monitor

Используемые источники:

  • https://3d-diy.ru/wiki/arduino-datchiki/datchik-pulsa/
  • https://mysku.ru/blog/china-stores/40970.html
  • http://www.electronica52.in.ua/proekty-arduino/kak-ya-sverlilnyj-stanok-pechatal-

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации