ویژگی های ماژول سنسور ضربان قلب
با استفاده از سنسور نبض و ضربان قلب Heart Rate Pulse Sensor می توان نبض را اندازه گیری کرد و برخی از پارامترهای مرتبط با آن، مثل آریتمی قلبی را سنجید (آریتمی قلبی (به انگلیسی: Cardiac Arrhythmia) به معنی غیرطبیعی بودن ریتم قلب است). با تماس این سنسور به هر ناحیه از پوست که به رگ ها نزدیک تر است (مانند انگشت یا نرمه گوش)، سنسور، وجود خون در رگ ها را بررسی می کند. هر بار که قلب می تپد، خون در رگ ها پمپ می شود و سنسور، جاری شدن خون را تشخیص می دهد و مقدار ولتاژ خروجی آن افزایش می یابد.
نکته
خروجی سنسور ضربان قلب، ولتاژی آنالوگ است که مقدار آن با میزان خون موجود در رگ ها و مویرگ ها رابطه ی مستقیم دارد.
معرفی پایه ها (Pinout) ماژول سنسور ضربان قلب
ماژول سنسور ضربان قلب دارای 3 پایه به شرح زیر است:
- +: تغذیه ماژول – 5 ولت
- –: زمین
- S: خروجی
پین اوت (Pinout) این ماژول را می توانید در تصویر زیر مشاهده کنید.
لوازمی که به آن احتیاج دارید
قطعات مورد نیاز
نرم افزارهای مورد نیاز
راه اندازی ماژول سنسور ضربان قلب با آردوینو
گام اول: سیم بندی
مطابق مدار زیر، سنسور را به آردوینو وصل کنید.
نکته
برای بهبود عملکرد سنسور، آن را مطابق شکل زیر در یک کمربند مشکی قرار دهید.
گام دوم: نصب کتابخانه
به 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)
عالی برای من کار کرد خیلی هم دقیق و خوب بود
سلام دوست عزیز. بسیار عالی، خوشحالیم که کمک کننده بوده.
سلام و عرض ادب . خیلی ممنون . اگه میشه کدش رو توضیح بدین. اون شرط if و trshhold که در کد هست منظورش چیه ؟ اگه من بخوام نبض رو به صورت عددی در نمایشگر نمایش بدم ، همون عددی که در سریال پلاتر داره رسم میشه ، به عنوان نبض هست در حقیقت ؟
سلام.
برای اینکه کد رو بهتر متوجه بشید ابتدا بهتره در مورد خروجی سنسور صحبت بشه. این سنسور یک خروجی آنالوگ داره که این خروجی آنالوگ متناسب با حجم خون عبور کننده از نبض هست. یعنی خود عدد این خروجی آنالوگ، عدد نبض نیست و صرفا نشون دهنده این هست که به صورت کیفی که حجمی از خون از نبض عبور کرده. پس در واقع اگر شما این سنسور رو استفاده کنید و خروجی این سنسور رو روی سریال مانیتور، اسیلوسکوپ و یا هر وسیله دیگه نمایش سیگنال مشاهده کنید، یک سیگنال آنالوگ مشاهده میکنید که قلههاش نشون دهنده زده شدن نبض هست. حالا برای بدست آوردن نبض شما میتونید خودتون خروجی رو به نحوی دیجیتال کنید. به این شکل که قلهی سیگنال رو مشاهده کنید و بر اساس اون یک trshhold تعریف کنید و در این صورت با هر بار مقایسه خروجی سیگنال با trshhold میتونید متوجه بشید که نبض زده شده یا خیر. برای بدست آوردن تعداد نبض در دقیقه هم میتونید مثلا در 10 ثانیه تعداد بارهایی که خروجی سیگنالتون از trshhold بیشتر میشه رو بشمارید و با اسکیل کردن اون عدد به 60 ثانیه، نبض بر دقیقه رو محاسبه کنید.
کاربرد اون trshhold و if در کد هم همین هست که با مقایسه خروجی سنسور و عدد trshhold، با هر بار زده شدن نبض، led موجود بر روی برد آردوینو روشن میشه.
سلام وقت بخیر
موقعی ک انگشتم رو روی سنسور قرار میدادم تشخیص نمیده در صورتی که در نرم افزار پروتئوس کار میکنه
چندین بار تست کردم ولی فایده نداشت!
سلام.
احتمالا یا سیمبندی به طور درست انجام نشده و یا مشکل از خود ماژول هست.
سلام وقت بخیر
سنسور به کار رفته در این ماژول دقیقا چه نوع سنسوری هست؟
سلام وقت شما هم بخیر
این ماژول از متد PPG یا حجم سنجی نوری استفاده میکند برای اندازه گیری ضربان در واقع شبیه پالس اکسی متر که با ارسال یه پالس نوری و سپس دریافت آن یه سری آنالیز ها انجام میشود که در این میان ضربان قلب قابل اندازه گیری است
برای اطلاعات تکمیلی تر میتونید لینک زیر رو مطالعه کنید
https://www.electroschematics.com/heart-rate-sensor/