วิธีวัดอัตราการเต้นของหัวใจโดยใช้ Heart Beat Sensor?

อัตราการเต้นของหัวใจหรืออัตราชีพจรเป็นตัวแปรที่สำคัญที่สุดที่วัดได้ในด้านการแพทย์ มีสองวิธีที่สามารถวัดอัตราการเต้นของหัวใจได้ วิธีหนึ่งคือการตรวจสอบข้อมือด้วยตนเองโดยใช้เครื่องตรวจฟังเสียงและคาดเดาอัตราการเต้นของหัวใจอีกวิธีหนึ่งคือใช้เซ็นเซอร์วัดอัตราการเต้นของหัวใจ เซ็นเซอร์วัดอัตราการเต้นของหัวใจจะอ่านค่าพัลส์บางส่วนและส่งสัญญาณไฟฟ้าไปยังไมโครคอนโทรลเลอร์จากนั้นการอ่านค่าเหล่านี้จะถูกคำนวณและแสดงอัตราชีพจรที่แน่นอน

Heart Rate Sensor วัดอัตราการเต้นของชีพจรได้อย่างไร?

อย่างที่เราทราบกันดีว่าเรากำลังจะทำอะไรดังนั้นเรามาเริ่มทำโปรเจ็กต์นี้กัน

ขั้นตอนที่ 1: รวบรวมส่วนประกอบ

การทำรายการส่วนประกอบและการศึกษาการทำงานของส่วนประกอบเหล่านั้นเป็นแนวทางที่ดีที่สุดก่อนที่จะเริ่มโครงการใดๆ ต่อไปนี้เป็นส่วนประกอบที่จะใช้ในโครงการของเรา:

ขั้นตอนที่ 2: ทำความรู้จักกับส่วนประกอบที่ใช้

เนื่องจากเรามีรายชื่ออุปกรณ์ที่เรากำลังจะใช้ ตอนนี้ให้เราดูว่าส่วนประกอบเหล่านี้ทำงานอย่างไร

Arduino Uno คือบอร์ดไมโครคอนโทรลเลอร์ที่ใช้สำหรับควบคุมวงจรต่างๆ ใช้รหัส C ที่ให้คำแนะนำในการทำงาน สิ่งทดแทนอื่น ๆ ของบอร์ดไมโครคอนโทรลเลอร์นี้ที่มีอยู่ในตลาด ได้แก่ Arduino Nano, Node MCU, ESP32 เป็นต้น

SEN-11574 เป็นเซ็นเซอร์วัดอัตราชีพจรแบบพลักแอนด์เพลย์ที่รวมเข้ากับ Arduino มันมีสองด้าน ด้านหนึ่งมีไฟ led ซึ่งจะเปล่งแสง ควรวาง led นี้ไว้ที่ด้านบนของหลอดเลือดดำโดยตรง อย่างที่เราทราบกันดีว่าปริมาตรของเลือดในหลอดเลือดดำจะมากขึ้นเมื่อหัวใจสูบฉีดดังนั้นเมื่อมีเลือดในหลอดเลือดดำมากขึ้นแสงก็จะสะท้อนไปที่เซ็นเซอร์มากขึ้น การเปลี่ยนแปลงของแสงที่เซ็นเซอร์ได้รับนี้จะถูกวิเคราะห์ตามช่วงเวลาและจะวัดอัตราการเต้นของหัวใจ อีกด้านหนึ่งของเซ็นเซอร์จะมีวงจรอยู่ซึ่งมีหน้าที่ในการขยายสัญญาณและกำจัดสัญญาณรบกวนของสัญญาณที่ได้รับ

ขั้นตอนที่ 3: การประกอบส่วนประกอบ

  1. อย่างที่เราทราบกันดีว่าผิวหนังเป็นของคนเรามีความชุ่มชื้นหรือมันในบางครั้ง ซึ่งอาจส่งผลให้เกิดการลัดวงจรของเซ็นเซอร์ซึ่งให้การวัดที่ผิดพลาด ควรทาชั้นสติกเกอร์ไวนิลที่ด้าน LED ของเซ็นเซอร์เพื่อป้องกันไม่ให้ชื้นบนผิวหนัง
  2. หลังจากทำเช่นนี้ให้นำเทปเวกเตอร์สีดำมาติดที่อีกด้านหนึ่งของเซ็นเซอร์ วิธีนี้จะป้องกันไม่ให้แสงจากบริเวณโดยรอบมาขัดจังหวะแสงของเซ็นเซอร์
  3. ตอนนี้เชื่อมต่อ Vcc และพินกราวด์ของเซ็นเซอร์กับ Arduino และขาอะนาล็อกของเซ็นเซอร์กับ A0 ของ Arduino

ขณะนี้อุปกรณ์ทั้งหมดได้รับการตั้งค่าและพร้อมใช้งานแล้ว เราจะใส่เซ็นเซอร์ลงบนหลอดเลือดดำโดยตรงที่นิ้วหรือที่หูเพื่อวัดอัตราการเต้นของหัวใจ

ขั้นตอนที่ 4: เริ่มต้นใช้งาน Arduino

หากคุณไม่เคยทำงานกับ Arduino IDE มาก่อนไม่ต้องกังวลเพราะขั้นตอนในการเบิร์นโค้ดบนบอร์ดไมโครคอนโทรลเลอร์โดยใช้ Arduino IDE มีดังต่อไปนี้

  1. หลังจากเชื่อมต่อบอร์ด Arduino เข้ากับพีซีของคุณแล้วให้ไปที่แผงควบคุม> ฮาร์ดแวร์และเสียง> อุปกรณ์และเครื่องพิมพ์เพื่อตรวจสอบชื่อของพอร์ตที่ Arduino เชื่อมต่ออยู่ มันแตกต่างกันในคอมพิวเตอร์เครื่องอื่น
  2. เปิด Arduino IDE และตั้งค่าบอร์ดเป็น Arduino / Genuino UNO
  3. ตอนนี้ตั้งค่าพอร์ตที่คุณสังเกตเห็นก่อนหน้านี้ในแผงควบคุม
  4. ดาวน์โหลดรหัสที่ระบุด้านล่างและเปิด เบิร์นโค้ดบนบอร์ดไมโครคอนโทรลเลอร์ของคุณโดยคลิกที่ไฟล์ ที่อัพโหลด ปุ่ม.

คลิกที่นี่เพื่อดาวน์โหลดรหัส

ขั้นตอนที่ 5: รหัส

รหัสในการวัดอัตราการเต้นของชีพจรมีความยาวและซับซ้อนเล็กน้อย รหัสบางส่วนมีคำอธิบายด้านล่าง

1. ในการเริ่มต้นจะมีการกำหนดพินทั้งหมดที่จะใช้ ตัวแปรทั้งหมดที่จะใช้ในฟังก์ชันต่างๆและ interrupt service routine (ISR)

2. การตั้งค่าเป็นโมฆะ () เป็นฟังก์ชันที่พินถูกกำหนดให้ใช้เป็นอินพุตหรือเอาต์พุต อัตราบอดถูกกำหนดในฟังก์ชันนี้ด้วย อัตราบอดคือความเร็วที่ไมโครคอนโทรลเลอร์สื่อสารกับส่วนประกอบอื่น ๆ ISR ถูกเรียกในฟังก์ชันนี้ด้วย

3. ห่วงเป็นโมฆะ ()เป็นฟังก์ชันที่ทำงานอย่างต่อเนื่องเป็นวงจร ที่นี่จะพบอัตราการเต้นของชีพจรและจะตัดสินใจว่าเมื่อใดที่จะทำให้ LED จางลงเมื่อพบการเต้นของหัวใจ

โมฆะ loop () {serialOutput (); ถ้า (QS == จริง) {// พบ Heartbeat // กำหนด BPM และ IBI แล้ว // Quantified Self "QS" จริงเมื่อ arduino พบว่า heartbeat fadeRate = 255; // ทำให้ LED Fade Effect เกิดขึ้น // ตั้งค่าตัวแปร 'fadeRate' เป็น 255 เพื่อทำให้ LED จางลงด้วย pulse serialOutputWhenBeatHappens (); // จังหวะที่เกิดขึ้นส่งออกเป็นอนุกรม คำพูดคำจา = เท็จ; // รีเซ็ตค่าสถานะ Quantified Self สำหรับครั้งต่อไป} ledFadeToBeat (); // ทำให้ LED Fade Effect เกิดความล่าช้า (20); // หยุดพัก }

4. เป็นโมฆะ serialOutput ()เป็นฟังก์ชันที่กำหนดวิธีการแสดงเอาต์พุตบนจอภาพอนุกรม

เป็นโมฆะ serialOutput () {switch (outputType) {case PROCESSING_VISUALIZER: sendDataToSerial ('S', Signal); // ไปที่ตัวแบ่งฟังก์ชัน sendDataToSerial; กรณี SERIAL_PLOTTER: // เปิด Arduino Serial Plotter เพื่อแสดงภาพข้อมูลเหล่านี้ Serial.print (BPM); Serial.print (","); Serial.print (IBI); Serial.print (","); Serial.println (สัญญาณ); หยุดพัก; ค่าเริ่มต้น: ทำลาย; }}

5. ISR คือการขัดจังหวะที่สร้างขึ้นโดยฮาร์ดแวร์และส่งไปยัง CPU เพื่อประมวลผล เมื่อการขัดจังหวะถูกสร้างขึ้นกระบวนการซึ่งกำลังดำเนินอยู่จะหยุดลงและการขัดจังหวะจะถูกประมวลผล หลังจากประมวลผลการขัดจังหวะแล้วกระบวนการก่อนหน้าจะดำเนินต่อไป

เป็นโมฆะ interruptSetup () {// ตรวจสอบแท็บ Timer_Interrupt_Notes สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ INTERRUPTS #ifndef ESP32 // เริ่มต้น Timer2 เพื่อโยนอินเทอร์รัปต์ทุกๆ 2mS TCCR2A = 0x02; // ปิดใช้งาน PWM บน PIN ดิจิทัล 3 และ 11 แล้วเข้าสู่โหมด CTC TCCR2B = 0x06; // อย่าบังคับเปรียบเทียบ, 256 PRESCALER OCR2A = 0X7C; // ตั้งค่าด้านบนของจำนวนเป็น 124 สำหรับอัตราตัวอย่าง 500Hz TIMSK2 = 0x02; // เปิดใช้งานการขัดจังหวะการจับคู่ระหว่าง TIMER2 และ OCR2A sei (); // ตรวจสอบให้แน่ใจว่ามีการหยุดชะงักทั่วโลก // สร้างสัญญาณเพื่อแจ้งให้เราทราบเมื่อตัวจับเวลาเริ่มทำงาน #else timerSemaphore = xSemaphoreCreateBinary (); // ใช้ตัวจับเวลาที่ 1 จาก 4 (นับจากศูนย์) // ตั้งค่าตัวแบ่ง 80 ตัวสำหรับผู้กำหนดล่วงหน้า (ดูคู่มืออ้างอิงทางเทคนิคของ ESP32 สำหรับข้อมูลเพิ่มเติม // ข้อมูล) จับเวลา = timerBegin (0, 80, จริง); // แนบฟังก์ชั่น onTimer กับตัวจับเวลาของเรา timerAttachInterrupt (ตัวจับเวลา & onTimer จริง); // ตั้งปลุกเพื่อเรียกใช้ฟังก์ชัน onTimer ทุกวินาที (ค่าเป็นไมโครวินาที) // ทำซ้ำการเตือน (พารามิเตอร์ที่สาม) timerAlarmWrite (ตัวจับเวลา, 2000, จริง); // เริ่มนาฬิกาจับเวลาปลุก AlarmEnable (ตัวจับเวลา); #endif}

การใช้งาน:

ตอนนี้เรารู้วิธีวัดอัตราชีพจรโดยใช้เซ็นเซอร์วัดอัตราการเต้นของหัวใจ ตอนนี้เราสามารถใช้เพื่อสร้างโครงการต่างๆได้เช่น

  1. วงดนตรีเพื่อสุขภาพ.
  2. การตรวจสอบความวิตกกังวล
  3. ติดตามการนอนหลับ
  4. ระบบตรวจสอบ / เตือนผู้ป่วยระยะไกล
  5. เครื่องเล่นเกมขั้นสูง
Facebook Twitter Google Plus Pinterest