مانیتور ضربان قلب و درصد اشباع اکسیژن خون با MAX30100 و ESP8266/ESP32

Electronics and Programming tutorials and projects

مانیتور ضربان قلب و درصد اشباع اکسیژن خون با MAX30100 و ESP8266/ESP32

wifi ecg oximeter

این پروژه پروژه مانیتور ضربان قلب و میزان درصد اشباع اکسیژن در خون (SPO2) را با استفاده از اختلاف مابین پالس دریافتی از نور قرمز و مادون قرمز محاسبه می کند و در رابط کاربری از طریق وای فای و مروگر تلفن همراه یا کامپیوتر نمایش می دهد.

داده خام خروجی از ماژول MAX30100 شامل شدت بازتاب نور قرمز و مادون قرمزی است که با استفاده از ADC داخلی ماژول سنجیده شده است.

بروژه هم به صورت اکسیمتر ESP8266 و هم به صورت اکسیمتر ESP32 موجود می باشد.

پروژه شامل فلدری است به نام ESP8266WiFiOximeter (سورس کد آردوینو) که شامل 5 فایل زیر می باشد:

1-    UNOPulseOximeter.ino – برنامه اصلی
2-    I2C.ino – برنامه انتقال داده
3-    I2C.h – هدر فایل برنامه انتقال داده
4-    MAX30100.ino – برنامه محاسبات ماژول اکسیژن سنج
5-    MAX30100.h – هدر فایل اکسیژن سنج
6-    AC.ino – فایل اتصال اتوماتیک به وایفای
7-    AC.h – هدرفایل اتصال وایفای
8-    MonitoringPage.ino – فایل رابط کاربری

راهنمای راه اندازی

برای استفاده، ابتدا فایل اصلی را با استفاده از نرم افزار Arduino باز کنید و تنظیمات مربوط به ماژول ESP12 را انجام دهید (قسمت های Board, CPU Frequency و Flash Frequency)
 
بعد از اعمال تنظیمات بالا، ماژول را در حالت دانلود قرار دهید و برنامه را آپلود کنید.

بعد از آپلود برنامه، ماژول را در حالت اجرای برنامه راه اندازی کنید.
ابتدا LED آبی رنگ روی ماژول (ESP12) به مدت 1 ثانیه روشن می¬شود، بعد از چند ثانیه نیز هات اسپات ماژول با نام پیش فرض WiCardOs در وایفای موبایل ویا کامپیوتر قابل مشاهده خواهد بود.
برای اتصال از پسورد پیش فرض 12345678 استفاده نمایید، سپس با مرورگر به آدرس 192.168.4.1/config بروید.

قسمت Modem Configuration برای مشاهده وضعیت اتصال و وارد کردن تنظیمات اتصال به مودم (SSID,PASSWORD) است. بعد از کلیک برروی Save اطلاعات بر روی حافظه دائم ماژول ذخیره خواهند شد و در صورت درستی اطلاعات، حدودا بعد از 30 ثانیه متصل خواهد شد.

برای تنظیم مجدد ویا وضعیت اتصال میتوانید به همین لینک مراجعه کنید، یا از طریق آی پی دریافتی از مودم، بدون اتصال مستقیم به هات اسپات ماژول اقدام نمایید.
در زیر بخش تنظیمات مودم، بخش Device Hot Spot Configuration قرار دارد.

قسمت Secure Link برای افزودن امنیت اتصال به کار می رود، به این صورت که اگر حروف ABCD را در آن ذخیره کنید، بعد از راه اندازی مجدد ماژول، صفحه اصلی به لینک 192.168.4.1/ABCD/ و صفحه تنظیمات به لینک 192.168.4.1/ABCD/config منتقل خواهد شد.

دکمه Hidden HotSpot هات اسپات ماژول را در وضعیت مخفی قرار خواهد داد و دکمه Disable HotSpot when is connected to the modem، در صورتی که ماژول به مودم متصل شود، هات اسپات داخلی آن را غیر فعال خواهد کرد.

مانیتور ضربان قلب

این صفحه در آدرس روت 192.168.4.1 و در آدرسی که مودم به ماژول داده قرار دارد

مانیتور ضربان قلب

نمودار بالایی مربوط به ضربان قلب و نمودار آبی رنگ مربوط به درصد اشباع اکسیژن در خون می باشد. این درصد به طور طبیعی روی 97 قرار دارد.

نمودار زرد رنگ دمای نوک انگشت را نشان می دهد که اگر عددی مابین 32 تا 35 باشد، مقادیر دقیق تری دریافت خواهید کرد.

نمودار بالای CARDIOGRAPH RESET گراف ضربان قلب را در 40 ثانیه اول اتصال نمایش می دهد. برای ذخیره روی آن راست کلیک کنید و گزینه Save Image As را بزنید.دکمه CARDIOGRAPH RESET نمودار را پاک میکند تا مجدد ترسیم شود.

•    برای جلوگیری از ایجاد اختلال در اندازه گیری، سعی کنید از ورود نور های محیطی به محدوده ماژول اکسیژن سنج تا جایی که امکان دارد جلوگیری کنید. به عنوان مثال قرار دادن انگشت روی ماژول داخل گیره با محفظه مخصوص.
•    این پروژه استفاده پزشکی ندارد. بنابراین برای بیماران استفاده نکنید.

نقشه شماتیک

نقشه شماتیک این پروژه به صورت زیر است:

شماتیک مانیتور ضربان قلب

خطاها در لاگ

درحین کار ممکن است خطاهایی نیز در قسمت “serial monitor” نرم افزار آردوینو دریافت کنید. اگر خطای مربوط به I2C یا MAX30100 ID دریافت کردید، به این معنی است که سیم کشی و اتصالات به درستی انجام نشده است.در صورتی که خطای e2 را دریافت کردید، یعنی انگشت منطقه روی سنسور نوری را پوشش نمی دهد.

مشاهده خطای e3 تا حدودی طبیعی است. هنگامی که این خطا بیش از حد زیاد بود، یعنی انگشت به خوبی روی سنسور قرار نگرفته و یا نور های محیطی در روند کار پالس اکسیمتر اختلال ایجاد می کند.

راهنمای برنامه نویسی مانیتور ضربان قلب

برای ایجاد تغییراتی دلخواه مانند بالا بردن سرعت پردازنده، نیاز است تغییراتی در تغییر زمان بندی ضبط و پخش انجام دهید.

در فایل AC.h با حذف #define LOG_ENABLE  لاگ ها در UART نمایش داده نمی¬شوند و مقداری از حافظه نیز آزاد خواهد شد و تا حدودی سرعت پردازش بالاتر خواهد رفت.

در فایل MAX30100.h با استفاده از آنلاگ کردن #define MAX30100_TEST_MODE  دستگاه در حالت تست روشن میشود و در سریال مانیتور مقدار بازتاب ال ای دی قرمز و مادون قرمز را نشان می دهد. در صورتی که مقادیر اختلافی بیش از 3000 واحد داشتند، با استفاده از خط زیر، مقدار آمپر ال ای دی ها را می توانید کم یا زیاد کنید:
#define LED_CONFIG_VAL     RED_LED_11_MA|IR_LED_33_MA

برای رگلاژ مقادیر اکسیژن و ضربان، در صورت مغایرت با پالس اکسیمتر استاندارد، می توانید مقادیر دو خط زیر را نیز تغییر دهید:

#define OXIMETER_REGULATED_VALUE    115 //between 110-120
#define HEART_RATE_GRAPH_REGULATION 1   //1 or 2

•    از منبع تغذیه استاندارد حداقل 2 آمپری با ولتاژ 3.3 ولت استفاده کنید.
•    ولتاژ ورودی تمامی پین های ورودی و تغذیه حداکثر 3.3 ولت است.
•    ولتاژ بالاتر به ماژول آسیب خواهد رساند.
•    قدرت وایفای، در سرعت نمایش دیاگرام موثر است.
•    درصورتی که مهارت برنامه نویسی لازم را ندارید، در سورس کد و تنظیمات تغییرات اعمال نکنید.
•    شیوه قرار دادن انگشت روی چشمی ماژول MAX30100 در دقت و کیفیت نمودار ها تاثیر بسزایی دارد.

پروژه را از طریق بخش زیر می توانید دریافت نمایید:

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

چهار × پنج =