- مطلوبہ اجزاء
- پلس سینسر SEN-11574
- پلس سینسر کے لئے سرکٹ ڈایاگرام PIC مائکروکونٹرولر کے ساتھ انٹرفیسنگ
- دل کی دھڑکن مانیٹر کے لئے PIC16F877A کوڈ کی وضاحت
دل کی دھڑکن کی شرح کسی بھی شخص کی صحت کی نگرانی کے لئے سب سے اہم پیرامیٹر ہے۔ پہننے کے قابل آلات کے جدید دور میں ، بہت سارے ایسے آلات موجود ہیں جو دل کی دھڑکن ، بلڈ پریشر ، قدموں ، جلانے والی کیلوری اور بہت سی دوسری چیزوں کی پیمائش کرسکتے ہیں۔ نبض کی شرح کو محسوس کرنے کے ل These ان آلات میں پلس سینسر ہوتا ہے۔ آج ، ہم پی آئی سی مائکروکنٹرولر کے ساتھ پلس سینسر بھی استعمال کریں گے تاکہ ہارٹ بیٹ فی منٹ اور انٹر بیٹ وقفہ گننے کے ل ، ، ان اقدار کو مزید 16x2 کردار LCD پر دکھایا جائے گا۔ ہم اس پروجیکٹ میں PIC16F877A PIC مائکروکنوٹرر استعمال کریں گے ۔ ہم پہلے ہی مریضوں کی نگرانی کے نظام کے ل A اردوینو کے ساتھ نبض سینسر کا انٹرفیس کر چکے ہیں۔
مطلوبہ اجزاء
- PIC16F877A مائکروکانٹرولر
- 20 میگاہرٹز کرسٹل
- 33 پی ایف کیپاکیسیٹر 2 پی سیز
- 4.7k ریزٹر 1 پی سیز
- 16x2 کریکٹر LCD
- LCD کے برعکس کنٹرول کے لئے 10K برتن
- SEN-11574 پلس سینسر
- ویلکرو پٹا
- 5V پاور اڈاپٹر
- بریڈ بورڈ اور ہک اپ تاروں
پلس سینسر SEN-11574
دل کی دھڑکن کی پیمائش کرنے کے لئے ہمیں پلس سینسر کی ضرورت ہے۔ یہاں ہم نے SEN-11574 پلس سینسر کا انتخاب کیا ہے جو آن لائن یا آف لائن اسٹور پر آسانی سے دستیاب ہے۔ ہم نے اس سینسر کا استعمال اس لئے کیا ہے کہ یہاں کارخانہ دار کی طرف سے فراہم کردہ نمونہ کوڈ موجود ہیں ، لیکن یہ ایک ارڈینو کوڈ ہے۔ ہم نے اس کوڈ کو اپنے PIC مائکروکینٹرولر کیلئے تبدیل کیا۔
سینسر واقعی چھوٹی اور پوری دھڑکن کو پورے کان بھر میں یا انگلی کی دہلی پر پڑھنے کے لئے بہترین ہے۔ یہ گول پی سی بی کی طرف سے 0.625 "قطر میں اور 0.125" موٹا ہے۔
یہ سینسر ینالاگ سگنل فراہم کرتا ہے اور سینسر 3V یا 5V کے ذریعہ چلایا جاسکتا ہے ، سینسر کی موجودہ کھپت 4 ایم اے ہے ، جو موبائل ایپلی کیشنز کے لئے بہت اچھا ہے۔ سینسر تین تار کے ساتھ 24 "لمبی ہک اپ کیبل اور آخر میں برگ مرد ہیڈر کے ساتھ آتا ہے۔ نیز ، سینسر ویلکرو فنگر پٹا کے ساتھ آتا ہے تاکہ اسے انگلی کے اوپر پہن سکے۔
پلس سینسر اسکیمیٹک بھی کارخانہ دار کے ذریعہ فراہم کیا جاتا ہے اور وہ سپارک فون ڈاٹ کام پر بھی دستیاب ہے۔
سینسر اسکیمیٹک آپٹیکل دل کی شرح سینسر ، شور منسوخی آر سی سرکٹری یا فلٹرز پر مشتمل ہوتا ہے ، جو اسکیمٹک آریگرام میں دیکھا جاسکتا ہے۔ R2 ، C2 ، C1 ، C3 اور ایک آپریشنل یمپلیفائر MCP6001 قابل اعتماد یمپلیفڈ ینالاگ آؤٹ پٹ کے لئے استعمال کیا جاتا ہے۔
دل کی دھڑکن کی نگرانی کے لئے کچھ دوسرے سینسر موجود ہیں لیکن SEN-11574 پلس سینسر الیکٹرانکس کے منصوبوں میں بڑے پیمانے پر استعمال ہوتا ہے۔
پلس سینسر کے لئے سرکٹ ڈایاگرام PIC مائکروکونٹرولر کے ساتھ انٹرفیسنگ
یہاں ہم نے مائکرو قابو پانے والے یونٹ کے 2 ون پن میں پلس سینسر کو مربوط کیا ہے ۔ چونکہ سینسر ینالاگ ڈیٹا فراہم کرتا ہے ، لہذا ہمیں ضروری حساب کتاب کرکے ینالاگ ڈیٹا کو ڈیجیٹل سگنل میں تبدیل کرنے کی ضرورت ہے۔
20Mhz کے کرسٹل oscillator دو سیرامک 33pF سندارتر ساتھ microcontroller کی یونٹ کے دو او ایس سی پنوں بھر سے منسلک ہے. LCD microcontroller کی کے آر بی پورٹ بھر سے منسلک ہے.
دل کی دھڑکن مانیٹر کے لئے PIC16F877A کوڈ کی وضاحت
کوڈ شروع کرنے والوں کے لئے تھوڑا سا پیچیدہ ہے۔ صنعت کار نے SEN-11574 سینسر کے لئے نمونہ کوڈ فراہم کیے ، لیکن یہ ارڈینو پلیٹ فارم کے لئے لکھا گیا تھا۔ ہمیں اپنے مائیکرو چیپ ، PIC16F877A کے لئے حساب کتاب میں تبدیل کرنے کی ضرورت ہے۔ اس پروجیکٹ کے آخر میں ایک مظاہرہ ویڈیو کے ساتھ مکمل کوڈ دیا گیا ہے ۔ اور معاون سی فائلوں کو یہاں سے ڈاؤن لوڈ کیا جاسکتا ہے۔
ہمارا کوڈ کا بہاؤ نسبتا آسان ہے اور ہم نے سوئچ کیس کا استعمال کرتے ہوئے اقدامات کیے ۔ کارخانہ دار کے مطابق ، ہمیں ہر 2 ملی سیکنڈ میں سینسر سے ڈیٹا حاصل کرنے کی ضرورت ہے۔ لہذا ، ہم نے ٹائمر مداخلت والی سروس معمول کا استعمال کیا جو ہر 2 ملی سیکنڈ میں ایک فنکشن شروع کردے گا۔
ہمارے کوڈ فلو میں سوئچ اسٹیٹمنٹ اس طرح چلا جائے گا:
مقدمہ 1: ADC پڑھیں
کیس 2: ہارٹ بیٹ اور آئی بی آئی کا حساب لگائیں
کیس 3: LCD پر دل کی دھڑکن اور IBI دکھائیں
کیس 4: آئیل (کچھ نہ کریں)
ٹائمر انٹراپٹ فنکشن کے اندر ، ہم پروگرام کی حالت کو کیس 1 میں تبدیل کرتے ہیں: ہر 2 ملی سیکنڈ پر اے ڈی سی پڑھیں۔
لہذا ، مرکزی تقریب میں ، ہم نے پروگرام کی حالت اور سوئچ کے تمام معاملات کی وضاحت کی۔
باطل اہم () _ system_init ()؛ مین_سٹریٹ = READ_ADC؛ جبکہ (1) { سوئچ (مین_سٹیٹ) { کیس READ_ADC: { adc_value = ADC_Read (0)؛ // 0 چینل نمبر ہے مین_سٹیٹ = CALCULATE_HEART_BEAT؛ توڑ } کیس CALCULATE_HEART_BEAT: { calculate_heart_beat (adc_value)؛ مین_سٹریٹ = SHOW_HEART_BEAT؛ توڑ } کیس SHOW_HEART_BEAT: { تو (QS == حقیقی) {// ایک دل کی دھڑکن پایا گیا // BPM اور IBI تعین کیا گیا ہے Arduino کے دل کی دھڑکن پائے جب // مقدار خود سچ "QS" QS جھوٹے =؛ // اگلی بار کے لئے Quanified خود پرچم ری سیٹ کریں // 0.9 بہتر ڈیٹا حاصل کرنے کے لئے استعمال کیا جاتا ہے۔ اصل میں استعمال نہیں کیا جانا چاہئے بی پی ایم = بی پی ایم * 0.9؛ IBI = IBI / 0.9؛ lcd_com (0x80)؛ lcd_puts ("بی پی ایم: -")؛ lcd_print_number (بی پی ایم)؛ lcd_com (0xC0)؛ lcd_puts ("IBI: -")؛ lcd_print_number (IBI)؛ } } main_state = بیکار؛ توڑ کیس IDLE: { توڑ؛ } طے شدہ: { } } } }
ہم PIC16F877A: ٹائمر0 اور ADC کے دو ہارڈ ویئر کے ذرات استعمال کررہے ہیں ۔
ٹائمر0 سی فائل کے اندر ،
TMR0 = (uint8_t) (tmr0_mask & (256 - ((2 * _XTAL_FREQ)) / (256 * 4)) / 1000)))؛
یہ حساب کتاب 2 ملی سیکنڈ ٹائمر مداخلت فراہم کررہا ہے۔ حساب کتاب کا فارمولا ہے
// ٹائمرکونٹ میکس - ((تاخیر (ایم ایس) * فوکس (ہرٹز)) / (پری اسکیل_وال * 4)) / 1000)
اگر ہم ٹائمر_ آئسسر کو دیکھیں تو ، یہ ہے-
باطل ٹائمر_آسر () { مین_ اسٹیٹ = READ_ADC؛ }
اس فنکشن میں پروگرام کی حالت کو ہر 2 منٹ میں READ_ADC میں تبدیل کردیا جاتا ہے۔
پھر CALCULATE_HEART_BEAT فنکشن اردوینو مثال کے کوڈ سے لیا گیا ہے۔
باطل کیلکولیٹ_حیرت_بیٹ (int adc_value) { سگنل = adc_value؛ نمونہ کاؤنٹر + = 2؛ // اس متغیر IN = نمونہ کاؤنٹر کے ساتھ ایم ایس میں وقت کا سراغ لگائیں - lastBeatTime؛ // شور سے بچنے کے ل the آخری دھڑکن کے بعد سے وقت کی نگرانی کریں // نبض کی لہر کی چوٹی اور گرت تلاش کریں اگر (سگنل <تھرش اینڈ اینڈ این> (آئی بی آئی / 5) * 3) {// 3/5 انتظار کرکے دختر شور سے بچیں آخری IBI اگر (سگنل <ٹی) {// T گرت ہے T = سگنل؛ // نبض کی لہر میں نچلے ترین مقام پر نظر رکھیں } } …………. ………………………..
مزید یہ کہ مکمل کوڈ ذیل میں دیا گیا ہے اور تبصرے کے ذریعہ اس کی وضاحت کی گئی ہے۔ اس دل کی دھڑکن سینسر کا ڈیٹا کلاؤڈ پر مزید اپلوڈ کیا جاسکتا ہے اور کہیں سے بھی انٹرنیٹ پر نگرانی کی جاسکتی ہے ، جس کی وجہ سے یہ آئی او ٹی پر مبنی ہارٹ بیٹ مانیٹرنگ سسٹم بناتا ہے ، مزید معلومات کے ل the لنک پر عمل کریں۔
اس پی آئی سی پلس سینسر پروجیکٹ کے لئے معاون سی فائلوں کو یہاں سے ڈاؤن لوڈ کریں۔