جدول المحتويات:

كيفية عرض معدل ضربات القلب على شاشة STONE LCD بـ Ar: 31 خطوة
كيفية عرض معدل ضربات القلب على شاشة STONE LCD بـ Ar: 31 خطوة

فيديو: كيفية عرض معدل ضربات القلب على شاشة STONE LCD بـ Ar: 31 خطوة

فيديو: كيفية عرض معدل ضربات القلب على شاشة STONE LCD بـ Ar: 31 خطوة
فيديو: Heart Pulse Sensor using Arduino قراءة نبضات القلب باستخدام أردوينو 2024, يونيو
Anonim
كيفية عرض معدل ضربات القلب على شاشة STONE LCD باستخدام Ar
كيفية عرض معدل ضربات القلب على شاشة STONE LCD باستخدام Ar

مقدمة مختصرة

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

الخطوة 1: قررت استخدام Arduino للتحقق من معدل ضربات القلب ووظيفة جمع الأكسجين في الدم لـ MAX30100

قررت استخدام Arduino للتحقق من معدل ضربات القلب ووظيفة جمع الأكسجين في الدم لـ MAX30100
قررت استخدام Arduino للتحقق من معدل ضربات القلب ووظيفة جمع الأكسجين في الدم لـ MAX30100

ملحوظة: هذه الوحدة بشكل افتراضي فقط مع اتصالات MCU على مستوى 3.3 فولت ، لأنها تستخدم بشكل افتراضي استخدام IIC pin سحب المقاومة من 4.7 K إلى 1.8 V ، لذلك لا يوجد اتصال مع Arduino افتراضيًا ، إذا كنت تريد التواصل مع Arduino وتحتاج إلى اثنين من 4.7 K من المقاوم لسحب الدبوس IIC متصل بدبوس VIN ، سيتم تقديم هذه المحتويات في الجزء الخلفي من الفصل.

الخطوة 2: التعيينات الوظيفية

قبل البدء في هذا المشروع ، فكرت في بعض الميزات البسيطة:

  • تم جمع بيانات معدل ضربات القلب وبيانات الأكسجين في الدم
  • يتم عرض بيانات معدل ضربات القلب والأكسجين في الدم من خلال شاشة LCD

هاتان السمتان الوحيدتان ، ولكن إذا أردنا تنفيذهما ، فنحن بحاجة إلى مزيد من التفكير:

  • ما سيد MCU المستخدمة؟
  • أي نوع من أجهزة عرض LCD؟

كما ذكرنا سابقًا ، نستخدم Arduino لـ MCU ، ولكن هذا مشروع Arduino LCD ، لذلك نحتاج إلى اختيار وحدة عرض LCD المناسبة ، أخطط لاستخدام شاشة عرض LCD مع منفذ تسلسلي. لدي جهاز عرض STONE STVI070WT-01 هنا ، ولكن إذا احتاج Arduino إلى التواصل معه ، فإن MAX3232 مطلوب لإجراء تحويل المستوى. ثم يتم تحديد المواد الإلكترونية الأساسية على النحو التالي:

1. مجلس التنمية اردوينو ميني برو

2. MAX30100 معدل ضربات القلب ووحدة استشعار الأكسجين في الدم

3. STONE STVI070WT-01 وحدة عرض المنفذ التسلسلي LCD

4. وحدة MAX3232

الخطوة 3: مقدمة عن الأجهزة

ماكس 30100

MAX30100 عبارة عن حل مستشعر متكامل لقياس تأكسج النبض ومراقب لمعدل ضربات القلب. فهو يجمع بين اثنين من مصابيح LED ، والكاشف الضوئي ، والبصريات المحسّنة ، ومعالجة الإشارات التناظرية منخفضة الضوضاء لاكتشاف قياس التأكسج النبضي وإشارات معدل ضربات القلب.

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

الخطوة 4: التطبيقات

● الأجهزة القابلة للارتداء

● أجهزة مساعد اللياقة البدنية

● أجهزة المراقبة الطبية

الخطوة 5: الفوائد والميزات

1 ، مقياس تأكسج النبض الكامل ومستشعر معدل ضربات القلب ، الحل يبسط التصميم

  • مصابيح LED مدمجة ومستشعر صور ونهاية أمامية تناظرية عالية الأداء
  • صغيرة 5.6 مم × 2.8 مم × 1.2 مم 14 سنًا بصريًا نظام محسن في العبوة

2 ، تشغيل منخفض الطاقة للغاية يزيد من عمر البطارية للأجهزة القابلة للارتداء

  • معدل العينة القابل للبرمجة وتيار LED لتوفير الطاقة
  • تيار اغلاق منخفض للغاية (0.7µA ، نوع)

3 ، وظائف متقدمة تعمل على تحسين أداء القياس

  • توفر نسبة الإشارة إلى الضوضاء العالية (SNR) مرونة قوية في الحركة الأثرية
  • نظام إلغاء الضوء المحيط المتكامل
  • قدرة عالية على معدل العينة
  • القدرة على إخراج البيانات بسرعة

الخطوة 6: مبدأ الكشف

مبدأ الكشف
مبدأ الكشف

فقط اضغط بإصبعك على المستشعر لتقدير تشبع الأكسجين النبضي (SpO2) والنبض (ما يعادل ضربات القلب).

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

الخطوة 7: STONE STVI070WT-01

الحجر STVI070WT-01
الحجر STVI070WT-01

مقدمة لجهاز العرض

في هذا المشروع ، سأستخدم STONE STVI070WT-01 لعرض بيانات معدل ضربات القلب والأكسجين في الدم. تم دمج شريحة برنامج التشغيل داخل شاشة العرض ، وهناك برنامج يمكن للمستخدمين استخدامه. يحتاج المستخدمون فقط إلى إضافة الأزرار ومربعات النص والمنطق الآخر من خلال صور واجهة المستخدم المصممة ، ثم إنشاء ملفات التكوين وتنزيلها في شاشة العرض للتشغيل. تتواصل شاشة STVI070WT-01 مع MCU من خلال إشارة uart-rs232 ، مما يعني أننا بحاجة إلى إضافة شريحة MAX3232 لتحويل إشارة RS232 إلى إشارة TTL ، حتى نتمكن من التواصل مع Arduino MCU.

الخطوة 8: إذا لم تكن متأكدًا من كيفية استخدام MAX3232 ، فيرجى الرجوع إلى الصور التالية:

إذا لم تكن متأكدًا من كيفية استخدام MAX3232 ، فيرجى الرجوع إلى الصور التالية
إذا لم تكن متأكدًا من كيفية استخدام MAX3232 ، فيرجى الرجوع إلى الصور التالية

إذا كنت تعتقد أن تحويل المستوى مزعج للغاية ، فيمكنك اختيار أنواع أخرى من أجهزة عرض STONE ، والتي يمكن لبعضها إخراج إشارة uart-ttl مباشرة.

يحتوي الموقع الرسمي على معلومات مفصلة ومقدمة:

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

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

الخطوة العاشرة: خطوات التطوير

ثلاث خطوات لتطوير شاشة عرض STONE:

  • صمم منطق العرض ومنطق الأزرار باستخدام برنامج STONE TOOL ، وقم بتنزيل ملف التصميم على وحدة العرض.
  • يتصل MCU بوحدة عرض STONE LCD من خلال المنفذ التسلسلي.
  • مع البيانات التي تم الحصول عليها في الخطوة 2 ، تقوم MCU بإجراءات أخرى.

الخطوة 11: تثبيت برنامج STONE TOOL

تثبيت برنامج STONE TOOL
تثبيت برنامج STONE TOOL

قم بتنزيل أحدث إصدار من برنامج STONE TOOL (حاليًا TOOL2019) من موقع الويب وقم بتثبيته.

بعد تثبيت البرنامج ، سيتم فتح الواجهة التالية:

انقر فوق الزر "ملف" في الزاوية اليسرى العليا لإنشاء مشروع جديد ، والذي سنناقشه لاحقًا.

الخطوة 12: اردوينو

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

يتكون جزء الجهاز (أو لوحة التطوير) من متحكم دقيق (MCU) ، وذاكرة فلاش (فلاش) ، ومجموعة من واجهات الإدخال / الإخراج العالمية (GPIO) ، والتي يمكنك اعتبارها لوحة أم للكمبيوتر الصغير. يتكون جزء البرنامج بشكل أساسي من Arduino IDE على جهاز الكمبيوتر ، وحزمة دعم ذات صلة على مستوى اللوحة (BSP) ومكتبة غنية بوظائف الطرف الثالث. باستخدام Arduino IDE ، يمكنك بسهولة تنزيل BSP المرتبط بلوحة التطوير الخاصة بك والمكتبات التي تحتاجها لكتابة برامجك. Arduino هي منصة مفتوحة المصدر. حتى الآن ، كان هناك العديد من النماذج والعديد من وحدات التحكم المشتقة ، بما في ذلك Arduino Uno و Arduino Nano و ArduinoYun وما إلى ذلك ، بالإضافة إلى ذلك ، لا يدعم Arduino IDE الآن لوحات تطوير سلسلة Arduino فحسب ، بل يضيف أيضًا دعمًا للوحات التطوير الشائعة مثل مثل Intel Galileo و NodeMCU من خلال تقديم BSP.

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

الخطوة 13: بيئة التطوير

بيئة التطوير
بيئة التطوير

بيئة تطوير Arduino هي Arduino IDE ، والتي يمكن تنزيلها من الإنترنت.

قم بتسجيل الدخول إلى الموقع الرسمي لـ Arduino وقم بتنزيل البرنامج https://www.arduino.cc/en/Main/Software؟setlang=c… بعد تثبيت Arduino IDE ، ستظهر الواجهة التالية عند فتح البرنامج:

ينشئ Arduino IDE وظيفتين افتراضيًا: وظيفة الإعداد ووظيفة الحلقة. هناك العديد من مقدمات Arduino على الإنترنت. إذا كنت لا تفهم شيئًا ما ، فيمكنك الانتقال إلى الإنترنت للعثور عليه.

الخطوة 14: عملية تنفيذ مشروع Arduino LCD

عملية تنفيذ مشروع Arduino LCD
عملية تنفيذ مشروع Arduino LCD

اتصال الأجهزة

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

تم استخدام أربع قطع فقط من الأجهزة في هذا المشروع:

1. مجلس التنمية اردوينو ميني برو

2. STONE STVI070WT-01 شاشة TFT-LCD

3. معدل ضربات القلب MAX30100 ومستشعر الأكسجين في الدم

4. MAX3232 (rs232-> TTL) يتم توصيل لوحة تطوير Arduino Mini Pro وشاشة العرض STVI070WT-01 TFT-LCD من خلال UART ، الأمر الذي يتطلب تحويل المستوى من خلال MAX3232 ، ثم يتم توصيل لوحة تطوير Arduino Mini Pro ووحدة MAX30100 من خلال واجهة IIC. بعد التفكير بوضوح ، يمكننا رسم صورة الأسلاك التالية:

الخطوة 15:

صورة
صورة

تأكد من عدم وجود أخطاء في اتصال الأجهزة وانتقل إلى الخطوة التالية.

الخطوة 16: تصميم واجهة مستخدم TFT LCD

شاشة TFT LCD واجهة المستخدم
شاشة TFT LCD واجهة المستخدم

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

افتح البرنامج STONE TOOL2019 وأنشئ مشروعًا جديدًا:

الخطوة 17: قم بإزالة الصورة التي تم تحميلها افتراضيًا في المشروع الجديد ، وأضف صورة واجهة المستخدم التي صممناها

قم بإزالة الصورة التي تم تحميلها افتراضيًا في المشروع الجديد ، وأضف صورة واجهة المستخدم التي صممناها
قم بإزالة الصورة التي تم تحميلها افتراضيًا في المشروع الجديد ، وأضف صورة واجهة المستخدم التي صممناها

الخطوة 18: أضف مكون عرض النص

أضف مكون عرض النص
أضف مكون عرض النص

أضف مكون عرض النص ، وصمم رقم العرض والفاصلة العشرية ، واحصل على موقع تخزين مكون عرض النص في جهاز العرض.

التأثير كما يلي:

الخطوة 19:

عنوان مكون عرض النص:

  • وحدة الاتصال: 0x0008
  • معدل ضربات القلب: 0x0001

أكسجين الدم: 0x0005 المحتويات الرئيسية لواجهة UI هي كما يلي:

  • حالة الإتصال
  • عرض معدل ضربات القلب
  • أظهر الأكسجين في الدم

الخطوة 20: إنشاء ملف التكوين

إنشاء ملف التكوين
إنشاء ملف التكوين

بمجرد اكتمال تصميم واجهة المستخدم ، يمكن إنشاء ملف التكوين وتنزيله على شاشة STVI070WT-01.

أولاً ، قم بتنفيذ الخطوة 1 ، ثم أدخل محرك أقراص فلاش USB في الكمبيوتر ، وسيتم عرض رمز القرص. ثم انقر فوق "تنزيل إلى u-disk" لتنزيل ملف التكوين على محرك أقراص فلاش USB ، ثم أدخل محرك أقراص فلاش USB في STVI070WT-01 لإكمال الترقية.

الخطوة 21: MAX30100

ماكس 30100
ماكس 30100

يتواصل MAX30100 عبر IIC. مبدأ عمله هو أنه يمكن الحصول على قيمة ADC لمعدل ضربات القلب من خلال الإشعاع بقيادة الأشعة تحت الحمراء ، ويمكن تقسيم سجل MAX30100 إلى خمس فئات: سجل الحالة ، و FIFO ، وسجل التحكم ، وسجل درجة الحرارة وسجل الهوية. يقرأ قيمة درجة حرارة الشريحة لتصحيح الانحراف الناتج عن درجة الحرارة ، ويمكن لسجل المعرف قراءة رقم معرف الشريحة.

يتم توصيل MAX30100 بلوحة تطوير Arduino Mini Pro من خلال واجهة اتصالات IIC. نظرًا لوجود ملفات مكتبة MAX30100 الجاهزة في Arduino IDE ، يمكننا قراءة بيانات معدل ضربات القلب وبيانات الأكسجين في الدم دون دراسة سجلات MAX30100.

الخطوة 22: قم بتعديل MAX30100 IIC Pull-up Resistor

قم بتعديل مقاومة السحب MAX30100 IIC
قم بتعديل مقاومة السحب MAX30100 IIC

وتجدر الإشارة إلى أن مقاومة السحب 4.7 كيلو لدبوس IIC لوحدة MAX30100 متصلة بـ 1.8 فولت ، وهي ليست مشكلة من الناحية النظرية. ومع ذلك ، فإن مستوى منطق الاتصال الخاص بدبوس Arduino IIC هو 5 فولت ، لذلك لا يمكن الاتصال بـ Arduino دون تغيير أجهزة الوحدة النمطية MAX30100 ، يكون الاتصال المباشر ممكنًا إذا كان MCU هو STM32 أو MCU أخرى ذات مستوى منطق 3.3 فولت.

لذلك ، يجب إجراء التغييرات التالية:

قم بإزالة المقاومات الثلاثة التي يبلغ حجمها 4.7 كيلو والمشار إليها في الصورة باستخدام مكواة لحام كهربائية ، ثم قم بلحام مقاومين مقاس 4.7 كيلو في دبابيس SDA و SCL إلى VIN ، حتى نتمكن من التواصل مع Arduino.

الخطوة 23: اردوينو

اردوينو
اردوينو

افتح Arduino IDE وابحث عن الأزرار التالية:

الخطوة 24: ابحث عن "MAX30100" للعثور على مكتبتين لـ MAX30100 ، ثم انقر فوق Download and Install

بحث عن
بحث عن

الخطوة 25: بعد التثبيت ، يمكنك العثور على العرض التوضيحي لـ MAX30100 في مجلد مكتبة LIB في Arduino:

بعد التثبيت ، يمكنك العثور على العرض التوضيحي لـ MAX30100 في مجلد مكتبة LIB في Arduino
بعد التثبيت ، يمكنك العثور على العرض التوضيحي لـ MAX30100 في مجلد مكتبة LIB في Arduino

الخطوة 26: انقر نقرًا مزدوجًا فوق الملف لفتحه

انقر نقرًا مزدوجًا فوق الملف لفتحه
انقر نقرًا مزدوجًا فوق الملف لفتحه

الخطوة 27: الكود الكامل كما يلي:

يمكن اختبار هذا العرض التوضيحي مباشرة. إذا كان اتصال الأجهزة على ما يرام ، فيمكنك تنزيل تجميع الكود في لوحة تطوير Arduibo والاطلاع على بيانات MAX30100 في أداة التصحيح التسلسلي.

الكود الكامل كما يلي:

/ * Arduino-MAX30100 مقياس التأكسج / مكتبة مستشعر معدل ضربات القلب المتكاملة حقوق الطبع والنشر (C) 2016 OXullo Intersecans هذا البرنامج هو برنامج مجاني: يمكنك إعادة توزيعه و / أو تعديله بموجب شروط رخصة جنو العمومية كما نشرتها مؤسسة البرمجيات الحرة ، إما الإصدار 3 من الترخيص ، أو (حسب اختيارك) أي إصدار لاحق. يتم توزيع هذا البرنامج على أمل أن يكون مفيدًا ، ولكن بدون أي ضمان ؛ حتى بدون الضمان الضمني لقابلية التسويق أو الملاءمة لغرض معين. انظر رخصة جنو العمومية لمزيد من التفاصيل. يجب أن تكون قد تلقيت نسخة من رخصة جنو العمومية مع هذا البرنامج. إذا لم يكن كذلك ، انظر. * / #include #include "MAX30100_PulseOximeter.h" #define REPORTING_PERIOD_MS 1000 // PulseOximeter هو واجهة المستوى الأعلى للمستشعر // يوفر: // * تقرير اكتشاف النبضات // * حساب معدل ضربات القلب // * SpO2 (مستوى الأكسدة) حساب جدري PulseOximeter ؛ uint32_t tsLastReport = 0 ؛ // Callback (المسجلة أدناه) التي تم إطلاقها عند اكتشاف نبضة باطلة onBeatDetected () {Serial.println ("Beat!")؛ } void setup () {Serial.begin (115200)؛ Serial.print ("تهيئة مقياس التأكسج النبضي..") ؛ // تهيئة مثيل PulseOximeter // عادةً ما تكون حالات الفشل ناتجة عن وجود أسلاك I2C غير صحيحة أو مصدر طاقة مفقود // أو شريحة هدف خاطئة إذا (! pox.begin ()) {Serial.println ("FAILED") ؛ ل(؛؛)؛ } else {Serial.println ("نجاح") ؛ } // التيار الافتراضي لـ IR LED هو 50mA ويمكن تغييره // بإلغاء التعليق على السطر التالي. تحقق من MAX30100_Registers.h لجميع // الخيارات المتاحة. // pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA) ، // تسجيل رد اتصال لجدري الكشف عن النبض.setOnBeatDetectedCallback (onBeatDetected) ؛ } void loop () {// تأكد من استدعاء التحديث بأسرع ما يمكن pox.update ()؛ // تفريغ معدل ضربات القلب ومستويات الأكسدة بشكل غير متزامن إلى المسلسل // بالنسبة لكليهما ، فإن القيمة 0 تعني "غير صالحة" إذا (millis () - tsLastReport> REPORTING_PERIOD_MS) {Serial.print ("معدل ضربات القلب:") ؛ Serial.print (pox.getHeartRate ()) ؛ Serial.print ("bpm / SpO2:") ؛ Serial.print (pox.getSpO2 ()) ؛ Serial.println ("٪") ؛ tsLastReport = ميليس () ، }}

الخطوة 28:

صورة
صورة

هذا الرمز بسيط للغاية ، وأعتقد أنه يمكنك فهمه في لمحة. يجب أن أقول إن البرمجة المعيارية لـ Arduino مريحة للغاية ، ولا أحتاج حتى إلى فهم كيفية تنفيذ رمز محرك Uart و IIC.

بالطبع ، الكود أعلاه هو عرض توضيحي رسمي ، وما زلت بحاجة إلى إجراء بعض التغييرات لعرض البيانات على جهاز عرض STONE.

الخطوة 29: عرض البيانات على جهاز عرض STONE من خلال Arduino

أولاً ، نحتاج إلى الحصول على عنوان المكون الذي يعرض بيانات معدل ضربات القلب وأكسجين الدم في جهاز عرض STONE:

في مشروعي ، يكون العنوان كما يلي: عنوان مكون عرض معدل ضربات القلب: 0x0001 عنوان وحدة عرض الأكسجين في الدم: 0x0005 عنوان حالة اتصال المستشعر: 0x0008 إذا كنت بحاجة إلى تغيير محتوى العرض في المساحة المقابلة ، يمكنك تغيير محتوى العرض عن طريق إرسال البيانات إلى العنوان المقابل لشاشة العرض من خلال المنفذ التسلسلي لاردوينو.

الخطوة 30: الكود المعدل على النحو التالي:

/ * Arduino-MAX30100 مقياس التأكسج / مكتبة مستشعر معدل ضربات القلب المتكاملة حقوق الطبع والنشر (C) 2016 OXullo Intersecans هذا البرنامج هو برنامج مجاني: يمكنك إعادة توزيعه و / أو تعديله بموجب شروط رخصة جنو العمومية كما نشرتها مؤسسة البرمجيات الحرة ، إما الإصدار 3 من الترخيص ، أو (حسب اختيارك) أي إصدار لاحق. يتم توزيع هذا البرنامج على أمل أن يكون مفيدًا ، ولكن بدون أي ضمان ؛ حتى بدون الضمان الضمني لقابلية التسويق أو الملاءمة لغرض معين. انظر رخصة جنو العمومية لمزيد من التفاصيل. يجب أن تكون قد تلقيت نسخة من رخصة جنو العمومية مع هذا البرنامج. إذا لم يكن كذلك ، انظر. * / #include #include "MAX30100_PulseOximeter.h" #define REPORTING_PERIOD_MS 1000 #define Heart_dis_addr 0x01 #define Sop2_dis_addr 0x05 #define connect_sta_addr 0x08 غير موقعة char heart_rate_sAend [8] = 0x00 0x00} ؛ إشارة غير موقعة Sop2_send [8] = {0xA5، 0x5A، 0x05، 0x82، 0x00، / Sop2_dis_addr، 0x00، 0x00} ؛ إشارة غير موقعة من نوع connect_sta_send [8] = {0xA5، 0x5A، 0x05، 0x82، 0x00، / connect_sta_addr، 0x00، 0x00} ؛ // PulseOximeter هو واجهة المستوى الأعلى للمستشعر // يقدم: // * تقرير الكشف عن النبض // * حساب معدل ضربات القلب // * SpO2 (مستوى الأكسدة) حساب PulseOximeter جدري ؛ uint32_t tsLastReport = 0 ؛ يتم تشغيل // رد الاتصال (المسجل أدناه) عند اكتشاف نبضة باطلة عندBeatDetected () {// Serial.println ("Beat!") ؛ } void setup () {Serial.begin (115200)؛ // Serial.print ("تهيئة مقياس التأكسج النبضي..") ؛ // تهيئة مثيل PulseOximeter // عادةً ما تكون حالات الفشل ناتجة عن وجود أسلاك I2C غير مناسبة أو مصدر طاقة مفقود // أو شريحة هدف خاطئة إذا (! pox.begin ()) {// Serial.println ("FAILED") ؛ // connect_sta_send [7] = 0x00 ؛ // Serial.write (connect_sta_send، 8) ؛ ل(؛؛)؛ } else {connect_sta_send [7] = 0x01 ؛ Serial.write (connect_sta_send، 8) ؛ // Serial.println ("نجاح") ؛ } // التيار الافتراضي لـ IR LED هو 50mA ويمكن تغييره // بإلغاء التعليق على السطر التالي. تحقق من MAX30100_Registers.h لجميع // الخيارات المتاحة.pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA) ، // تسجيل رد اتصال لجدري الكشف عن النبض.setOnBeatDetectedCallback (onBeatDetected) ؛ } void loop () {// تأكد من استدعاء التحديث بأسرع ما يمكن pox.update ()؛ // تفريغ معدل ضربات القلب ومستويات الأكسدة بشكل غير متزامن إلى المسلسل // بالنسبة لكليهما ، تعني القيمة 0 "غير صالحة" إذا (millis () - tsLastReport> REPORTING_PERIOD_MS) {// Serial.print ("معدل ضربات القلب:") ؛ // Serial.print (pox.getHeartRate ()) ؛ // Serial.print ("bpm / SpO2:") ؛ // Serial.print (pox.getSpO2 ()) ؛ // Serial.println ("٪") ؛ heart_rate_send [7] = (uint32_t) pox.getHeartRate () ؛ Serial.write (heart_rate_send، 8) ؛ Sop2_send [7] = pox.getSpO2 () ، Serial.write (Sop2_send ، 8) ؛ tsLastReport = ميليس () ، }}

الخطوة 31: عرض معدل ضربات القلب على شاشة LCD باستخدام Arduino

عرض معدل ضربات القلب على شاشة LCD مع Arduino
عرض معدل ضربات القلب على شاشة LCD مع Arduino

قم بتجميع الكود وتنزيله على لوحة تطوير Arduino ، وستكون جاهزًا لبدء الاختبار.

يمكننا أن نرى أنه عندما تغادر الأصابع MAX30100 ، فإن معدل ضربات القلب وعرض الأكسجين في الدم 0. ضع إصبعك على جامع MAX30100 لترى معدل ضربات القلب ومستويات الأكسجين في الدم في الوقت الفعلي.

يمكن رؤية التأثير في الصورة التالية:

موصى به: