Posted in

ทำความเข้าใจ ECG Sensor และการใช้งาน AD8232 กับ Arduino

ทำความเข้าใจ ECG Sensor และการใช้งาน AD8232 กับ Arduino

ในบทความนี้เราจะพาคุณไปรู้จักกับเซ็นเซอร์วัดคลื่นไฟฟ้าหัวใจ (ECG Sensor)
และวิธีเชื่อมต่อกับ Arduino เพื่อวิเคราะห์สัญญาณหัวใจเบื้องต้น

เราจะเรียนรู้ตั้งแต่หลักการทำงาน การวางตำแหน่งขั้ววัด (Electrode)
ไปจนถึงการคำนวณอัตราการเต้นของหัวใจ (Heart Rate) และ HRV


ECG คืออะไร?

ECG (Electrocardiography) คือการวัดสัญญาณไฟฟ้าของหัวใจ
ซึ่งสามารถใช้วิเคราะห์การทำงานของหัวใจและตรวจหาความผิดปกติได้


องค์ประกอบของสัญญาณ ECG

  • P Wave – การกระตุ้นของหัวใจห้องบน
  • QRS Complex – การหดตัวของหัวใจห้องล่าง
  • T Wave – การคลายตัวของหัวใจ
  • U Wave – พบได้บางกรณี

การวิเคราะห์รูปคลื่นเหล่านี้สามารถช่วยตรวจโรค เช่น:

  • หัวใจเต้นผิดจังหวะ (Atrial Fibrillation)
  • หัวใจเต้นเร็ว (Tachycardia)
  • กล้ามเนื้อหัวใจขาดเลือด
  • หัวใจวาย (Myocardial Infarction)

ตำแหน่งการติดตั้งเซ็นเซอร์ (3 Lead ECG)

  • RA – แขนขวา
  • LA – แขนซ้าย
  • RL – ขา (Ground)

การติดตั้งที่ถูกต้องช่วยลดสัญญาณรบกวนและเพิ่มความแม่นยำ


รู้จักโมดูล AD8232 ECG

AD8232 เป็นโมดูล ECG แบบ 3 Lead ที่นิยมใช้ในงาน Arduino
มีราคาประหยัดและเหมาะสำหรับงานทดลอง

  • Output เป็น Analog Signal
  • มีวงจรขยายสัญญาณ (Op-Amp)
  • มีระบบ Shutdown เพื่อลดการใช้พลังงาน


การต่อวงจรกับ Arduino

  • OUTPUT → A0
  • LO+ → D8
  • LO- → D9
  • 3.3V → VCC
  • GND → GND

หลักการทำงานของระบบ

  • อ่านค่าสัญญาณ ECG จาก A0
  • ตรวจจับ R-Peak ของสัญญาณ
  • คำนวณช่วงเวลา RR Interval
  • คำนวณ Heart Rate (HR)
  • คำนวณ Heart Rate Variability (HRV)

โค้ดโปรแกรม Arduino


long instance1=0, timer;
double hrv =0, hr = 72, interval = 0;
int value = 0, count = 0;  
bool flag = 0;

#define shutdown_pin 10 
#define threshold 100
#define timer_value 10000

void setup() {
  Serial.begin(9600);
  pinMode(8, INPUT);
  pinMode(9, INPUT);
}

void loop() { 
  if((digitalRead(8) == 1)||(digitalRead(9) == 1)){
    Serial.println("leads off!");
    digitalWrite(shutdown_pin, LOW);
    instance1 = micros();
    timer = millis();
  }
  else {
    digitalWrite(shutdown_pin, HIGH);
    value = analogRead(A0);
    value = map(value, 250, 400, 0, 100);

    if((value > threshold) && (!flag)) {
      count++;  
      flag = 1;
      interval = micros() - instance1;
      instance1 = micros(); 
    }
    else if((value < threshold)) { flag = 0; } if ((millis() - timer) > 10000) {
      hr = count*6;
      timer = millis();
      count = 0; 
    }

    hrv = hr/60 - interval/1000000;

    Serial.print(hr);
    Serial.print(",");
    Serial.print(hrv);
    Serial.print(",");
    Serial.println(value);

    delay(1);
  }
}

วิดีโอสาธิตการทำงาน


สรุป

โปรเจค ECG Sensor ช่วยให้เราเข้าใจการทำงานของหัวใจผ่านสัญญาณไฟฟ้า
และสามารถนำไปพัฒนาระบบตรวจสุขภาพเบื้องต้นได้

สามารถต่อยอดได้ เช่น:

  • ระบบ IoT Health Monitoring
  • แอปแสดงผลบนมือถือ
  • ระบบแจ้งเตือนความผิดปกติ

จากสัญญาณไฟฟ้าหัวใจ → สู่ระบบสุขภาพอัจฉริยะ