آردوینو پروژه های آردوینو

آموزش کامل راه اندازی ماژول ضربان قلب AD8232 با کیت ECG آردوینو

egc-heart-sensor-ad8232-arduino-project-and-lcd-digispark
نوشته شده توسط پریسا پوربلورچیان

اندازه گیری پارامترهای بیومتریک با ترکیبی از آردوینو و برنامه نویسی یکی از جذاب ترین پروژه های الکترونیکی قابل اجرا است. در آموزش کیت ecg آردوینو کیت کامل ضربان قلب ECG با ماژول AD8232 را بررسی و تحلیل خواهیم کرد. در ادامه با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

ماژول ضربان قلب AD8232 - دیجی اسپارک


ماژول ضربان قلب AD8232


ماژول ECG AD8232 یک ماژول مبتنی بر آی سی AD8232 است که برای اندازه‌گیری سیگنال‌های الکتروکاردیوگرافی (ECG) استفاده می‌شود. ECG سیگنال‌های الکتریکی تولید شده توسط عضله قلب را ضبط می‌کند و می‌تواند اطلاعات مهمی درباره عملکرد قلب و احتمال وقوع برخی مشکلات قلبی را ارائه دهد.ماژول AD8232 شامل یک آمپلی‌فایر نشانه‌گیری (instrumentation amplifier) است که به‌طور خاص برای تقویت و فیلتر کردن سیگنال‌های ECG طراحی شده است. این ماژول برای تراشه AD8232 شرکت Analog Devices توسعه داده شده است.

این ماژول از آمپلی‌فایر با نویز کم و دامنه پهنای باند بالا استفاده می‌کند تا سیگنال‌های ECG را با دقت تقویت کند.ماژول دارای فیلترهای گذر‌بالا و گذر‌پایین است که برای حذف نویزهای متداول در سیگنال‌های ECG استفاده می‌شوند و فقط اجازه می‌دهند تا سیگنال قلبی مورد نظر را از آن عبور دهند.ماژول دارای خروجی آنالوگ است که می‌توانید از آن برای خواندن سیگنال‌های ECG از طریق میکروکنترلر یا سایر سیستم‌ها استفاده کنید. ماژول AD8232 مصرف انرژی کمی دارد و برای استفاده در سیستم‌های پرباتری مناسب است.ماژول AD8232 دارای ویژگی‌هایی است که از تداخل‌های الکترومغناطیسی و نویزهای محیطی محافظت می‌کند، به طوری که سیگنال‌های ECG با کیفیت و دقت بالا دریافت می‌شوند.این ماژول از یک رابط ساده برای اتصال الکترودها به قسمت‌های مناسب برای اندازه‌گیری ECG استفاده می‌کند. همچنین دارای پیش‌تقویت‌کننده داخلی می‌باشد که به شما امکان می‌دهد از الکترودهای استاندارد ECG استفاده کنید.با توجه به اندازه کوچک و سبک ماژول AD8232، آن را می‌توان به راحتی در پروژه‌های الکترونیکی مختلفی از جمله دستگاه‌های پزشکی قابل استفاده قرار داد.به طور کلی، ماژول ECG AD8232 یک راه‌حل مناسب برای اندازه‌گیری سیگنال‌های ECG با دقت و کیفیت بالا است. با استفاده از این ماژول، می‌توانید به راحتی از سیگنال‌های قلبی برای بررسی و تحلیل عملکرد قلب و تشخیص مشکلات قلبی استفاده کنید.

کیت کامل ضربان قلب با تراشه AD8232 دارای برد AD8232، دارای کابل ECG, دارای سه پد سنسور بیومدیکال است. ماژول AD8232 به صورت تک منظوره همراه با جک ۳٫۵ میلی متری برای اتصال کابل ecg است. ماژول AD8232 قابلیت اندازه گیری ضربان قلب Heart Rate است. ولتاژ کاری ماژول AD8232 برابر با ۳٫۳ ولت DC است و با تمامی بردهای میکروکنترلر که دارای ورودی ولتاژ ۳٫۳ ولتاژ هستند، قابلیت تست و راه اندازی دارد. توسط این ماژول و الکترودیود های موجود در پکیج میتوانید توسط کابل های ECG ضربان قلب را اندازه گیری کنید. توسط کابل های ECG که با علامت های چپ LEFT , راست RIGHT بر روی آن مشخص است در دو طرف نواحی بدن قرار گرفته شده و کابل COM را میتوانید بر روی زانوی سمت راست و یا پهلوی سمت راست قرار دهید.

 


مشخصات فنی AD8232 ECG


  • ولتاژ تغذیه: ۳٫۳ ولت تا ۵ ولت DC.
  • ولتاژ خروجی: خروجی آنالوگ با ولتاژ بین ۰ تا ۳٫۳ ولت (معادل ولتاژ تغذیه).
  • رنج فرکانسی: ۰٫۰۵ هرتز تا ۱۵۰ هرتز.
  • نویز ورودی مشترک: کمتر از ۵۰ میکرو ولت (در فرکانس ۶۰ هرتز).
  • تقویت: تقویت قابل تنظیم در محدوده ۱ تا ۱۰۰۰ برابر.
  • رابط خروجی: خروجی آنالوگ برای اتصال به میکروکنترلر یا سایر سیستم‌ها.
  • توان مصرفی: مصرف انرژی بسیار پایین، حدود ۱۷۰ میکرو آمپر در حالت عملیاتی.
  • رابط الکترود: دارای سه پایه برای اتصال الکترودها.
  • حمایت از الکترودهای فوق‌آسانسور (Right Leg Drive): برای حذف تداخل نویزهای مشترک.
  • ابعاد: حدودا ۱۵٫۵ میلیمتر × ۲۰ میلیمتر.
  • سازگاری: قابل استفاده در پروژه‌های الکترونیکی و دستگاه‌های پزشکی.

 

پدهای ماژول ضربان قلب AD8232 - دیجی اسپارک

 


عملکرد کاری ماژول ضربان قلب AD8232 ECG


ماژول ECG AD8232 برای اندازه‌گیری سیگنال‌های الکتروکاردیوگرافی (ECG) استفاده می‌شود. عملکرد اصلی این ماژول در تقویت و فیلتر کردن سیگنال‌های ECG می‌باشد تا سیگنال قلبی دقیق و قابل تحلیلی به دست آید. ماژول AD8232 دارای آمپلی‌فایر نشانه‌گیری (instrumentation amplifier) است که سیگنال‌های ECG را با دقت تقویت می‌کند. این تقویت، سیگنال را به حدی افزایش می‌دهد که بتواند توسط سیستم‌های الکترونیکی قابل خواندن و تحلیل شود.ماژول AD8232 دارای فیلترهای گذر‌بالا و گذر‌پایین است. فیلتر گذر‌بالا، نویزهای با فرکانس پایین را حذف کرده و فیلتر گذر‌پایین نویزهای با فرکانس بالا را حذف می‌کند. این فیلترها اجازه می‌دهند تا فقط سیگنال قلبی مورد نظر را به‌دست آورده و سایر نویزها را از بین ببرند. ماژول AD8232 دارای ویژگی‌هایی است که از تداخل‌های الکترومغناطیسی و نویزهای محیطی محافظت می‌کند. ماژول AD8232 دارای خروجی آنالوگ است که می‌توانید از آن برای خواندن سیگنال‌های ECG استفاده کنید. ماژول AD8232 دارای سه پایه برای اتصال الکترودها است. الکترودها به بخش‌های مختلف بدن متصل می‌شوند تا سیگنال‌های الکتریکی تولید شده توسط عضله قلب را دریافت کنند.

کیت ecg آردوینو توسط تغذیه ۳٫۳ ولت ولتاژ کافی برای راه اندازی آن تامین می‌شود. توسط سه پد الکترود و ورودی جک ۳٫۵ میلی متری بر روی ماژول توسط مجموعه ای از سیم ها اتصال انجام داده می‌شود. سه حسگر در بازوی سمت راست، سمت چپ و پای راست مطابق طرح و رنگ نشان داده شده در تصویر است. دیتای دریافت شده از طریق پدهای الکترود به عنوان یک سیگنال آنالوگ در پین OUTPUT ماژول AD8232 نمایش داده می‌شوند. این سیگنال آنالوگ را می توان در پین ورودی آنالوگ میکروکنترلر برای پردازش بیشتر یا تجسم بصورت نمودار استفاده کرد. پایه های LO- و LO+ به پین های ورودی دیجیتالی میکروکنترلر متصل هستند تا بررسی کنند که آیا یک سنسور وصل است یا خیر. همچنین پایه ی SDN به پین خروجی دیجیتال میکروکنترلر متصل است تا حالت کم مصرف ماژول AD8232 را فعال کند. برای استفاده از کیت ECG به دو روش میتوان اقدام کرد. منظور از لید Lead این است که از چه زاویه ای به قلب نگاه می‌کنیم. در کیت ECG تغییر ولتاژ شناسایی می‌شود و بسته به اینکه اختلاف پتانسیل بین کدام دو نقطه را چک می‌کنیم، جهت نگاه به قلب فرق خواهد کرد.

 


عملکرد پدهای ECG AD8232


پدهای ECG AD8232 یک نرم‌افزار برای تفسیر سیگنال‌های الکتروکاردیوگرافی (ECG) را فراهم می‌کنند. این پدها توسط شرکت Analog Devices تولید شده‌اند و برای اندازه‌گیری سیگنال‌های ECG در اپلیکیشن‌های پزشکی و پزشکی الکترونیکی مورد استفاده قرار می‌گیرند. : AD8232 توانایی اندازه‌گیری سیگنال‌های الکتروکاردیوگرافی (ECG) را دارد. این سیگنال‌ها نشان‌دهنده فعالیت برقی قلب هستند و اطلاعات مهمی در مورد عملکرد قلب ارائه می‌دهند.AD8232 دارای قابلیت‌های پیش‌پردازش سیگنال است که به بهبود کیفیت سیگنال و حذف نویزهای محیطی کمک می‌کند. این پیش‌پردازش شامل فیلترهای باندپاس و تقویت سیگنال می‌شود.این پدها قادر به تشخیص نقاط QRS در سیگنال ECG هستند. نقاط QRS نشان‌دهنده تغییرات بزرگ و سریع در سیگنال ECG هستند که به تعیین ضربان قلب و تجزیه و تحلیل سیگنال کمک می‌کنند. AD8232 می‌تواند داده‌های سیگنال ECG را به دستگاه‌های خارجی یا میکروکنترلرها ارسال کند تا برای نمایش یا ذخیره‌سازی اطلاعات مورد استفاده قرار گیرد. این پدها به عنوان یک ابزار مهم در تجزیه و تحلیل سیگنال‌های ECG در تحقیقات پزشکی، مانیتورینگ بیماران، و دیگر اپلیکیشن‌های مرتبط با سیستم عصبی و عضلانی انسان مورد استفاده قرار می‌گیرند.

محل اتصال پدهای ضربان قلب AD8232 - دیجی اسپارک

  • Red: RA (Right Arm)
  • Yellow: LA (Left Arm)
  • Green: RL (Right Leg)
  1.  رنگ قرمز که با RA مشخص شده است، مربوط به دست راست است.
  2. رنگ زرد که با LA مشخص شده است، مربوط به دست چپ است.
  3. رنگ سبز که با RL مشخص شده است، مربوط به پای راست است.

 از ECG برای اندازه گیری ضربان قلب، بررسی ریتم ضربان قلب و دیگر شرایط ضربان قلب استفاده می‌شود. نوار قلب ECG برای کمک به تشخیص حملات قلبی ، عملکرد ضربان ساز و نارسایی قلبی استفاده می شود. توسط موج مربعی ایجاد شده میتوانیم ضربان قلب را آنالیز کنیم. برای اتصال پدها به بدن، از حروف RA,LA, RL استفاده شده است که به ترتیب بر روی دست راست، دست چپ و پای راست قرار میگیرد. در تصویری که مربوط به بدن انسان است، دو روش برای اتصال پدها به بدن درج شده است که با رعایت قطب مثبت و منفی میتوانید اتصال را انجام دهید. پدها دارای روکش چسبی است. برای اتصال به بدن ابتدا روکش های چسبی را جدا کرده و سپس بر روی بدن خود قرار دهید.

سیگنال ECG ماژول ضربان قلب - دیجی اسپارک

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

نحوه خواندن سیگنال ECG ماژول ضربان قلب - دیجی اسپارک

 قلب انسان دارای چهار حفره در دو قسمت است شامل دهلیز و بطن. دهلیز و بطن ها مستقلا منبسط و منقبض می‌شوند. در موج P نمودار قسمتی است که دهلیزها منقبض می‌شوند. در QRS بطن ها منقبض می‌شوند و چون بزرگ هستند یک موج بلند ایجاد می‌کنند که در نمودار مشخص شده است. در موج P فعالیت الکتریکی دهلیزها نمایش داده شده و حد فاصله ابتدای QRS تا انتهای T فعالیت موج بطن ها را شناسایی می‌کنیم. ارتباط داشتن این موج ها با یکدیگر بسیار مهم است. اگر قبل از هر موج QRS یک موج P داشته باشیم به این معنی است که قلب ضربان منظمی دارد و اگر قبل از موج QRS موج P نداشته باشیم به معنی نامنظم بودن ضربان قلب خواهد بود. به عبارتی موج P نشان دهنده ی عملکرد الکتریکی دهلیزها است و موج QRS شروع عملکرد الکتریکی بطن و موج T پایان آن را نمایش میدهد.

 


ماژول ضربان قلب AD8232


پروژه با ماژول ضربان قلب AD8232 - دیجی اسپارک

ماژول ضربان قلب AD8232 مقرون به صرفه با در نظر گرفتن اجرای پروژه های بیومتریک مهندسی پزشکی و ترکیب آن با آردوینو و سایر بردهای امبدد طراحی شده است. از این سنسور برای اندازه گیری فعالیت الکتریکی قلب و کنترل شرایط قلب و الکترودیاگرام استفاده کرد.

 

اتصالات ماژول ضربان قلب AD8232 به بردهای آردوینو - دیجی اسپارک

روش کار با ماژول ضربان قلب AD8232 و آردوینو - دیجی اسپارک


روش اتصال AD8232 به آردوینو ARDUINO


برای اتصال ماژول AD8232 به آردوینو شش پایه روی برد را لحیم کاری کرده و طبق جدول زیر به آردوینو متصل کنید.

کد نویسی ماژول ضربان قلب AD8232 با آردوینو - دیجی اسپارک


کدنویسی ضربان قلب با آردوینو 


برای کدنویسی سنسور ضربان قلب با آردوینو از برد آردوینو UNO استفاده می‌کنیم. طبق جدول بالا اتصالات را انجام دهید. برای اتصال سنسور به برد آردوینو از دو پایه های LO –  و LO + استفاده می‌کنیم. توسط این پایه ها سیگنال آنالوگ فیلتر شده و در خروجی دیتای فعالیت قلب را نمایش میدهد.

  • LO- = Lead is Off – Left Arm
  • LO+ = Lead is Off – Right Arm

 برای فراخوانی این دو پایه از دستورات برنامه نویسی PinMode برای تعریف کردن پایه های ورودی استفاده می‌کنیم.

محدودیت در دسترسی کامل به این مجموعه آموزش

 

دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندس‌های دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید.

از سریال مانیتور برای نمایش دیتای دریافتی از سنسور استفاده می‌کنیم. بادریت را به صورت پیشفرض بر روی ۹۶۰۰ تنظیم می‌کنیم. سپس دیتای دریافتی از پایه ی A0 را با دستورات سریال دریافت و مشاهده می‌کنیم. روش دیگر استفاده از ارتباط سریال، استفاده از سریال پلاتر است.


نمونه کد راه اندازی AD8232 با آردوینو با استفاده از کتابخانه AD8232


در ادامه یک کد کامل برای راه اندازی سنسور ECG AD8232 نوشته شده است. قبل از بارگذاری این کد بر روی برد آردوینو خود، مطمئن شوید که کتابخانه AD8232 را در محیط توسعه آردوینو خود نصب کرده‌اید. شما می‌توانید با رفتن به “Sketch” -> “Include Library” -> “Manage Libraries” و جستجوی “AD8232” در مدیریت کتابخانه‌ها، این کتابخانه را نصب کنید.این کد در تابع setup() ماژول AD8232 را مقداردهی اولیه می‌کند و در تابع loop() به طور پیوسته مقادیر ECG را خوانده و وقتی داده ECG در دسترس است، مقدار آن را در مانیتور سریال با سرعت انتقال ۹۶۰۰ بیت بر ثانیه چاپ می‌کند.

#include <AD8232.h>

// ایجاد نمونه‌ای از کتابخانه AD8232
AD8232 ad8232;

void setup() {
Serial.begin(9600);

// مقداردهی اولیه ماژول AD8232
ad8232.begin();
}

void loop() {
// بررسی می‌کنیم که آیا داده‌های ECG در دسترس هستند
if (ad8232.available()) {
// خواندن مقادیر ECG
int ecgValue = ad8232.getECG();

// چاپ مقدار ECG در مانیتور سریال
Serial.println(ecgValue);
}
}


نمونه کد راه اندازی AD8232 با آردوینو با استفاده از فانکشن MAP


در این کد، تابع map() برای تغییر مقیاس مقادیر ECG از محدوده ورودی (ECG_MIN تا ECG_MAX) به محدوده مقصد (OUTPUT_MIN تا OUTPUT_MAX) استفاده می‌شود. تابع map() با گرفتن مقدار ورودی، محدوده ورودی و محدوده مقصد به عنوان ورودی، مقدار مقیاس‌داده شده متناظر را برمی‌گرداند. مقادیر ECG_MIN، ECG_MAX، OUTPUT_MIN و OUTPUT_MAX را بر اساس نیازهای خاص خود تنظیم کنید.

#include <AD8232.h>

// ایجاد نمونه‌ای از کتابخانه AD8232
AD8232 ad8232;

// تعریف محدوده ورودی برای مقادیر ECG
const int ECG_MIN = 0;    // حداقل مقدار ECG
const int ECG_MAX = 1023; // حداکثر مقدار ECG

// تعریف محدوده مقصد برای مقیاس‌دادن
const int OUTPUT_MIN = 0;    // حداقل مقدار مقیاس‌داده شده
const int OUTPUT_MAX = 255;  // حداکثر مقدار مقیاس‌داده شده

void setup() {
Serial.begin(9600);

// مقداردهی اولیه ماژول AD8232
ad8232.begin();
}

void loop() {
// بررسی می‌کنیم که آیا داده‌های ECG در دسترس هستند
if (ad8232.available()) {
// خواندن مقادیر ECG
int ecgValue = ad8232.getECG();

// مقیاس‌دادن مقدار ECG به محدوده مقصد
int mappedValue = map(ecgValue, ECG_MIN, ECG_MAX, OUTPUT_MIN, OUTPUT_MAX);

// چاپ مقدار مقیاس‌داده شده در مانیتور سریال
Serial.println(mappedValue);
}
}


استفاده از نمایشگر برای ضربان قلب


برای نمایش دیتای دریافتی از سنسور ضربان قلب AD8232 از نمایشگر ال سی دی کاراکتری استفاده می‌کنیم. نمایشگر ال سی دی کاراکتری انتخابی ارزان و اتصالات با کابل و ساده است. طبق جدول زیر اتصالات ال سی دی کاراکتری به آردوینو را انجام دهید.

اتصالات lcd کاراکتری به آردوینو - دیجی اسپارک


کد آردوینو یا ال سی دی کاراکتری


کد نویسی پروژه ضربان قلب AD8232 با برد آردوینو - دیجی اسپارک

در این پروژه از ال سی دی کاراکتری ۲*۱۶ برای نمایش دیتای دریافتی از سنسور ضربان قلب استفاده می‌کنیم. روش کدنویسی بدین صورت است. در ابتدا برای ارتباط با ال سی دی به کتابخانه Liquidcrystal نیاز داریم. کتابخانه را از مسیر Arduino / Tools / Manage Libraries نصب و دانلود کنید.

نصب کتابخانه های مورد نیاز پروژه ضربان فلب آردوینو - دیجی اسپارک

#include <LiquidCrystal.h>

پایه های ال سی دی کاراکتری از چپ به راست به صورت زیر است:

  • VSS = زمین  GND
  • VCC = تغذیه ۵ ولت
  • (VO (Display Contrast Pin = تنظیم شدت نور صفحه
  • (RS (Register Select = انتخاب رجیستر
  • (RW (Read/Write = پایه Read و Write
  • E = پایه Enable
  • D0 – D7 = پایه های دیتا
  • A = پایه Anode
  • K = پایه Cathode

برای اتصال پایه‌های ال سی دی LCD به پایه های دیجیتال Digital آردوینو، توجه به یک نکته اهمیت دارد. هر یک از پایه‌هایی که انتخاب می‌کنید باید در کد برنامه معرفی شود. به عنوان مثال اگر از پایه‌های ۱۲,۱۱,۵,۴,۳,۲ آردوینو استفاده می‌کنید، باید به صورت زیر در کد آردوینو تعریف شود:

const int rs = 12, en = 13, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

با توجه به اینکه عده ای از کاربران پس از انجام اتصالات و آپلود برنامه با کادرهای مربعی در ال سی دی مواجه شده اند، جهت برطرف شدن مشکل نیاز به اتصال مقاومت به پایه V0 داریم.  جهت تنظیم شدت نور صفحه یا همان کنتراست از پایه V0 در ال سی دی استفاده می‌شود. برای اتصال پایه V0 به برد آردوینو به یک مقاومت ۱۰ کیلو نیاز داریم. یک سر مقاومت را به پایه V0 وصل کرده و به GND برد آردوینو اتصال دهید. سر دیگر مقاومت ۱۰ کیلو بدون اتصال باشد.پیشنهاد می‌شود.

قبل از شروع نوشتن کدهای ال سی دی نیاز به معرفی ال سی دی LCD و مشخص کردن ابعاد مورد استفاده دارید. از اینرو سطر Begin اهمیت خاصی دارد. دستور معرفی ال سی دی همانند زیر است. cols جهت مشخص کردن تعداد ستون و row برای مشخص کردن تعداد سطر می‌باشد.

lcd.begin(16, 2);

توسط تابع clear صفحه نمایش ال سی دی پاک شده و به صورت زیر در کد تعریف می‌شود. پس از تابع begin نیاز به تعریف تابع clear خواهیم داشت. تابع clear به صورت زیر در برنامه فراخوانی می‌شود.

lcd.clear(); // توسط این دستور به صورت پیشفرض صفحه نمایش پاک میشود

توسط تابع setcursor یک موقعیت خاص در ال سی دی برای مکان نما انتخاب می‌کنیم. سپس در تابع سطر row و ستون cols مورد نظر را وارد می‌کنیم. تابع cursor به صورت زیر در برنامه فراخوانی می‌شود.

 lcd.setCursor(0, 0); // انتخاب مکان نما

از تابع print برای نمایش کاراکتر در ال سی دی LCD اسنفاده می‌شود. تابع print به صورت زیر در برنامه فراخوانی می‌شود.

  lcd.print(analogRead(A0));

عددهای خروجی سنسور ضربان فلب AD8232 ECG - دیجی اسپارک


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


در این کد، ماژول AD8232 به پین آنالوگ A0 آردوینو متصل شده است. LCD با استفاده از رابط I2C، با پین‌های SDA و SCL به پین‌های متناظر آردوینو متصل شده است.این کد در تابع setup() ماژول AD8232 و ماژول LCD را مقداردهی اولیه می‌کند. در LCD، برچسب “ECG:” در خط اول نمایش داده می‌شود. در تابع loop()، کد به صورت مداوم مقدار ECG را از ماژول AD8232 می‌خواند و خط دوم LCD را با مقدار جدید به روز می‌کند.
#include <AD8232.h>
#include <LiquidCrystal_I2C.h>
// پین‌های AD8232
#define AD8232_ECG_PIN A0
// پین‌های LCD
#define LCD_ADDRESS 0x27
#define LCD_COLS 16
#define LCD_ROWS 2
// ایجاد نمونه‌ای از کتابخانه AD8232
AD8232 ad8232(AD8232_ECG_PIN);
// ایجاد نمونه‌ای از کتابخانه LiquidCrystal_I2C
LiquidCrystal_I2C lcd(LCD_ADDRESS, LCD_COLS, LCD_ROWS);
void setup() {
  // مقداردهی اولیه ماژول AD8232
  ad8232.begin();
  // مقداردهی اولیه ماژول LCD
  lcd.begin(LCD_COLS, LCD_ROWS);
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print(“ECG:”);
}
void loop() {
  // بررسی می‌کنیم که آیا داده‌های ECG در دسترس هستند
  if (ad8232.available()) {
    // خواندن مقدار ECG
    int ecgValue = ad8232.getECG();
    // پاک کردن خط دوم LCD
    lcd.setCursor(0, 1);
    lcd.print(”          “);
    // چاپ مقدار ECG در LCD
    lcd.setCursor(5, 1);
    lcd.print(ecgValue);
  }
}

آموزش کیت ضربان فلب آردوینو - دیجی اسپارک


وسایل مورد نیاز


برد آردوینو Arduino

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

نمایشگر ال سی دی کاراکتری

کابل 

برد بورد

اقلام کیت ضربان قلب ECG آردوینو - دیجی اسپارک

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

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

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

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۱۵ دیدگاه

  • سلام خوب هستید خسته نباشید
    این سیگنالی که دریافت کردید اشتباه هست اگر ممکنه ی نگاهی دباره بیندازید ممنونم

    • با سلام
      ecg صحیح است و وابسته به دیتای دریافتی از سنسور است که بین ۴۰۰ تا ۸۰۰ بایستی متغیر باشد. در تست انجام شده برای بنده عدد دریافتی ۷۰۰ بوده است و موج دریافتی ثابت شده است.
      این کد در تمامی آموزش های منتشر شده برای این سنسور یکسان است و ایرادی در کد برنامه وجود ندارد.
      جهت دریافت مانیتور دقیق پیشنهاد می‌شود از پروسسینگ استفاده کنید.

  • سلام

    بنده همه اتصالات را درست انجام دادم ولی وقتی لیدها را به بدن میچسبانم و برنامه را روی برد ران میکنم روی ال سی دی اعداد مدام تغییر میکنند و بالا و پایین میشوند
    از ۱۵۰ تا ۶۰۰ و عددی ثابت نشان نمیدهد

    مشکل از کجاس؟

    • با سلام دقت داشته باشید برای ماژول های بیومتریک که وابسته به فرکانس هستند، نیاز به فیلتر بالاگذر در مدار هستیم. اما این ماژول فقط برای تست است و نمیتوانید دیتای فوق دقیق از آن دریافت کنید.
      جهت بهبود دیتا پیشنهاد می‌شود، تغذیه را به صورت جداگانه بدون استفاده از کابل usb تامین کنید تا نویز در مدار کاهش یابد. همچنین بادریت را بیشتر از ۹۶۰۰ قرار دهید تا سرعت انتقال دیتا بیشتر باشد.

  • سلام
    وقتتون بخیر
    من سیگنالی که دریافت میکنم درست نیست
    اعداد که روی lcd نشان داده میشود از ۱۵۰ تا ۵۰۰ مدام تغییر میکند
    مشکل از کجا هست؟
    راهنمایی کنید لطفا

    • با سلام دقت داشته باشید برای ماژول های بیومتریک که وابسته به فرکانس هستند، نیاز به فیلتر بالاگذر در مدار هستیم. اما این ماژول فقط برای تست است و نمیتوانید دیتای فوق دقیق از آن دریافت کنید.
      جهت بهبود دیتا پیشنهاد می‌شود، تغذیه را به صورت جداگانه بدون استفاده از کابل usb تامین کنید تا نویز در مدار کاهش یابد. همچنین بادریت را بیشتر از ۹۶۰۰ قرار دهید تا سرعت انتقال دیتا بیشتر باشد.

    • با سلام دقت داشته باشید برای ماژول های بیومتریک که وابسته به فرکانس هستند، نیاز به فیلتر بالاگذر در مدار هستیم. اما این ماژول فقط برای تست است و نمیتوانید دیتای فوق دقیق از آن دریافت کنید.
      جهت بهبود دیتا پیشنهاد می‌شود، تغذیه را به صورت جداگانه بدون استفاده از کابل usb تامین کنید تا نویز در مدار کاهش یابد. همچنین بادریت را بیشتر از ۹۶۰۰ قرار دهید تا سرعت انتقال دیتا بیشتر باشد.

    • با سلام
      کاربر گرامی ورودی این ماژول به صورت آنالوگ است و اگر از میکروکنترلری استفاده می‌کنید که امکان استفاده از ۱۰ پایه آنالوگ را دارد، محدودیتی ندارد.

      • سلام وقتتون بخیر عذر می خوام من دانشجوی مهندسی پزشکی هستم برای پروژه کارشناسیم می خواستم دستگاه قند خون درست کنم اما کد اردوینو مربوط به دستگاه رو پیدا نمی کنم .ممنون می شم اگه راهنماییم کنید

        • با سلام
          این مورد توسط بنده تست نشده است و ماژولی برای این مورد در حال حاضر نمیشناسم.