심박 센서(XD-58C): 두 판 사이의 차이
(새 문서: seo 888x888픽셀 == '''개요''' == 아두이노 심박센서(XD-58C)는 심박수를 측정할 수 있는 센서 모듈로, 주로 생체 신호 모니터링에 사용됩니다. 센서 중앙에는 밝은 초록 빛이 방출되며 심장이 박동할 때 혈류가 증가하면 반사되어 돌아오는 빛의 양이 줄어드는 것을 활용하여 심박수를 측정합니다. 연결이 간편하여 아두이노로 쉽게 심박수 데이...) |
잔글편집 요약 없음 |
||
(같은 사용자의 중간 판 하나는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
seo | {{#seo:|title=아두위키 : 아두이노 심박 센서(XD-58C) 가이드|title_mode=append|keywords=아두이노, 정보과학, 메이커학습, 수행평가, 심박 센서(XD-58C), 아두이노 작품, 캡스톤작품, 아두이노 예제코드|description=아두이노로 심박 센서(XD-58C)를 제어하는 방법(기본정보, 회로, 예제 코드)을 소개합니다. 정보과학과 메이커수업에 활용가능합니다.}} | ||
[[파일:심박센서XD58C.jpg| | [[파일:심박센서XD58C.jpg|가운데|class=coders100]] | ||
== '''개요''' == | == '''개요''' == | ||
51번째 줄: | 51번째 줄: | ||
|GND | |GND | ||
|} | |} | ||
[[파일:심박센서 회로.jpg| | [[파일:심박센서 회로.jpg|가운데|class=coders100]] | ||
=== 2. 코드 === | === 2. 코드 === | ||
62번째 줄: | 62번째 줄: | ||
자세한 라이브러리 사용 방법은 [[아두이노 라이브러리]] 문서를 참고하세요. | 자세한 라이브러리 사용 방법은 [[아두이노 라이브러리]] 문서를 참고하세요. | ||
[[파일:PulseSensorPlayground 라이브러리.png]] | [[파일:PulseSensorPlayground 라이브러리.png|class=coders30]] | ||
105번째 줄: | 105번째 줄: | ||
하트가 그려진 면에 손가락을 덮고 가볍게 압박을 주면 BPM이 다음과 같이 출력되는 것을 확인할 수 있습니다. | 하트가 그려진 면에 손가락을 덮고 가볍게 압박을 주면 BPM이 다음과 같이 출력되는 것을 확인할 수 있습니다. | ||
[[파일:심박센서 실행결과.jpg| | [[파일:심박센서 실행결과.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이 다음과 같이 출력되는 것을 확인할 수 있습니다.
응용 분야
아래 내용들과 관련된 아두이노 프로젝트들에 다양하게 사용될 수 있습니다.
- 건강 모니터링 시스템 : 개인의 심박수를 실시간으로 모니터링하여 건강 상태를 추적 관리
- 스포츠 및 피트니스 트래킹 : 운동 중 심박수를 측정하여 운동 강도를 조절, 피트니스 성과를 분석
- 의료 연구 : 생체 신호 데이터를 수집하고 분석하여 다양한 의료 연구에 활용
- 웨어러블 기기 : 스마트워치나 피트니스 밴드와 같은 웨어러블 기기에 적용되어 실시간 심박수 모니터링 기능을 제공