ทำความเข้าใจ 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
- แอปแสดงผลบนมือถือ
- ระบบแจ้งเตือนความผิดปกติ
จากสัญญาณไฟฟ้าหัวใจ → สู่ระบบสุขภาพอัจฉริยะ