الملخص
يقدم هذا البحث تصميم وتنفيذ نظام لمراقبة تخطيط القلب (ECG) باستخدام وحدة استشعار AD8232 المخصصة لقراءة إشارات القلب، إلى جانب متحكم Arduino وشاشة OLED لعرض النتائج. يقوم النظام بالتقاط الإشارات الكهربائية للقلب باستخدام أقطاب موضوعة على الجلد، ومعالجة هذه الإشارات لتصفية الضوضاء، ثم عرض النتائج على الشاشة بشكل فوري وكذلك عبر الـSerial Plotter. يهدف المشروع إلى توفير مراقبة لحظية لأنشطة القلب، مما يساعد في الكشف المبكر عن الأمراض القلبية. هذا المشروع يوضح حلاً منخفض التكلفة وسهل الاستخدام للمراقبة الصحية.
. المقدمة
تعد أجهزة تخطيط القلب من الأدوات الأساسية في تقييم صحة القلب، فهي تزودنا بمعلومات مهمة حول النشاط الكهربائي للقلب، مما يمكن الأطباء من تشخيص حالات مثل اضطرابات النبض وأمراض القلب الإقفارية. تعتبر الأنظمة التقليدية لمراقبة ECG مكلفة ومعقدة، مما يجعلها أقل ملاءمة للاستخدام الشخصي. يهدف هذا المشروع إلى تطوير نظام بسيط يعتمد على وحدة AD8232 مع شاشة OLED لعرض الإشارات بشكل لحظي، ليكون الحل متاحًا لأي شخص دون الحاجة إلى معدات متقدمة أو باهظة الثمن.
. المنهجية
يعتمد النظام على وحدة AD8232 لقراءة الإشارات الكهربائية للقلب من خلال الأقطاب الموصولة بالجسم. المكونات الأساسية للنظام تشمل
- وحدة AD8232: وهي دائرة متكاملة مخصصة لمعالجة إشارات ECG.
- الأقطاب الكهربائية: توضع على المعصم والكاحل لقياس النشاط الكهربائي للقلب.
- متحكم Arduino: يقوم بمعالجة الإشارات التي تلتقطها وحدة AD8232.
- شاشة OLED: لعرض الإشارات بعد معالجتها بشكل رسومي.
الكود
#include <Adafruit_SSD1306.h>
#define OLED_Address 0x3C // 0x3C device address of I2C OLED. Few other OLED has 0x3D
Adafruit_SSD1306 oled(128, 64); // create our screen object setting resolution to 128×64
int a=0;
int lasta=0;
int lastb=0;
int LastTime=0;
int ThisTime;
void setup() {
// initialize the serial communication:
Serial.begin(9600);
pinMode(10, INPUT); // Setup for leads off detection LO +
pinMode(11, INPUT); // Setup for leads off detection LO –
oled.begin(SSD1306_SWITCHCAPVCC, OLED_Address);
oled.clearDisplay();
oled.setTextSize(2);
}
void loop() {
if((digitalRead(10) == 1)||(digitalRead(11) == 1)){
Serial.println(‘!’);
}
else{
if(a>127)
{
oled.clearDisplay();
a=0;
lasta=a;
}
ThisTime=millis();
int value=analogRead(A0);
oled.setTextColor(WHITE);
int b=60-(value/16);
oled.writeLine(lasta,lastb,a,b,WHITE);
lastb=b;
lasta=a;
// send the value of analog input 0:
Serial.println(analogRead(A0));
}
oled.display();
a++;
//Wait for a bit to keep serial data from saturating
delay(50);
}
خطوات العمل تتضمن
- التقاط الإشارة: يقوم Arduino بقراءة القيم التناظرية القادمة من وحدة AD8232 عبر الدالة
analogRead
. - معالجة الإشارة: يتم تصفية الإشارة باستخدام فلتر تقني لتقليل الضوضاء، بحيث يكون العرض النهائي أوضح.
- العرض: يتم عرض الإشارة على شاشة OLED في الوقت الفعلي، مع إرسال القيم إلى الـSerial Plotter لتحليلها بشكل أوسع.
. النتائج
تم اختبار النظام في بيئات مختلفة لتقييم أدائه. أظهرت النتائج أن النظام استطاع التقاط إشارات ECG بشكل مستقر مع ضوضاء ضئيلة. القيم تراوحت بين 0 و1023، ما يعكس النشاط الكهربائي للقلب بشكل واضح. الرسوم البيانية الناتجة أظهرت نمطًا متوافقًا مع الأنشطة القلبية الطبيعية.
- استقرار الإشارة: ساعد الفلتر المستخدم في تقليل الضوضاء بشكل كبير، ما أدى إلى عرض أكثر وضوحًا للإشارات.
- المراقبة اللحظية: قدمت شاشة OLED ملاحظات فورية، مما سهل مراقبة النشاط القلبي في الوقت الحقيقي.
أداء النظام يشير إلى إمكانية استخدامه لمراقبة الأنشطة القلبية الأساسية، ولكن هناك حاجة إلى المزيد من التحسينات لتطبيقات طبية دقيقة.
. الخاتمة:
النظام المطور لمراقبة ECG باستخدام وحدة AD8232 أثبت فعاليته في تقديم مراقبة لحظية للنشاط القلبي، مع إمكانية استخدامه في تطبيقات الرعاية الصحية عن بعد. التحسينات المستقبلية قد تشمل إضافة اتصال لاسلكي للمراقبة عن بعد، وتطوير خوارزميات متقدمة لتصفية الإشارات، ودمج النظام مع الأجهزة المحمولة.