심장 박동 센서를 사용하여 심박수를 측정하는 방법은 무엇입니까?

심박수 또는 맥박수는 의학 분야에서 측정되는 가장 중요한 매개 변수입니다. 심박수를 측정하는 방법에는 두 가지가 있습니다. 하나는 청진기를 사용하여 심박수를 추측하여 수동으로 손목을 확인하는 것이고, 다른 하나는 심박수 센서를 사용하는 것입니다. 심박수 센서는 맥박의 일부 판독 값을 가져와 마이크로 컨트롤러에 전기 신호를 보냅니다. 그런 다음 이러한 판독 값이 계산되고 정확한 맥박이 표시됩니다.



심박수 측정

심박수 센서는 어떻게 맥박을 측정합니까?

우리가 무엇을 할 것인지 알고 있으므로이 프로젝트 작업을 시작하겠습니다.



1 단계 : 구성 요소 수집

구성 요소 목록을 작성하고 해당 구성 요소의 작동을 연구하는 것이 프로젝트를 시작하기 전에 가장 좋은 방법입니다. 다음은 프로젝트에 사용될 구성 요소입니다.



  • Arduino UNO
  • 심박수 센서
  • 점퍼 와이어
  • 블랙 테이프

2 단계 : 사용 된 구성 요소 파악

우리가 사용할 장치 목록이 있으므로. 이제 이러한 구성 요소가 어떻게 작동하는지 살펴 보겠습니다.



Arduino Uno는 다양한 회로를 제어하는 ​​데 사용되는 마이크로 컨트롤러 보드입니다. 작업을 수행하기위한 지침을 제공하는 C 코드를 사용합니다. 시장에서 사용 가능한이 마이크로 컨트롤러 보드의 다른 대체품은 Arduino Nano, Node MCU, ESP32 등입니다.

SEN-11574는 Arduino와 통합 된 플러그 앤 플레이 맥박 센서입니다. 양면이 있습니다. 한쪽에는 빛을 방출하는 LED가 배치됩니다. 이 LED는 정맥 상단에 직접 배치해야합니다. 우리는 심장이 펌핑 할 때 정맥의 혈액량이 더 크다는 것을 알고 있으므로 정맥에 혈액이 더 많으면 센서에 더 많은 빛이 반사됩니다. 센서가받는 빛의 이러한 변화는 시간이 지남에 따라 분석되고 심박수가 측정됩니다. 센서의 다른쪽에는 수신 된 신호의 증폭 및 노이즈 제거를 담당하는 회로가 있습니다.

3 단계 : 구성 요소 조립

  1. 우리는 피부가 인체라는 것을 알고 있기 때문에 때때로 촉촉하거나 기름기가 있습니다. 이로 인해 센서의 단락이 발생하여 잘못된 측정을 제공 할 수 있습니다. 센서의 LED쪽에 비닐 스티커를 붙여 피부에 습기가 차는 것을 방지하는 것이 좋습니다.
  2. 그런 다음 검은 색 벡터 테이프 조각을 센서의 다른쪽에 붙여 넣습니다. 이것은 주변의 빛이 센서의 빛을 방해하는 것을 방지합니다.
  3. 이제 센서의 Vcc와 접지 핀을 Arduino에 연결하고 센서의 아날로그 핀을 Arduino의 A0에 연결합니다.

이제 모든 장치가 설정되고 사용할 준비가되었습니다. 심장 박동수를 측정하기 위해 센서를 손가락이나 귀의 정맥에 직접 배치합니다.



4 단계 : Arduino 시작하기

이전에 Arduino IDE에서 작업 한 적이 없더라도 Arduino IDE를 사용하여 마이크로 컨트롤러 보드에 코드를 굽는 절차가 아래에 나와 있으므로 걱정하지 마십시오.

  1. Arduino 보드를 PC에 연결 한 후 제어판> 하드웨어 및 소리> 장치 및 프린터로 이동하여 Arduino가 연결된 포트의 이름을 확인합니다. 컴퓨터마다 다릅니다.

    포트 찾기

  2. Arduino IDE를 열고 보드를 다음과 같이 설정하십시오. Arduino / Genuino UNO.

    설정 보드

  3. 이제 제어판에서 이전에 관찰 한 포트를 설정하십시오.

    포트 설정

  4. 아래 제공된 코드를 다운로드하여 엽니 다. 클릭하여 마이크로 컨트롤러 보드의 코드를 굽습니다. 업로드 단추.

    업로드

딸깍 하는 소리 여기 코드를 다운로드하십시오.

5 단계 : 코드

맥박을 측정하는 코드는 약간 길고 복잡합니다. 코드의 일부는 아래에 설명되어 있습니다.

1. 처음에는 사용될 모든 핀이 정의됩니다. 다른 기능과 ISR (인터럽트 서비스 루틴)에서 사용될 모든 변수.

2. 무효 설정 () 핀을 INPUT 또는 OUTPUT으로 사용하도록 정의하는 기능입니다. 전송 속도도이 기능에서 설정됩니다. 전송 속도는 마이크로 컨트롤러가 다른 구성 요소와 통신하는 속도입니다. ISR은이 함수에서도 호출됩니다.

삼. 무효 루프 () 주기적으로 지속적으로 실행되는 기능입니다. 여기에서 맥박수를 찾아서 심장 박동이 발견 될 때 LED를 페이드 할시기를 결정합니다.

void loop () {serialOutput (); if (QS == true) {// 하트 비트가 발견됨 // BPM 및 IBI가 결정됨 // 정량화 된 자체 'QS'arduino가 하트 비트를 발견하면 true fadeRate = 255; // LED 페이드 효과를 발생시킵니다. // 'fadeRate'변수를 255로 설정하여 펄스로 LED를 페이드합니다. serialOutputWhenBeatHappens (); // A Beat Happened, 직렬로 출력합니다. QS = 거짓; // 다음 번에 Quantified Self 플래그를 재설정합니다.} ledFadeToBeat (); // LED 페이드 효과를 발생시킵니다. delay (20); // 휴식을 취하다 }

네. 무효 serialOutput () 시리얼 모니터에 출력을 표시하는 방법을 결정하는 기능입니다.

void serialOutput () {switch (outputType) {case PROCESSING_VISUALIZER : sendDataToSerial ( 'S