فهرست مطالب:

نحوه نمایش ضربان قلب در LCD STONE با Ar: 31 مرحله
نحوه نمایش ضربان قلب در LCD STONE با Ar: 31 مرحله
Anonim
نحوه نمایش ضربان قلب در LCD STONE با Ar
نحوه نمایش ضربان قلب در LCD STONE با Ar

معرفی مختصر

چند وقت پیش ، ماژول سنسور ضربان قلب MAX30100 را در خرید آنلاین پیدا کردم. این ماژول می تواند اطلاعات اکسیژن خون و ضربان قلب کاربران را جمع آوری کند که استفاده از آنها نیز ساده و راحت است. با توجه به داده ها ، متوجه شدم که کتابخانه های MAX30100 در پرونده های کتابخانه آردوینو وجود دارد. به این معنا که اگر از ارتباط بین Arduino و MAX30100 استفاده کنم ، می توانم بدون نیاز به بازنویسی فایل های درایور ، مستقیماً با فایل های کتابخانه Arduino تماس بگیرم. این چیز خوبی است ، بنابراین ماژول MAX30100 را خریدم.

مرحله 1: تصمیم گرفتم از آردوینو برای تأیید ضربان قلب و عملکرد جمع آوری اکسیژن خون MAX30100 استفاده کنم

تصمیم گرفتم از آردوینو برای تأیید ضربان قلب و عملکرد جمع آوری اکسیژن خون MAX30100 استفاده کنم
تصمیم گرفتم از آردوینو برای تأیید ضربان قلب و عملکرد جمع آوری اکسیژن خون MAX30100 استفاده کنم

توجه: این ماژول به طور پیش فرض فقط دارای ارتباطات MCU سطح 3.3 ولت است ، زیرا به طور پیش فرض با استفاده از پین IIC مقاومت 4.7 تا 1.8 ولت را افزایش می دهد ، بنابراین اگر می خواهید با آردوینو ارتباط برقرار کنید ، به طور پیش فرض ارتباطی با آردوینو وجود ندارد. و نیاز به دو مقاومت 4.7 کیلوگرمی IIC کشویی با پین متصل به پین VIN دارید ، این محتویات در پشت فصل معرفی می شوند.

مرحله 2: تکالیف عملکردی

قبل از شروع این پروژه ، به چند ویژگی ساده فکر کردم:

  • داده های ضربان قلب و داده های اکسیژن خون جمع آوری شد
  • داده های ضربان قلب و اکسیژن خون از طریق صفحه LCD نمایش داده می شود

اینها تنها دو ویژگی هستند ، اما اگر می خواهیم آن را پیاده کنیم ، باید بیشتر فکر کنیم:

  • از چه MCU اصلی استفاده می شود؟
  • چه نوع نمایشگر LCD؟

همانطور که قبلاً ذکر شد ، ما از Arduino برای MCU استفاده می کنیم ، اما این یک پروژه نمایش Arduino LCD است ، بنابراین ما باید ماژول مناسب صفحه نمایش LCD را انتخاب کنیم. من قصد دارم از صفحه نمایش LCD با پورت سریال استفاده کنم. من یک صفحه نمایش STONE STVI070WT-01 در اینجا دارم ، اما اگر آردوینو نیاز به ارتباط با آن دارد ، MAX3232 برای انجام سطح تبدیل مورد نیاز است. سپس مواد اولیه الکترونیکی به شرح زیر تعیین می شود:

1. برد توسعه Arduino Mini Pro

2. ماژول ضربان قلب MAX30100 و سنسور اکسیژن خون

3. ماژول نمایش پورت سریال STONE STVI070WT-01 LCD

4. ماژول MAX3232

مرحله 3: معرفی سخت افزار

MAX30100

MAX30100 یک محلول سنسور پالس اکسیمتری و مانیتور ضربان قلب است. این دستگاه از دو LED ، یک آشکارساز نوری ، اپتیک بهینه و پردازش سیگنال آنالوگ کم سر و صدا برای تشخیص پالس اکسی متری و سیگنالهای ضربان قلب استفاده می کند.

MAX30100 از منبع تغذیه 1.8 ولت و 3.3 ولت کار می کند و می تواند از طریق نرم افزار با جریان آماده به کار ناچیز خاموش شود و این باعث می شود منبع تغذیه همیشه متصل باشد.

مرحله 4: برنامه ها

vices دستگاه های پوشیدنی

● دستگاه های تناسب اندام

دستگاه های نظارت پزشکی

مرحله 5: مزایا و ویژگی ها

1 ، اکسی متر سنج کامل و سنسور ضربان قلب طراحی را ساده می کند

  • LED های یکپارچه ، سنسور عکس و جلوی آنالوگ با عملکرد بالا -End
  • ریز 5.6 میلی متر x 2.8 میلی متر x 1.2 میلی متر 14 پین OpticallyEnhanced System-in-Package

2 ، عملکرد فوق العاده کم مصرف ، عمر باتری دستگاه های پوشیدنی را افزایش می دهد

  • میزان نمونه قابل برنامه ریزی و جریان LED برای صرفه جویی در مصرف برق
  • جریان خاموش شدن فوق العاده کم (0.7µA ، نوع)

3 ، عملکرد پیشرفته عملکرد اندازه گیری را بهبود می بخشد

  • SNR بالا ، انعطاف پذیری قوی مصنوعی را ارائه می دهد
  • لغو یکپارچه نور محیط
  • قابلیت نمونه گیری بالا
  • قابلیت خروجی سریع داده ها

مرحله 6: اصل تشخیص

اصل تشخیص
اصل تشخیص

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

اکسی متر سنجی (oximeter) یک مینی طیف سنج است که از اصول طیف های مختلف جذب سلول های قرمز برای تجزیه اشباع اکسیژن خون استفاده می کند. این روش اندازه گیری سریع و سریع نیز در بسیاری از مراجع بالینی به طور گسترده ای مورد استفاده قرار می گیرد. من MAX30100 را زیاد معرفی نمی کنم ، زیرا این مواد در اینترنت موجود است. دوستان علاقه مند می توانند اطلاعات این ماژول تست ضربان قلب را در اینترنت جستجو کرده و از اصل تشخیص آن مطلع شوند.

مرحله 7: STONE STVI070WT-01

STONE STVI070WT-01
STONE STVI070WT-01

آشنایی با نمایشگر

در این پروژه ، من از STONE STVI070WT-01 برای نمایش ضربان قلب و داده های اکسیژن خون استفاده خواهم کرد. تراشه درایور در داخل صفحه نمایش یکپارچه شده است و نرم افزاری برای استفاده کاربران وجود دارد. کاربران فقط باید دکمه ها ، کادرهای متنی و سایر منطق ها را از طریق تصاویر UI طراحی شده اضافه کنند ، و سپس فایل های پیکربندی ایجاد کرده و آنها را برای اجرا در صفحه نمایش بارگیری کنند. صفحه نمایش STVI070WT-01 از طریق سیگنال uart-rs232 با MCU ارتباط برقرار می کند ، به این معنی که ما باید یک تراشه MAX3232 برای تبدیل سیگنال RS232 به سیگنال TTL اضافه کنیم تا بتوانیم با Arduino MCU ارتباط برقرار کنیم.

مرحله 8: اگر از نحوه استفاده از MAX3232 مطمئن نیستید ، لطفاً به تصاویر زیر مراجعه کنید:

اگر از نحوه استفاده از MAX3232 مطمئن نیستید ، لطفاً به تصاویر زیر مراجعه کنید
اگر از نحوه استفاده از MAX3232 مطمئن نیستید ، لطفاً به تصاویر زیر مراجعه کنید

اگر فکر می کنید تبدیل سطح بسیار مشکل ساز است ، می توانید انواع دیگر نمایشگرهای STONE را انتخاب کنید که برخی از آنها مستقیماً سیگنال uart-ttl را خروجی می دهند.

وب سایت رسمی دارای اطلاعات دقیق و معرفی است:

مرحله 9: اگر برای استفاده به آموزش های تصویری و آموزش نیاز دارید ، می توانید آن را در وب سایت رسمی نیز پیدا کنید

اگر برای استفاده به آموزش های تصویری و آموزش نیاز دارید ، می توانید آن را در وب سایت رسمی نیز پیدا کنید
اگر برای استفاده به آموزش های تصویری و آموزش نیاز دارید ، می توانید آن را در وب سایت رسمی نیز پیدا کنید

مرحله 10: مراحل توسعه

سه مرحله از توسعه صفحه نمایش STONE:

  • منطق نمایش و منطق دکمه را با نرم افزار STONE TOOL طراحی کنید و فایل طراحی را در ماژول نمایشگر بارگیری کنید.
  • MCU از طریق پورت سریال با ماژول صفحه نمایش STONE LCD ارتباط برقرار می کند.
  • با داده های به دست آمده در مرحله 2 ، MCU اقدامات دیگری را انجام می دهد.

مرحله 11: نصب نرم افزار STONE TOOL

نصب نرم افزار STONE TOOL
نصب نرم افزار STONE TOOL

آخرین نسخه نرم افزار STONE TOOL (در حال حاضر TOOL2019) را از وب سایت بارگیری کرده و نصب کنید.

پس از نصب نرم افزار ، رابط زیر باز می شود:

برای ایجاد یک پروژه جدید ، روی دکمه "پرونده" در گوشه بالا سمت چپ کلیک کنید ، که بعداً در مورد آن صحبت خواهیم کرد.

مرحله 12: آردوینو

آردوینو یک پلت فرم نمونه اولیه الکترونیکی منبع باز است که استفاده از آن آسان و آسان است. این شامل بخش سخت افزاری (تابلوهای مختلف توسعه مطابق با مشخصات آردوینو) و بخش نرم افزاری (Arduino IDE و کیت های توسعه مرتبط) می باشد.

قسمت سخت افزاری (یا برد توسعه) شامل میکروکنترلر (MCU) ، حافظه فلش (Flash) و مجموعه ای از رابط های ورودی/خروجی جهانی (GPIO) است که می توانید آنها را به عنوان مادربرد میکرو کامپیوتر در نظر بگیرید. بخش نرم افزاری عمدتا شامل Arduino IDE بر روی رایانه ، بسته پشتیبانی سطح (BSP) و کتابخانه غنی از عملکرد شخص ثالث است. با Arduino IDE ، می توانید BSP مربوط به برد توسعه خود و کتابخانه های مورد نیاز را به راحتی بارگیری کنید برای نوشتن برنامه های خود آردوینو یک پلتفرم منبع باز است. تا کنون ، بسیاری از مدلها و کنترلرهای مشتق شده ، از جمله Arduino Uno ، Arduino Nano ، ArduinoYun و غیره وجود داشته است. علاوه بر این ، Arduino IDE اکنون نه تنها از بردهای توسعه سری Arduino پشتیبانی می کند ، بلکه از تخته های توسعه محبوب نیز پشتیبانی می کند. به عنوان Intel Galileo و NodeMCU با معرفی BSP.

آردوینو محیط را از طریق انواع حسگرها ، چراغ ها ، موتورها و سایر دستگاه ها برای تغذیه و تأثیر بر محیط حس می کند. میکروکنترلر روی برد را می توان با یک زبان برنامه نویسی آردوینو برنامه ریزی کرد ، به صورت دوتایی جمع آوری کرد و در میکروکنترلر سوزاند. برای آردوینو با زبان برنامه نویسی آردوینو (بر اساس سیم کشی) و محیط توسعه آردوینو (بر اساس پردازش) پیاده سازی می شود. پروژه های مبتنی بر آردوینو می توانند فقط شامل آردوینو و همچنین آردوینو و سایر نرم افزارهای رایانه ای باشند که با هر یک از آنها ارتباط برقرار می کنند. دیگر (مانند فلش ، پردازش ، MaxMSP).

مرحله 13: محیط توسعه

محیط توسعه
محیط توسعه

محیط توسعه آردوینو Arduino IDE است که می توانید آن را از اینترنت بارگیری کنید.

وارد وب سایت رسمی آردوینو شوید و نرم افزار را دانلود کنید https://www.arduino.cc/fa/Main/Software؟setlang=c… پس از نصب Arduino IDE ، هنگام بازکردن نرم افزار رابط زیر ظاهر می شود:

Arduino IDE به طور پیش فرض دو تابع ایجاد می کند: تابع راه اندازی و تابع حلقه. معرفی های زیادی از آردوینو در اینترنت وجود دارد. اگر چیزی را متوجه نشده اید ، می توانید برای پیدا کردن آن به اینترنت بروید.

مرحله 14: فرآیند پیاده سازی پروژه Arduino LCD

فرایند پیاده سازی پروژه Arduino LCD
فرایند پیاده سازی پروژه Arduino LCD

اتصال سخت افزاری

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

فقط چهار قطعه سخت افزار در این پروژه استفاده شد:

1. برد توسعه Arduino Mini pro

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: طراحی رابط کاربری LCD TFT

طراحی رابط کاربری LCD TFT
طراحی رابط کاربری LCD TFT

اول از همه ، ما باید یک تصویر صفحه نمایش UI طراحی کنیم ، که می تواند توسط PhotoShop یا سایر ابزارهای طراحی تصویر طراحی شود. پس از طراحی تصویر صفحه نمایش UI ، تصویر را با فرمت-j.webp

نرم افزار STONE TOOL2019 را باز کرده و یک پروژه جدید ایجاد کنید:

مرحله 17: تصویری را که به طور پیش فرض در پروژه جدید بارگیری شده بود حذف کنید و تصویر UI را که طراحی کرده ایم اضافه کنید

تصویری را که به طور پیش فرض در پروژه جدید بارگذاری شده بود حذف کنید و تصویر UI را که طراحی کرده ایم اضافه کنید
تصویری را که به طور پیش فرض در پروژه جدید بارگذاری شده بود حذف کنید و تصویر UI را که طراحی کرده ایم اضافه کنید

مرحله 18: جزء نمایش متن را اضافه کنید

کامپوننت نمایش متن را اضافه کنید
کامپوننت نمایش متن را اضافه کنید

م componentلفه نمایش متن را اضافه کنید ، رقم نمایشگر و نقطه اعشار را طراحی کنید ، محل ذخیره مولفه نمایش متن را در نمایشگر بدست آورید.

اثر به شرح زیر است:

مرحله 19:

آدرس جزء نمایش متن:

  • محل اتصال: 0x0008
  • ضربان قلب: 0x0001

اکسیژن خون: 0x0005 محتویات اصلی رابط کاربری به شرح زیر است:

  • وضعیت اتصال
  • نمایش ضربان قلب
  • اکسیژن خون نشان داد

مرحله 20: ایجاد فایل پیکربندی

ایجاد فایل پیکربندی
ایجاد فایل پیکربندی

پس از تکمیل طراحی رابط کاربری ، فایل پیکربندی را می توان تولید و در صفحه نمایش STVI070WT-01 بارگیری کرد.

ابتدا مرحله 1 را انجام دهید ، سپس درایو فلش usb را در رایانه وارد کنید ، نماد دیسک نمایش داده می شود. سپس روی "بارگیری در دیسک u" کلیک کنید تا فایل پیکربندی را در درایو فلش USB بارگیری کنید ، و سپس درایو فلش usb را در STVI070WT-01 وارد کنید تا ارتقاء کامل شود.

مرحله 21: MAX30100

MAX30100
MAX30100

MAX30100 از طریق IIC ارتباط برقرار می کند. اصل کار آن این است که مقدار ضربان قلب ADC را می توان از طریق اشعه مادون قرمز به دست آورد. ثبت MAX30100 را می توان به پنج دسته تقسیم کرد: ثبت نام حالت ، FIFO ، ثبت کنترل ، ثبت دما و ثبت شناسه. مقدار دمای تراشه را برای اصلاح انحراف ناشی از دما می خواند. ثبت شناسه می تواند شماره شناسه تراشه را بخواند.

MAX30100 از طریق رابط ارتباطی IIC با برد توسعه Arduino Mini Pro متصل است. از آنجا که فایلهای کتابخانه MAX30100 آماده در Arduino IDE وجود دارد ، ما می توانیم ضربان قلب و اطلاعات اکسیژن خون را بدون مطالعه رجیسترهای MAX30100 بخوانیم. برای کسانی که علاقه مند به کشف ثبت MAX30100 هستند ، به برگه اطلاعات MAX30100 مراجعه کنید.

مرحله 22: مقاومت MAX30100 IIC Pull-up Resistor را اصلاح کنید

مقاومت کششی MAX30100 IIC را اصلاح کنید
مقاومت کششی MAX30100 IIC را اصلاح کنید

لازم به ذکر است که مقاومت 4.7k پین IIC ماژول MAX30100 به 1.8v متصل است که از لحاظ تئوری مشکلی ندارد. با این حال ، سطح منطق ارتباطی پین Arduino IIC 5V است ، بنابراین نمی تواند بدون تغییر سخت افزار ماژول MAX30100 با Arduino ارتباط برقرار کند. اگر MCU STM32 یا MCU منطقی سطح 3.3v دیگر باشد ، ارتباط مستقیم امکان پذیر است.

بنابراین ، تغییرات زیر باید انجام شود:

سه مقاومت 4.7k مشخص شده در تصویر را با آهن لحیم کاری بردارید. سپس دو مقاومت 4.7k را در پایه های SDA و SCL به VIN جوش دهید تا بتوانیم با آردوینو ارتباط برقرار کنیم.

مرحله 23: آردوینو

آردوینو
آردوینو

Arduino IDE را باز کرده و دکمه های زیر را بیابید:

مرحله 24: "MAX30100" را برای یافتن دو کتابخانه برای MAX30100 جستجو کنید ، سپس روی بارگیری و نصب کلیک کنید

جستجو کنید
جستجو کنید

مرحله 25: پس از نصب ، می توانید نسخه نمایشی MAX30100 را در پوشه کتابخانه LIB آردوینو پیدا کنید:

پس از نصب ، می توانید نسخه نمایشی MAX30100 را در پوشه کتابخانه LIB آردوینو پیدا کنید
پس از نصب ، می توانید نسخه نمایشی MAX30100 را در پوشه کتابخانه LIB آردوینو پیدا کنید

مرحله 26: روی File دوبار کلیک کنید تا باز شود

روی File دوبار کلیک کنید تا باز شود
روی File دوبار کلیک کنید تا باز شود

مرحله 27: کد کامل به شرح زیر است:

این نسخه ی نمایشی را می توان به طور مستقیم آزمایش کرد. اگر اتصال سخت افزاری خوب است ، می توانید مجموعه کد را در برد توسعه Arduibo بارگیری کرده و داده های MAX30100 را در ابزار اشکال زدایی سریال مشاهده کنید.

کد کامل به شرح زیر است:

/* Arduino-MAX30100 oximetry /ضربان قلب کتابخانه حسگر یکپارچه سنسور حق چاپ (C) 2016 OXullo Intersecans این برنامه یک نرم افزار رایگان است: می توانید آن را مجدداً توزیع کرده و یا تحت شرایط مجوز عمومی عمومی GNU که توسط بنیاد نرم افزار آزاد منتشر شده است تغییر دهید. ، یا نسخه 3 مجوز ، یا (به دلخواه شما) هر نسخه بعدی. این برنامه به امید مفید بودن توزیع می شود ، اما بدون هیچ گونه گارانتی. حتی بدون ضمانت ضمنی مبادله یا تناسب برای یک هدف خاص. برای اطلاعات بیشتر به مجوز عمومی GNU مراجعه کنید. شما باید یک نسخه از مجوز عمومی GNU را به همراه این برنامه دریافت کرده باشید. اگر نه ، ببینید. */ #شامل #شامل "MAX30100_PulseOximeter.h" #تعریف REPORTING_PERIOD_MS 1000 // PulseOximeter رابط سطح بالاتر سنسور است // ارائه می دهد: // * گزارش تشخیص ضربان // * محاسبه ضربان قلب // * SpO2 (سطح اکسیداسیون) محاسبه PulseOximeter pox؛ uint32_t tsLastReport = 0؛ // تماس با ما (در زیر ثبت شده است) هنگامی که یک نبض خالی در onBeatDetected () تشخیص داده می شود () {Serial.println ("ضرب و شتم!")؛ } void setup () {Serial.begin (115200)؛ Serial.print ("راه اندازی پالس اکسیمتر..") ؛ // نمونه اولیه PulseOximeter را راه اندازی کنید // خرابی ها عموماً به دلیل سیم کشی نامناسب I2C ، از دست رفتن منبع تغذیه // یا تراشه هدف اشتباه در صورتی است که (! pox.begin ()) {Serial.println ("FAILED") ؛ برای(؛؛)؛ } else {Serial.println ("موفقیت")؛ } // جریان پیش فرض برای LED IR 50 میلی آمپر است و می توان آن را تغییر داد // بدون اظهار نظر در خط زیر. MAX30100_Registers.h را برای همه // گزینه های موجود بررسی کنید. // pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA) ؛ // ثبت تماس برای ضرب و شتم pox.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 = millis ()؛ }}

مرحله 28:

تصویر
تصویر

این کد بسیار ساده است ، من معتقدم که می توانید آن را در یک نگاه درک کنید. باید بگویم که برنامه نویسی ماژولار آردوینو بسیار راحت است و حتی نیازی به درک نحوه اجرای کد درایور Uart و IIC ندارم.

البته کد بالا یک نسخه نمایشی رسمی است و من هنوز نیاز به انجام برخی تغییرات برای نمایش داده ها در نمایشگر STONE دارم.

مرحله 29: نمایش داده ها به STONE Displayer از طریق آردوینو

اول ، ما باید آدرس م theلفه ای را که ضربان قلب و اکسیژن خون را در نمایشگر STONE نمایش می دهد دریافت کنیم:

در پروژه من ، آدرس به شرح زیر است: آدرس جزء نمایش ضربان قلب: 0x0001 آدرس ماژول نمایش اکسیژن خون: 0x0005 آدرس وضعیت اتصال سنسور: 0x0008 در صورت نیاز به تغییر محتوای صفحه نمایش در فضای مربوطه ، می توانید محتوای صفحه نمایش را تغییر دهید با ارسال داده ها به آدرس مربوطه صفحه نمایش از طریق پورت سریال آردوینو.

مرحله 30: کد اصلاح شده به شرح زیر است:

/* Arduino-MAX30100 oximetry /ضربان قلب کتابخانه سنسور یکپارچه سنسور حق چاپ (C) 2016 OXullo Intersecans این برنامه یک نرم افزار رایگان است: می توانید آن را مجدداً توزیع کرده و یا تحت شرایط مجوز عمومی عمومی GNU که توسط بنیاد نرم افزار آزاد منتشر شده است تغییر دهید. ، یا نسخه 3 مجوز ، یا (به دلخواه شما) هر نسخه بعدی. این برنامه به امید مفید بودن توزیع می شود ، اما بدون هیچ گونه گارانتی. حتی بدون ضمانت ضمنی مبادله یا تناسب برای یک هدف خاص. برای اطلاعات بیشتر به مجوز عمومی GNU مراجعه کنید. شما باید یک نسخه از مجوز عمومی GNU را به همراه این برنامه دریافت کرده باشید. اگر نه ، ببینید. * / # شامل # شامل "MAX30100_PulseOximeter.h" # تعریف REPORTING_PERIOD_MS 1000 # تعریف Heart_dis_addr 0x01 موجود # تعریف Sop2_dis_addr 0x05 # تعریف connect_sta_addr 0x08 بدون علامت کاراکتر heart_rate_send [8] = {0xA5، 0x5A، 0x05، 0x82، / مقدار 0x00، Heart_dis_addr، مقدار 0x00، 0x00} ؛ char بدون امضا Sop2_send [8] = {0xA5 ، 0x5A ، 0x05 ، 0x82 ، 0x00 ، / Sop2_dis_addr ، 0x00 ، 0x00} ؛ char بدون امضا connect_sta_send [8] = {0xA5 ، 0x5A ، 0x05 ، 0x82 ، 0x00 ، / connect_sta_addr ، 0x00 ، 0x00} ؛ // PulseOximeter رابط سطح بالاتر سنسور است // ارائه می دهد: // * گزارش تشخیص ضربان // * محاسبه ضربان قلب // * محاسبه SpO2 (سطح اکسیداسیون) PulseOximeter pox؛ uint32_t tsLastReport = 0 ؛ // تماس با ما (در زیر ثبت شده است) هنگامی که یک نبض خالی تشخیص داده می شود شلیک می شود onBeatDetected () {// Serial.println ("ضرب و شتم!") ؛ } 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 ("موفقیت") ؛ } // جریان پیش فرض برای LED IR 50mA است و می توان آن را تغییر داد // با کامنت نگذاشتن خط زیر. MAX30100_Registers.h را برای همه // گزینه های موجود بررسی کنید.pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA) ؛ // ثبت تماس برای ضرب و شتم pox.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 = millis ()؛ }}

مرحله 31: نمایش ضربان قلب روی LCD با آردوینو

نمایش ضربان قلب روی LCD با آردوینو
نمایش ضربان قلب روی LCD با آردوینو

کد را کامپایل کنید ، آن را در برد توسعه Arduino بارگیری کنید ، و آماده شروع آزمایش هستید.

ما می توانیم ببینیم که وقتی انگشتان MAX30100 را ترک می کنند ، ضربان قلب و اکسیژن خون 0 نشان داده می شود. انگشت خود را روی جمع کننده MAX30100 قرار دهید تا ضربان قلب و میزان اکسیژن خون را در زمان واقعی مشاهده کنید.

تأثیر آن را می توانید در تصویر زیر مشاهده کنید:

توصیه شده: