심박 센서(XD-58C): 두 판 사이의 차이

아두위키 : Arduwiki
(새 문서: seo 888x888픽셀 == '''개요''' == 아두이노 심박센서(XD-58C)는 심박수를 측정할 수 있는 센서 모듈로, 주로 생체 신호 모니터링에 사용됩니다. 센서 중앙에는 밝은 초록 빛이 방출되며 심장이 박동할 때 혈류가 증가하면 반사되어 돌아오는 빛의 양이 줄어드는 것을 활용하여 심박수를 측정합니다. 연결이 간편하여 아두이노로 쉽게 심박수 데이...)
 
잔글편집 요약 없음
 
(같은 사용자의 중간 판 하나는 보이지 않습니다)
1번째 줄: 1번째 줄:
seo
{{#seo:|title=아두위키 : 아두이노 심박 센서(XD-58C) 가이드|title_mode=append|keywords=아두이노, 정보과학, 메이커학습, 수행평가, 심박 센서(XD-58C), 아두이노 작품, 캡스톤작품, 아두이노 예제코드|description=아두이노로 심박 센서(XD-58C)를 제어하는 방법(기본정보, 회로, 예제 코드)을 소개합니다. 정보과학과 메이커수업에 활용가능합니다.}}


[[파일:심박센서XD58C.jpg|888x888픽셀]]
[[파일:심박센서XD58C.jpg|가운데|class=coders100]]


== '''개요''' ==
== '''개요''' ==
51번째 줄: 51번째 줄:
|GND
|GND
|}
|}
[[파일:심박센서 회로.jpg|896x896픽셀]]
[[파일:심박센서 회로.jpg|가운데|class=coders100]]


=== 2. 코드 ===
=== 2. 코드 ===
62번째 줄: 62번째 줄:
자세한 라이브러리 사용 방법은 [[아두이노 라이브러리]] 문서를 참고하세요.
자세한 라이브러리 사용 방법은 [[아두이노 라이브러리]] 문서를 참고하세요.


[[파일:PulseSensorPlayground 라이브러리.png]]
[[파일:PulseSensorPlayground 라이브러리.png|class=coders30]]




105번째 줄: 105번째 줄:
하트가 그려진 면에 손가락을 덮고 가볍게 압박을 주면 BPM이 다음과 같이 출력되는 것을 확인할 수 있습니다.
하트가 그려진 면에 손가락을 덮고 가볍게 압박을 주면 BPM이 다음과 같이 출력되는 것을 확인할 수 있습니다.


[[파일:심박센서 실행결과.jpg|1955x1955픽셀]]
[[파일:심박센서 실행결과.jpg|가운데|class=coders100]]


== '''응용 분야''' ==
== '''응용 분야''' ==

2024년 7월 23일 (화) 18:05 기준 최신판


개요

아두이노 심박센서(XD-58C)는 심박수를 측정할 수 있는 센서 모듈로, 주로 생체 신호 모니터링에 사용됩니다.

센서 중앙에는 밝은 초록 빛이 방출되며 심장이 박동할 때 혈류가 증가하면 반사되어 돌아오는 빛의 양이 줄어드는 것을 활용하여 심박수를 측정합니다.

연결이 간편하여 아두이노로 쉽게 심박수 데이터를 출력할 수 있습니다.


사양

항목 세부 사항
전원 인터페이스
전원 공급 전압 3.3-5V
작동 전류 10mA
크기 지름 1.6cm
무게 5g


활용 예제

시리얼 모니터와 시리얼 플로터로 심박수를 확인하는 예제입니다.


1. 회로

기호 연결 핀
S A0 핀
+ 5V
- GND

2. 코드

라이브러리

PulseSensorPlayground 라이브러리를 추가해주세요.

라이브러리 관리에서 pulsesensor로 검색하시면 다운로드 받으실 수 있습니다.

자세한 라이브러리 사용 방법은 아두이노 라이브러리 문서를 참고하세요.


아두이노 코드

#include <PulseSensorPlayground.h>  // PulseSensorPlayground 라이브러리 포함

// 변수 선언
const int PulseWire = 0;       // PulseSensor의 보라색 와이어를 아날로그 핀 0에 연결
const int LED = LED_BUILTIN;   // 아두이노 내장 LED 핀, 보통 핀 13에 가까이 있음
int Threshold = 550;           // 심박으로 인식할 신호의 임계값 설정

// PulseSensorPlayground 객체 생성
PulseSensorPlayground pulseSensor;

void setup() {
  Serial.begin(9600);  // 시리얼 모니터 시작

  // PulseSensor 객체 설정
  pulseSensor.analogInput(PulseWire);
  pulseSensor.blinkOnPulse(LED);       // 심박이 감지되면 자동으로 아두이노 LED를 깜빡이도록 설정
  pulseSensor.setThreshold(Threshold);

  // PulseSensor 객체가 제대로 생성되었는지 확인
  if (pulseSensor.begin()) {
    Serial.println("We created a pulseSensor Object !");  // 아두이노가 전원에 연결되거나 리셋될 때 한 번 출력
  }
}

void loop() {
  if (pulseSensor.sawStartOfBeat()) {            // 심박이 감지되었는지 지속적으로 확인
    int myBPM = pulseSensor.getBeatsPerMinute();  // BPM(분당 심박수) 값을 가져옴
    Serial.println(myBPM);  // BPM 값을 시리얼 플로터에 출력
  }
  
  delay(20);  // 간단한 스케치에서 권장되는 지연 시간
}


3. 실행 결과

하트가 그려진 면에 손가락을 덮고 가볍게 압박을 주면 BPM이 다음과 같이 출력되는 것을 확인할 수 있습니다.

응용 분야

아래 내용들과 관련된 아두이노 프로젝트들에 다양하게 사용될 수 있습니다.

  • 건강 모니터링 시스템 : 개인의 심박수를 실시간으로 모니터링하여 건강 상태를 추적 관리
  • 스포츠 및 피트니스 트래킹 : 운동 중 심박수를 측정하여 운동 강도를 조절, 피트니스 성과를 분석
  • 의료 연구 : 생체 신호 데이터를 수집하고 분석하여 다양한 의료 연구에 활용
  • 웨어러블 기기 : 스마트워치나 피트니스 밴드와 같은 웨어러블 기기에 적용되어 실시간 심박수 모니터링 기능을 제공


구매 링크

공집사몰