Tarantino пишет: |
bregalad пишет: — часы измеряют пульс, используя маленький оптический датчик на обратной стороне корпуса, не нужно никакого специального (неудобного!) пульсомера на грудь; А пульсометр реально работает? Я так читал, что те, которые оптические, крайне неточные и ненадёжные. Интересуют реальные отзывы. |
Мне тоже было интересно, как реально работает датчик пульса. И вот моя студентка (из филиала МГУ в Душанбе) как раз написала дипломную работу, посвященную модельной системе для "облачной" медицины (дистанционного мониторинга состояния пациента). В частности, собрала модельный прибор, измеряющий постоянно пульс и непрерывно передающий данные по беспроводной сети компьютеру, расположенному неподалеку (а тот уже пишет данные в облако). Девушка сама купила в Интернете необходимые компоненты – оптический сенсор пульса SEN-11574, микросхему 16-битового аналогово-цифрового преобразователя ADS1115, микрокомпьютер Raspberry Pi 3 B+, макетную плату и кучу соединительных проводов. Вот как выглядит прибор, который она собрала (естественно, это только макет для отработки технологии):
Оптический датчик пульса внизу, сверху микрокомпьютер Raspberry Pi (размер не больше банковской карты), в середине — макетная плата, используемая, чтобы соединять детали без пайки (хотя припаивать штырьковые выводы к микросхеме ADC всё равно пришлось), на ней датчик соединяется с микросхемой ADC и затем она — с компьютером Raspberry Pi через его разъемы GPIO. Все это она сделала почти без моей помощи, читая Интернет (установить Linux на Raspberry Pi, найти описания микросхемы, шины для подсоединения, библиотеки для работы с микросхемой, способ подсоединения датчика и т.п.). На Raspberry Pi запускается программа на Python'е, которая считывает показания датчика 100 раз в секунду и каждые 4 секунды передает UDP-пакет через беспроводную сеть по групповому широковещательному адресу. (Такую программу не так уж и просто написать — две нити, работающие параллельно, одна снимает показания датчика и записывает в пакет для передачи, вторая нить передает пакеты по сети TCP/IP, тут для синхронизации нитей приходится использовать mutex и conditional variable, а также очередь пакетов.)
UDP-пакеты принимаются другой программой, которая работает уже на ноутбуке и тоже написана на Python'е. Она в реальном времени рисует график сигнала от датчика пульса в окне, а также рассчитывает пульс по несложному алгоритму (придумать который нетрудно, когда видишь форму сигнала). Вот скриншот этой программы:
(Здесь запись 3-х пакетов по 4 сек каждый, всего 12 секунд, пульс рассчитывается по последним 4 секундам. Толстая синяя линия — среднее значение сигнала, тонкие линии — отклонение на +-Standard Deviation и на +-2SD.)
Такой сигнал получается, когда просто прикладываешь палец к датчику (и не нажимаешь на него сильно!). Отсюда видно, что измерение очень стабильное и надежное — хотя, возможно, это зависит от того, к какой части тела прикладываешь датчик. Принцип его работы основан на том, что кровь поглощает и отражает различное количество света в зависимости от скорости и интенсивности течения крови. Вполне возможно, что с помощью пары подобных датчиков, закрепленных в разных частях тела, можно даже рассчитать давление крови, почему и хотелось явно увидеть форму этого сигнала.