آموزش راه اندازی ماژول سنسور ضربان قلب با آردوینو

فهرست مطالب

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

این ماژول برای کاربردهای آموزشی و سرگرمی طراحی شده است و برای تشخیص موج پالس قلبی عروقی از طریق سر انگشت به کار می‌رود. برای انتقال دیتا نیز از پراب (PPG (HRM-2511E استفاده می‌کند. تکنولوژی تشخیص این سنسور نور مادون قرمز می‌باشد. هر گونه تغییر در مقدار خون باعث تغییر در شدت سیگنال نور مادون قرمز انتقالی می‌شود.
این ماژول دارای دو خروجی آنالوگ و دیجیتال بوده و یک LED نیز برای خروجی دیجیتال دارد. توسط سیگنال آنالوگ می‌توانید تغییرات ضربان را به صورت دقیق‌تری مشاهده کنید. 

از جمله ویژگی‌های این ماژول عبارت اند از:

  • دارای پتانسیومتر جهت کنترل بهره برای خروجی آنالوگ
  • دارای کنترل پهنای باند برای خروجی دیجیتال
  • قابلیت راه‌اندازی در ولتاژهای 3.3 و 5 ولت

معرفی پایه های (Pinout) ماژول سنسور ضربان قلب

این ماژول دارای 6 پایه به شرح زیر می‌باشد:

  • VCC: ولتاژ تغذیه
  • GND: زمین
  • EN: پایه فعالسازی- برای فعالسازی، این پایه را به VCC وصل می‌کنیم.
  • D0: خروجی دیجیتال
  • A0: ورودی آنالوگ
  • PROBE: ورودی پراب

پین اوت (Pinout) این ماژول را می‌توانید در تصویر زیر مشاهده کنید.

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

قطعات مورد نیاز

آردوینو UNO R3 × 1
ماژول سنسور ضربان قلب × 1
سیم جامپر نری-مادگی × 1

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

آردوینو IDE

راه اندازی ماژول سنسور ضربان قلب با آردوینو

گام اول: سیم بندی

مطابق شکل زیر ماژول را به آردوینو و سنسور انگشت وصل کنید.

گام دوم: کد

ابتدا کد زیر را روی آردوینو خود آپلود کنید.

  /*
  Heart-rate-Sensor
  made on 02 Feb 2021
  by Amir Mohammad Shojaee @ Electropeak
  
Home
*/ int pulse = 2; int current_ms = 0; int inter_num = 0; int last_ms; int x; int heart_per_min; int arr[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; void setup() { Serial.begin(9600); pinMode(pulse, INPUT); attachInterrupt(0, pulse_num, RISING ); last_ms = millis(); } void loop() { if (arr[0] != 0) { Serial.print("heart_per_min: "); Serial.println(heart_per_min); heart_per_min=0; } Serial.println("wait "); delay(10000); } void pulse_num() { inter_num++; if (inter_num == 9) { inter_num = 0; } float sum = 0.00; current_ms = millis(); x = current_ms - last_ms; last_ms = millis(); for (int i = 0; i < 9; i++) { arr[i] = arr[i + 1]; } arr[9] = x; for (int i = 0; i < 10; i++) { sum += arr[i]; } sum = sum / 10.00; heart_per_min = (60000.00)/sum; }

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

خروجی کد به شکل زیر است:

آموزش های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد.