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

فهرست مطالب

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

با استفاده از سنسور نبض و ضربان قلب Heart Rate Pulse Sensor می توان نبض را اندازه گیری کرد و برخی از پارامترهای مرتبط با آن، مثل آریتمی قلبی را سنجید (آریتمی قلبی (به انگلیسی: Cardiac Arrhythmia) به معنی غیرطبیعی بودن ریتم قلب است). با تماس این سنسور به هر ناحیه از پوست که به رگ ها نزدیک تر است (مانند انگشت یا نرمه گوش)، سنسور، وجود خون در رگ ها را بررسی می کند. هر بار که قلب می تپد، خون در رگ ها پمپ می شود و سنسور، جاری شدن خون را تشخیص می دهد و مقدار ولتاژ خروجی آن افزایش می یابد.

نکته

خروجی سنسور ضربان قلب، ولتاژی آنالوگ است که مقدار آن با میزان خون موجود در رگ ها و مویرگ ها رابطه ی مستقیم دارد.

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

ماژول سنسور ضربان قلب دارای 3 پایه به شرح زیر است:

  • +: تغذیه ماژول – 5 ولت
  • : زمین
  • S: خروجی

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

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

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

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

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

آردوینو IDE

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

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

مطابق مدار زیر، سنسور را به آردوینو وصل کنید.

نکته

برای بهبود عملکرد سنسور، آن را مطابق شکل زیر در یک کمربند مشکی قرار دهید.

گام دوم: نصب کتابخانه

به Library manager رفته و کتابخانه سنسور ضربان قلب را را نصب کنید.

گام سوم: کد

کد زیر را روی برد آردوینو آپلود کنید. پس از آپلود کد، پنجره ی Serial Plotter را باز کنید.

 /*
  PulseSensor Sensor
  
Home
Based on Library Example */ /* PulseSensor Starter Project and Signal Tester The Best Way to Get Started With, or See the Raw Signal of, your PulseSensor.comâ„¢ & Arduino. Here is a link to the tutorial https://pulsesensor.com/pages/code-and-guide WATCH ME (Tutorial Video): https://www.youtube.com/watch?v=RbB8NSRa5X4 ------------------------------------------------------------- 1) This shows a live human Heartbeat Pulse. 2) Live visualization in Arduino's Cool "Serial Plotter". 3) Blink an LED on each Heartbeat. 4) This is the direct Pulse Sensor's Signal. 5) A great first-step in troubleshooting your circuit and connections. 6) "Human-readable" code that is newbie friendly." */ // Variables int PulseSensorPurplePin = A0; // Pulse Sensor PURPLE WIRE connected to ANALOG PIN 0 int LED13 = 13; // The on-board Arduion LED int Signal; // holds the incoming raw data. Signal value can range from 0-1024 int Threshold = 550; // Determine which Signal to "count as a beat", and which to ingore. // The SetUp Function: void setup() { pinMode(LED13, OUTPUT); // pin that will blink to your heartbeat! Serial.begin(9600); // Set's up Serial Communication at certain speed. } // The Main Loop Function void loop() { Signal = analogRead(PulseSensorPurplePin); // Read the PulseSensor's value. // Assign this value to the "Signal" variable. Serial.println(Signal); // Send the Signal value to Serial Plotter. if (Signal > Threshold) { // If the signal is above "550", then "turn-on" Arduino's on-Board LED. digitalWrite(LED13, HIGH); } else { digitalWrite(LED13, LOW); // Else, the sigal must be below "550", so "turn-off" this LED. } delay(10); }

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

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

Comments (8)

  • حسین Reply

    عالی برای من کار کرد خیلی هم دقیق و خوب بود

    مارس 15, 2021 at 10:55 ق.ظ
    • مهران ملکی Reply

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

      مارس 15, 2021 at 2:03 ب.ظ
  • J_niknam Reply

    سلام و عرض ادب . خیلی ممنون . اگه میشه کدش رو توضیح بدین. اون شرط if و trshhold که در کد هست منظورش چیه ؟ اگه من بخوام نبض رو به صورت عددی در نمایشگر نمایش بدم ، همون عددی که در سریال پلاتر داره رسم میشه ، به عنوان نبض هست در حقیقت ؟

    آوریل 27, 2021 at 3:52 ب.ظ
    • مهران ملکی Reply

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

      می 1, 2021 at 8:56 ق.ظ
  • محمد Reply

    سلام وقت بخیر
    موقعی ک انگشتم رو روی سنسور قرار میدادم تشخیص نمیده در صورتی که در نرم افزار پروتئوس کار میکنه
    چندین بار تست کردم ولی فایده نداشت!

    آگوست 14, 2022 at 10:25 ب.ظ
    • مهران ملکی Reply

      سلام.
      احتمالا یا سیم‌بندی به طور درست انجام نشده و یا مشکل از خود ماژول هست.

      سپتامبر 12, 2022 at 10:06 ب.ظ
  • ملی Reply

    سلام وقت بخیر
    سنسور به کار رفته در این ماژول دقیقا چه نوع سنسوری هست؟

    دسامبر 20, 2022 at 2:58 ب.ظ
    • علی عبدالملکی Reply

      سلام وقت شما هم بخیر
      این ماژول از متد PPG یا حجم سنجی نوری استفاده میکند برای اندازه گیری ضربان در واقع شبیه پالس اکسی متر که با ارسال یه پالس نوری و سپس دریافت آن یه سری آنالیز ها انجام میشود که در این میان ضربان قلب قابل اندازه گیری است
      برای اطلاعات تکمیلی تر میتونید لینک زیر رو مطالعه کنید
      https://www.electroschematics.com/heart-rate-sensor/

      فوریه 27, 2023 at 3:53 ب.ظ

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

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