กลับไปหน้ารวมไฟล์
developing-a-device-for-heart-rate-using-pulse-sensor-7ee928.md

Algorithmic Biometrics: Heart Rate Pulse Sensor

สวิตช์ธรรมดาสามารถตั้งโปรแกรมได้ง่าย หัวใจของมนุษย์เป็นปั๊มชีวภาพที่สับสนวุ่นวายและไม่แน่นอนอย่างน่าตกใจ อุปกรณ์ Heart Rate Pulse Sensor Device ใช้เทคนิค photoplethysmography ทางกายภาพ (โดยการกะพริบ Green LED ส่องผ่านปลายนิ้วมนุษย์โดยตรง) เพื่อวัดการขยายตัวระดับจุลภาคของเส้นเลือดฝอย Arduino ต้องใช้อัลกอริทึมขนาดใหญ่เพื่อกรอง Optical noise และจับเวลาทางคณิตศาสตร์ได้อย่างแม่นยำเมื่อเลือดสูบฉีดอย่างรุนแรง!

ad8232_ecg_sensor_macro_1772706791753.png

Photoplethysmography (The PulseSensor.com Module)

Pulse Sensor จะส่งสัญญาณ Analog ที่มีลักษณะเป็นคลื่นหยักขนาดใหญ่เข้าไปยัง A0

  1. ทุกครั้งที่หัวใจบีบตัวทางกายภาพ เลือดจะไหลเวียนผ่านนิ้วของคุณ ซึ่งจะเปลี่ยนปริมาณ Green Light ที่สะท้อนกลับเข้าไปยัง photodiode ขนาดเล็กภายใน!
  2. ฝันร้ายของ Analog Noise: หากคุณเขียนเพียง if (analogRead(A0) > 550) { count++; } คุณจะล้มเหลวอย่างร้ายแรง เซ็นเซอร์มีความไวมากจนสามารถตรวจจับการสั่นสะเทือนระดับจุลภาคของมือคุณ หรือการกะพริบ 50Hz ทั่วไปของหลอดไฟฟลูออเรสเซนต์บนเพดานของคุณ!

The Peak-Detect Algorithm (Moving Averages)

โค้ด C++ ต้องรันอัลกอริทึมการกรองขนาดใหญ่บนโปรเซสเซอร์ 16MHz!

  • Arduino จะสุ่มตัวอย่าง A0 ทุก 2 มิลลิวินาทีอย่างเคร่งครัดผ่าน Timer Interrupt
  • มันจะบันทึกค่าการอ่าน 10 ครั้งล่าสุดลงใน cyclical Array และคำนวณ "Mean" ทางคณิตศาสตร์ (เพื่อหาค่าเฉลี่ย Noise ภายในห้อง!)
  • การคำนวณ Peak: มันจะมองหาค่า Spike ที่ไม่น่าเชื่อและเกิดขึ้นอย่างกะทันหันใน waveform ที่ถูกกรอง (Signal > Threshold_Level)
  • เมื่อตรวจพบ Spike มันจะบันทึก millis()
unsigned long currentTime = millis();
int IBI = currentTime - lastBeatTime; // Inter-Beat Interval (Milliseconds between two beats)
BPM = 60000 / IBI; // Convert milliseconds instantly to Beats Per Minute!
  • ตัวเลข BPM 72 จะอัปเดตอย่างรวดเร็วบน I2C OLED Display พร้อมกับเสียง 'Beep' ของ Piezo Buzzer ที่ดังมาก ซึ่งตรงกับมิลลิวินาทีที่เลือดในเส้นเลือดฝอยพุ่งพล่าน!

Optical Biometric Components

  • Arduino Uno/Nano (ยอดเยี่ยมสำหรับการรัน Timer2 ที่สะอาดและไม่หยุดชะงัก)
  • Generic Pulse Sensor Amped Module (โดยทั่วไปมีลักษณะเป็นวงกลมสีดำขนาดเล็กสมบูรณ์แบบ มี Green LED สว่าง และโลโก้รูปหัวใจบน PCB ด้านหน้า)
  • 0.96" SSD1306 OLED I2C Screen เพื่อทำแผนที่และวาดกราฟ waveform เหมือน EKG ที่น่าตกใจและกวาดไปมาแบบไดนามิกบนหน้าจอเมื่อหัวใจเต้น!

ข้อมูล Frontmatter ดั้งเดิม

title: "Developing a device for Heart Rate using pulse sensor"
description: "Biological photoplethysmography! Parse incredibly chaotic capillary-level analog voltage bounces caused by raw human blood flow, constructing massive moving-average software algorithms to detect absolute heart peaks."
category: "Science & Simulation"
difficulty: "Advanced"