Giới thiệu cảm biến nhịp tim quang
Cảm biến nhịp tim quang là dùng cảm biến nhịp tim dạng quang Pulse Sensor sử dụng nguyên lý đo nhịp tim bằng ánh sáng giao tiếp Analog. phù hợp cho các ứng dụng điện tử y sinh. Nhịp đập của tim là thông số rất quan trọng xây dựng 1 bài tập thể dục thật sự khoa học.
Trước đây, cảm biến nhịp tim chỉ thường xuất hiện trên các thiết bị đắt tiền như : máy chạy bộ, máy đo trong bệnh viện, smartphone,..v.v.v…. Giờ đây đã xuất hiện 1 loại cảm biến đo nhịp tim mà chúng ta dễ dàng kết nối với các bo mạch điện tử như Arduino, Raspberry Pi và các MCU khác.
Thông số kỹ thuật cảm biến nhịp tim quang
- Nguồn : 3 – 5V
- Dòng tiêu thụ : < 4mA
- Ngõ ra : Analog.
- Độ dài dây : 61cm ( 24 inch).
- Đường kính cảm biến : 1.6 cm ( 0.625 inch).
Nguyên lý hoạt động
Khi áp chặt mặt cảm biến vào da, nơi có mạch máu chảy( thường là áp vào tai, đầu ngón tay,… để dễ kẹp) đầu phát sẽ phát ra ánh sáng đi vào trong da. Dòng ánh sáng đó sẽ bị khuếch tán ra xung quanh, và một phần đi tới quang trở đặt gần đầu phát. Do bị ép vào nên lượng máu ở phần cảm biến sẽ thay đổi, cụ thể khi không có áp lực do tim đập, máu sẽ dồn ra xung quanh, lượng ánh sáng từ đầu phát sẽ về đầu thu nhiều hơn so với khi tim đập, máu chảy qua nơi có cảm biến áp vào.
Sự thay đổi là rất nhỏ, nên phần cảm nhận ánh sáng (quang trở) thường có mạch IC đề khuếch đại tín hiệu thay đổi này, đưa về các mạch lọc, đếm hoặc các mạch ADC để tính toán ra nhịp tim. Tín hiệu đầu ra là tín hiệu analog, dao động theo các mạch đập của tim.
Chương trình
Nguyên lý kết nối
Chương trình
Thư viện : PulseSensorPlayground.h
#define USE_ARDUINO_INTERRUPTS true // Set-up low-level interrupts for most acurate BPM math #include <PulseSensorPlayground.h> // Includes the PulseSensorPlayground Library const int PulseWire = 0; // 'S' Signal pin connected to A0 const int LED13 = 13; // The on-board Arduino LED int Threshold = 550; // Determine which Signal to "count as a beat" and which to ignore PulseSensorPlayground pulseSensor; // Creates an object void setup() { Serial.begin(9600); // Configure the PulseSensor object, by assigning our variables to it pulseSensor.analogInput(PulseWire); pulseSensor.blinkOnPulse(LED13); // Blink on-board LED with heartbeat pulseSensor.setThreshold(Threshold); // Double-check the "pulseSensor" object was created and began seeing a signal if (pulseSensor.begin()) { Serial.println("PulseSensor object created!"); } } void loop() { int myBPM = pulseSensor.getBeatsPerMinute(); // Calculates BPM if (pulseSensor.sawStartOfBeat()) { // Constantly test to see if a beat happened Serial.println("♥ A HeartBeat Happened ! "); // If true, print a message Serial.print("BPM: "); Serial.println(myBPM); // Print the BPM value } delay(20); }
Liên hệ làm mạch
- Phone: 0967.551.477
- Zalo: 0967.551.477
- Chi tiết : Nhận làm mạch và hướng dẫn đồ án sinh viên
Tham khảo chương trình mẫu và thông tin linh kiện chi tiết tại:
Reviews
There are no reviews yet.