อัตราการเต้นของหัวใจหรืออัตราชีพจรเป็นพารามิเตอร์ที่สำคัญที่สุดที่วัดได้ในด้านการแพทย์ มีสองวิธีที่สามารถวัดอัตราการเต้นของหัวใจได้ วิธีหนึ่งคือการตรวจสอบข้อมือด้วยตนเองโดยใช้เครื่องตรวจฟังเสียงและคาดเดาอัตราการเต้นของหัวใจอีกวิธีหนึ่งคือใช้เซ็นเซอร์วัดอัตราการเต้นของหัวใจ เซ็นเซอร์วัดอัตราการเต้นของหัวใจจะอ่านค่าพัลส์บางส่วนและส่งสัญญาณไฟฟ้าไปยังไมโครคอนโทรลเลอร์จากนั้นการอ่านค่าเหล่านี้จะถูกคำนวณและแสดงอัตราชีพจรที่แน่นอน
การวัดอัตราการเต้นของหัวใจ
เซ็นเซอร์วัดอัตราการเต้นของหัวใจวัดอัตราชีพจรได้อย่างไร?
อย่างที่เราทราบกันดีว่าเรากำลังจะทำอะไรดังนั้นเรามาเริ่มทำโครงการนี้กัน
ขั้นตอนที่ 1: รวบรวมส่วนประกอบ
การทำรายการส่วนประกอบและศึกษาการทำงานของส่วนประกอบเหล่านั้นเป็นแนวทางที่ดีที่สุดก่อนเริ่มโครงการใด ๆ ต่อไปนี้เป็นส่วนประกอบที่จะใช้ในโครงการของเรา:
- Arduino UNO
- เซ็นเซอร์วัดอัตราการเต้นของหัวใจ
- สายจัมเปอร์
- เทปสีดำ
ขั้นตอนที่ 2: ทำความรู้จักกับส่วนประกอบที่ใช้
เนื่องจากเรามีรายชื่ออุปกรณ์ที่เราจะใช้ ตอนนี้ให้เราดูว่าส่วนประกอบเหล่านี้ทำงานอย่างไร
Arduino Uno คือบอร์ดไมโครคอนโทรลเลอร์ที่ใช้สำหรับควบคุมวงจรต่างๆ ใช้รหัส C ที่ให้คำแนะนำในการทำงาน สิ่งทดแทนอื่น ๆ ของบอร์ดไมโครคอนโทรลเลอร์นี้ที่มีอยู่ในตลาด ได้แก่ Arduino Nano, Node MCU, ESP32 เป็นต้น
SEN-11574 เป็นเซ็นเซอร์วัดอัตราชีพจรแบบพลักแอนด์เพลย์ที่รวมเข้ากับ Arduino มันมีสองด้าน ด้านหนึ่งมีไฟ led ซึ่งจะเปล่งแสง ควรวาง led นี้ไว้ที่ด้านบนของหลอดเลือดดำโดยตรง อย่างที่เราทราบกันดีว่าปริมาตรของเลือดในหลอดเลือดดำจะมากขึ้นเมื่อหัวใจสูบฉีดดังนั้นเมื่อมีเลือดในหลอดเลือดดำมากขึ้นแสงจะสะท้อนไปที่เซ็นเซอร์มากขึ้น การเปลี่ยนแปลงของแสงที่เซ็นเซอร์ได้รับนี้จะถูกวิเคราะห์ตามช่วงเวลาและจะวัดอัตราการเต้นของหัวใจ ในอีกด้านหนึ่งของเซ็นเซอร์จะมีวงจรซึ่งทำหน้าที่ในการขยายและกำจัดสัญญาณรบกวนของสัญญาณที่ได้รับ
ขั้นตอนที่ 3: การประกอบส่วนประกอบ
- อย่างที่เราทราบกันดีว่าผิวหนังเป็นของคนเรามีความชุ่มชื้นหรือมันในบางครั้ง ซึ่งอาจส่งผลให้เกิดการลัดวงจรของเซ็นเซอร์ซึ่งให้การวัดที่ผิดพลาด ควรทาชั้นสติกเกอร์ไวนิลที่ด้าน LED ของเซ็นเซอร์เพื่อป้องกันไม่ให้ชื้นบนผิวหนัง
- หลังจากทำเช่นนี้ให้นำเทปเวกเตอร์สีดำมาติดไว้ที่อีกด้านหนึ่งของเซ็นเซอร์ วิธีนี้จะป้องกันไม่ให้แสงจากบริเวณโดยรอบมาขัดจังหวะแสงของเซ็นเซอร์
- ตอนนี้เชื่อมต่อ Vcc และพินกราวด์ของเซ็นเซอร์กับ Arduino และขาอะนาล็อกของเซ็นเซอร์เข้ากับ A0 ของ Arduino
ขณะนี้อุปกรณ์ทั้งหมดได้รับการตั้งค่าและพร้อมใช้งานแล้ว เราจะใส่เซ็นเซอร์ลงบนหลอดเลือดดำโดยตรงที่นิ้วหรือที่หูเพื่อวัดอัตราการเต้นของหัวใจ
ขั้นตอนที่ 4: เริ่มต้นกับ Arduino
หากคุณไม่เคยทำงานกับ Arduino IDE มาก่อนไม่ต้องกังวลเพราะขั้นตอนในการเบิร์นโค้ดบนบอร์ดไมโครคอนโทรลเลอร์โดยใช้ Arduino IDE มีดังต่อไปนี้
- หลังจากเชื่อมต่อบอร์ด Arduino กับพีซีของคุณแล้วให้ไปที่แผงควบคุม> ฮาร์ดแวร์และเสียง> อุปกรณ์และเครื่องพิมพ์เพื่อตรวจสอบชื่อของพอร์ตที่ Arduino เชื่อมต่ออยู่ มันแตกต่างกันในคอมพิวเตอร์เครื่องอื่น
กำลังค้นหาพอร์ต
- เปิด Arduino IDE และตั้งค่าบอร์ดเป็น Arduino / Genuino UNO
คณะกรรมการการตั้งค่า
- ตอนนี้ตั้งค่าพอร์ตที่คุณสังเกตเห็นก่อนหน้านี้ในแผงควบคุม
การตั้งค่าพอร์ต
- ดาวน์โหลดรหัสที่ระบุด้านล่างและเปิด เบิร์นโค้ดบนบอร์ดไมโครคอนโทรลเลอร์ของคุณโดยคลิกที่ไฟล์ ที่อัพโหลด ปุ่ม.
ที่อัพโหลด
คลิก ที่นี่ เพื่อดาวน์โหลดรหัส
ขั้นตอนที่ 5: รหัส
รหัสในการวัดอัตราชีพจรมีความยาวและซับซ้อนเล็กน้อย รหัสบางส่วนมีคำอธิบายด้านล่าง
1. ในการเริ่มต้นจะมีการกำหนดพินทั้งหมดที่จะใช้ ตัวแปรทั้งหมดที่จะใช้ในฟังก์ชันต่างๆและ interrupt service routine (ISR)
2. การตั้งค่าเป็นโมฆะ () เป็นฟังก์ชันที่พินกำหนดให้ใช้เป็น INPUT หรือ OUTPUT อัตราการรับส่งข้อมูลยังถูกตั้งค่าในฟังก์ชันนี้ อัตราบอดคือความเร็วที่ไมโครคอนโทรลเลอร์สื่อสารกับส่วนประกอบอื่น ๆ ISR ถูกเรียกในฟังก์ชันนี้ด้วย
3. ห่วงเป็นโมฆะ () เป็นฟังก์ชันที่ทำงานอย่างต่อเนื่องเป็นวงจร ที่นี่จะพบอัตราการเต้นของชีพจรและจะตัดสินใจว่าเมื่อใดที่จะทำให้ LED จางลงเมื่อพบการเต้นของหัวใจ
โมฆะ loop () {serialOutput (); ถ้า (QS == จริง) {// พบการเต้นของหัวใจ // กำหนด BPM และ IBI แล้ว // Quantified Self 'QS' เป็นจริงเมื่อ arduino พบว่า heartbeat fadeRate = 255 // ทำให้ LED Fade Effect เกิดขึ้น // ตั้งค่าตัวแปร 'fadeRate' เป็น 255 เพื่อทำให้ LED จางลงด้วย pulse serialOutputWhenBeatHappens (); // จังหวะที่เกิดขึ้นส่งออกเป็นอนุกรม คำพูดคำจา = เท็จ; // รีเซ็ตค่าสถานะ Quantified Self สำหรับครั้งต่อไป} ledFadeToBeat (); // ทำให้ LED Fade Effect เกิดความล่าช้า (20); // หยุดพัก }
สี่. เป็นโมฆะ serialOutput () เป็นฟังก์ชันที่กำหนดว่าจะแสดงเอาต์พุตบนจอภาพอนุกรมอย่างไร
เป็นโมฆะ serialOutput () {switch (outputType) {case PROCESSING_VISUALIZER: sendDataToSerial ('S