كيف تقيس معدل ضربات القلب باستخدام مستشعر ضربات القلب؟

يعد معدل ضربات القلب أو معدل النبض أهم عامل يتم قياسه في مجال الطب. هناك طريقتان يمكن من خلالهما قياس معدل ضربات القلب. أحدهما هو فحص المعصم يدويًا باستخدام سماعة الطبيب وتخمين معدل ضربات القلب ، والطريقة الأخرى هي استخدام مستشعر معدل ضربات القلب. يحصل مستشعر معدل ضربات القلب على بعض قراءات النبض ويرسل إشارة كهربائية إلى وحدة التحكم الدقيقة ، ثم يتم حساب هذه القراءات ويتم عرض معدل النبض الدقيق.



قياس معدل ضربات القلب

كيف يقيس مستشعر معدل ضربات القلب معدل النبض؟

نظرًا لأننا نعلم ما سنفعله ، فلنبدأ العمل في هذا المشروع.



الخطوة 1: تجميع المكونات

يعد إعداد قائمة بالمكونات ودراسة عمل تلك المكونات هو أفضل نهج قبل البدء في أي مشروع. فيما يلي المكونات التي سيتم استخدامها في مشروعنا:



  • اردوينو UNO
  • مستشعر معدل ضربات القلب
  • أسلاك العبور
  • شريط اسود

الخطوة الثانية: معرفة المكونات المستخدمة

نظرًا لأن لدينا قائمة الأجهزة التي سنستخدمها. الآن دعونا نرى كيف تعمل هذه المكونات.



Arduino Uno عبارة عن لوحة متحكم تستخدم للتحكم في الدوائر المختلفة. يستخدم رمز C الذي يمنحه التعليمات لأداء مهمة. البدائل الأخرى للوحة التحكم الدقيقة المتوفرة في السوق هي Arduino Nano و Node MCU و ESP32 وما إلى ذلك.

SEN-11574 عبارة عن مستشعر معدل نبضات التوصيل والتشغيل المدمج مع Arduino. لها وجهان. على جانب واحد ، يتم وضع مصباح ينبعث منه الضوء. يجب وضع هذا المصباح مباشرة على قمة الوريد. كما نعلم أن حجم الدم في الوريد يكون أكبر عندما يضخ القلب ، لذلك عندما يكون هناك المزيد من الدم في الوريد ، سينعكس المزيد من الضوء على المستشعر. يتم تحليل هذا التغيير في الضوء الذي يستقبله المستشعر بمرور الوقت ويتم قياس معدل ضربات القلب. على الجانب الآخر من المستشعر ، توجد دائرة مسؤولة عن التضخيم وإزالة الضوضاء للإشارة المستقبلة.

الخطوة 3: تجميع المكونات

  1. كما نعلم أن الجلد من جسم الإنسان ، فهو رطب أو دهني أحيانًا. قد يؤدي هذا إلى قصر دائرة جهاز الاستشعار مما يعطي قياسات خاطئة. من الأفضل وضع طبقة من ملصق الفينيل على جانب LED من المستشعر لمنعه من الرطوبة على الجلد.
  2. بعد القيام بذلك ، خذ قطعة من الشريط اللاصق الأسود والصقها على الجانب الآخر من المستشعر. سيمنع هذا الضوء من المناطق المحيطة ليقطع ضوء المستشعرات.
  3. الآن ، قم بتوصيل Vcc والدبوس الأرضي للمستشعر بـ Arduino والدبوس التناظري للمستشعر بـ A0 من Arduino.

تم الآن ضبط جميع الأجهزة وجاهزة للاستخدام. سنضع المستشعر مباشرة على الوريد سواء على الاصبع او الاذن لقياس معدل ضربات القلب.



الخطوة 4: بدء استخدام Arduino

إذا لم تكن قد عملت على Arduino IDE من قبل ، فلا داعي للقلق لأن إجراء نسخ رمز على لوحة التحكم الدقيقة باستخدام Arduino IDE موضح أدناه.

  1. بعد توصيل لوحة Arduino بجهاز الكمبيوتر الخاص بك ، انتقل إلى لوحة التحكم> الأجهزة والصوت> الأجهزة والطابعات للتحقق من اسم المنفذ الذي يتصل به Arduino. إنه مختلف على أجهزة الكمبيوتر المختلفة.

    البحث عن ميناء

  2. افتح Arduino IDE وقم بتعيين اللوحة على أنها اردوينو / جينوينو أونو.

    لوحة الإعداد

  3. الآن قم بتعيين المنفذ الذي لاحظته من قبل في لوحة التحكم.

    منفذ الإعداد

  4. قم بتنزيل الكود الوارد أدناه وافتحه. انسخ الكود الموجود على لوحة وحدة التحكم الدقيقة الخاصة بك عن طريق النقر فوق رفع زر.

    رفع

انقر هنا لتنزيل الكود.

الخطوة 5: الكود

الكود الخاص بقياس معدل النبض طويل ومعقد بعض الشيء. يتم شرح جزء من الكود أدناه.

1. في البداية ، يتم تحديد جميع المسامير التي سيتم استخدامها. جميع المتغيرات التي سيتم استخدامها في وظائف مختلفة وروتين خدمة المقاطعة (ISR).

2. الإعداد باطل() هي وظيفة يتم فيها تعريف الدبابيس لاستخدامها على أنها INPUT أو OUTPUT. يتم ضبط معدل البث بالباود أيضًا في هذه الوظيفة. معدل الباود هو السرعة التي يتواصل بها الميكروكونترولر مع المكونات الأخرى. يتم استدعاء ISR أيضًا في هذه الوظيفة.

3. حلقة فارغة() هي وظيفة تعمل بشكل مستمر في دورة. هنا ، يتم العثور على معدل النبض ويقرر متى يتلاشى الصمام عند العثور على نبضات القلب.

حلقة باطلة () {serialOutput () ، إذا (QS == صحيح) {// تم العثور على نبضات القلب // تم تحديد BPM و IBI // القيمة الذاتية لـ 'QS' صحيحة عندما يكتشف اردوينو تلاشي معدل ضربات القلب = 255 ؛ // يجعل تأثير تلاشي LED يحدث // تعيين 'fadeRate' متغيرًا إلى 255 لتتلاشى LED مع نبضات serialOutputWhenBeatHappens () ؛ // حدث إيقاع ، أخرج ذلك إلى المسلسل. QS = خطأ ؛ // reset the Quantified Self Flag for next time} ledFadeToBeat ()؛ // يجعل تأثير تلاشي LED يحدث تأخيرًا (20) ؛ // خذ استراحة}

أربعة. إخراج مسلسل باطل () هي وظيفة تحدد كيفية إظهار الإخراج على الشاشة التسلسلية.

serialOutput () باطل {switch (outputType) {case PROCESSING_VISUALIZER: sendDataToSerial ('S